TypeScript, Security, and Type Juggling with Ariel Shulman & Liran Tal - JSJ 679

TypeScript, Security, and Type Juggling with Ariel Shulman & Liran Tal - JSJ 679

In this episode, we dove headfirst into the swirling waters of TypeScript, its real-world use cases, and where it starts to fall short—especially when it comes to security. Joining us from sunny Tel Aviv (and a slightly cooler Portland), we had the brilliant Ariel Shulman and security advocate Liran Tal bring the heat on everything from type safety to runtime vulnerabilities.


We started off with a friendly debate: Has TypeScript really taken over the world? Our verdict? Pretty much. Whether it’s starter projects, enterprise codebases, or AI-generated snippets, TypeScript has become the de facto standard. But as we quickly found out, that doesn’t mean it’s perfect.


Key Takeaways:
-TypeScript ≠ Security
We tend to trust TypeScript a bit too much. It’s a build-time tool, not a runtime enforcer. As Liran pointed out, “TypeScript is not a security tool,” and treating it like one leads to dangerous assumptions.
-Type Juggling is Real (and Sneaky)
We explored how something as innocent as using as string on request data can open the door to vulnerabilities like HTTP parameter pollution and prototype pollution. Just because your IDE is happy doesn’t mean your runtime is.
-Enter Zod – Runtime Type Checking to the Rescue?
Zod got some love for bridging the dev-time/runtime gap by validating data on the fly and inferring TypeScript types. But even Zod isn’t foolproof. For example, unless you're using .strict(), extra fields can sneak past your validations, leading to mass assignment bugs.
-Common Developer Fallacies
We discussed the misplaced confidence developers have in things like code coverage and TypeScript alone. One of the big takeaways: defense in depth matters. Just like testing, layering your security practices (like using Zod, type guards, and proper sanitization) is key.
-TypeScript Best Practices Are Evolving
From discriminated unions to avoiding any, from using Maps over plain objects to prevent prototype pollution—TypeScript developers are adapting. And tools like modern Node.js now support type stripping, which makes working with .ts files at runtime a bit easier.


Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Episoder(738)

Don't Let These Things Keep You From Podcasting - BONUS

Don't Let These Things Keep You From Podcasting - BONUS

Charles talks about the things that get developers stuck when they're trying to start their podcast or other influencer channel. He explains how to get around having those things hamper your journey.P...

29 Apr 202115min

Data Oriented Programming with Yehonathan Sharvit - JSJ 481

Data Oriented Programming with Yehonathan Sharvit - JSJ 481

Yehonathan Sharvit joins the Jabber crew to discuss Data Oriented Programming. Data Oriented Programming is a way to reduce complexity by managing the shape of the data before we send it over the wire...

27 Apr 20211h

BONUS: Relationships Matter Most

BONUS: Relationships Matter Most

Charles Max Wood talks about how to build, grow, and benefit from positive relationships within programming. He talks about how he's built genuine positive relationships with hundreds of programmers a...

23 Apr 202119min

JSJ 480: Are Micro Frontends worth the effort? (And if so when?)

JSJ 480: Are Micro Frontends worth the effort? (And if so when?)

Micro frontends are the topic of discussion again, this time with Grgur Grisogono, Principal Consultant at Modus Create and co-author of the Manning book "Ext JS in Action". In particular, Grgur expla...

20 Apr 20211h 14min

BONUS: How Opportunities Come Your Way When You're an Influencer

BONUS: How Opportunities Come Your Way When You're an Influencer

Charles Max Wood discusses several opportunities that came his way early in his podcasting career and other opportunities that have come to other people after only a couple of podcast episodes. He exp...

16 Apr 202120min

JSJ 479: Practical Microservices with Ethan Garofolo

JSJ 479: Practical Microservices with Ethan Garofolo

Ethan Garofolo is the author of Practical Microservices with Pragmatic Programmers. He starts out debunking the ideas behind pulling parts of a monolith into a different services and change function c...

13 Apr 20211h 17min

BONUS: What is Charles Max Wood's Biggest Payoff for Being a Dev Influencer?

BONUS: What is Charles Max Wood's Biggest Payoff for Being a Dev Influencer?

Charles Max Wood started podcasting because it sounded fun and because he wanted to talk about technology. He learned pretty quickly that it got him access to people who understood the things he wante...

9 Apr 202131min

JSJ 478: Browser Standards Rampage: Can We Have Nice Things?

JSJ 478: Browser Standards Rampage: Can We Have Nice Things?

The infamous Jake Archibald, member of the Chrome Team, an author of the Service Worker spec, and host of the HTTP 203 Podcast takes us on a whirlwind tour of recent and upcoming browser standards inc...

6 Apr 20211h 25min

Populært innen Business og økonomi

stopp-verden
lydartikler-fra-aftenposten
dine-penger-pengeradet
rss-penger-polser-og-politikk
e24-podden
rss-borsmorgen-okonominyhetene
livet-pa-veien-med-jan-erik-larssen
finansredaksjonen
pengepodden-2
pengesnakk
utbytte
tid-er-penger-en-podcast-med-peter-warren
morgenkaffen-med-finansavisen
rss-sunn-okonomi
stormkast-med-valebrokk-stordalen
lederpodden
rss-markedspuls-2
liberal-halvtime
rss-politisk-preik
lederskap-nhhs-podkast-om-ledelse