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.

Avsnitt(738)

JSJ 287: Blockchain and JS with Ari Lerner

JSJ 287: Blockchain and JS with Ari Lerner

Panel:Aimee KnightAJ O’NealCharles Max WoodSpecial Guests: Ari LernerIn this episode, Java Script Jabbers speak with Ari Lerner. Ari is the author of NG Book: The Complete Book on AugularJS, Full Stac...

14 Nov 201757min

JSJ 286: Creating a CSS-in-JS Library from Scratch and Emotion with Kye Hohenberger

JSJ 286: Creating a CSS-in-JS Library from Scratch and Emotion with Kye Hohenberger

Panel:Amiee KnightCharles Max WoodSpecial Guests: Kye HohenbergerIn this episode, JavaScript Jabbers speak with Kye Hohenberger. Kye is a developer and co-founder of Side Way. One of Kye’s most notabl...

8 Nov 201750min

JSJ 285 : Finding a Job Even If You're Not a Senior Developer by Charles Max Wood

JSJ 285 : Finding a Job Even If You're Not a Senior Developer by Charles Max Wood

Panel:Charles Max WoodIn this episode of JavaScript Jabber, Charles does a solo episode talking about entrepreneurship and the topic/course on “How to Get a Job.” This is an informative episode for th...

1 Nov 201746min

JSJ 284 : Helping Developers Build Healthy Bodies

JSJ 284 : Helping Developers Build Healthy Bodies

Panel: Amiee KnightCharles Max WoodSpecial Guests: JC HiattIn this episode, JavaScript Jabbers speak with JC Hiatt. JC is a software consultant, and working a starting a company called DevLifts. DevLi...

25 Okt 201757min

JSJ BONUS: Cloud Services and Manifold with Matthew Creager and Peter Cho

JSJ BONUS: Cloud Services and Manifold with Matthew Creager and Peter Cho

Panel:Amiee KnightCharles Max WoodJoe EamesSpecial Guests: Matthew Creager and Peter ChoIn this episode, JavaScript Jabbers speak with Matthew Ceager and Peter Cho. Matthew and Peter are part of the t...

18 Okt 201746min

JSJ 283:  A/B Testing with Nick Disabato

JSJ 283: A/B Testing with Nick Disabato

Panel:Aimee KnightCharles Max WoodSpecial Guests: Nick DisabatoIn this episode, Java Script Jabbers talk with Nick Disabato. Nick is a newbie to JavaScript Jabber. Nick is the founder of Draft, an int...

17 Okt 201742min

JSJ 282: Trails.js with Scott Wyatt

JSJ 282: Trails.js with Scott Wyatt

Panel:Joe EamesAimee KnightCharles Max WoodCory HouseSpecial Guests: Scott WyattIn this episode, JavaScript Jabbers talk with Scott Wyatt. Scott is the Co-founder, CTO, UEX at Cali StyleTechnologies, ...

10 Okt 201745min

JSJ 281: CodeSponsor - Sustaining Open-Source Software through Ethical Advertising with Eric Berry

JSJ 281: CodeSponsor - Sustaining Open-Source Software through Ethical Advertising with Eric Berry

Panel: Aimee KnightAJ O'NealCharles Max Wood Guest: Eric BerryThis week on Ruby Rogues, we interview our very own, Eric Berry, to talk about the sustainability of open-source projects through ethical ...

2 Okt 20171h 1min

Populärt inom Business & ekonomi

framgangspodden
badfluence
varvet
rss-jossan-nina
rss-svart-marknad
rss-borsens-finest
uppgang-och-fall
rss-dagen-med-di
avanzapodden
lastbilspodden
rss-inga-dumma-fragor-om-pengar
rss-kort-lang-analyspodden-fran-di
fill-or-kill
bathina-en-podcast
bilar-med-sladd
borsmorgon
market-makers
24fragor
dynastin
svd-tech-brief