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)

Unraveling the CSS Revolution, Podcast Growth Tactics, and More - JSJ 600

Unraveling the CSS Revolution, Podcast Growth Tactics, and More - JSJ 600

Robbie Wagner and Charles Carpenter from "Whiskey Web and Whatnot" join this week's episode, featuring some exciting updates in the world of web development. CSS enthusiasts will be thrilled to hear a...

26 Sep 20231h 21min

Redwood JS in Action with Tom Preston-Werner - JSJ 599

Redwood JS in Action with Tom Preston-Werner - JSJ 599

Tom Preston-Werner is the Cofounder at Preston-Werner Ventures. They dive into the world of React, Redwood JS, and the evolving landscape of JavaScript development. They discuss the importance of keep...

19 Sep 20231h 32min

Exploring the True Measure of User Experience: Core Web Vitals & Beyond - JSJ 598

Exploring the True Measure of User Experience: Core Web Vitals & Beyond - JSJ 598

Barry Pollard is the Web Performance Developer Advocate on Google Chrome. They dive into the world of website performance metrics and the complexities surrounding them. From the confusion around relia...

12 Sep 20231h 31min

What if your JavaScript Validations Looked like Tests? - JSJ 597

What if your JavaScript Validations Looked like Tests? - JSJ 597

Evyatar Alush is a Frontend Engineer at Meta. He joins the show to talk about Vest. It is a declarative validation framework. He begins by explaining Vest, how it works, its features, what it can offe...

5 Sep 20231h 16min

Is JavaScript on the Backend a Mistake? - JSJ 596

Is JavaScript on the Backend a Mistake? - JSJ 596

Lane Wagner is the Founder of Boot.Dev. They delve into the world of JavaScript and backend development. They also share their experiences with API gateways and provide insights into both positive and...

29 Aug 20231h 33min

Why Should You Get Into The Web3 World - JSJ 595

Why Should You Get Into The Web3 World - JSJ 595

Julien Klepatch is the CEO and founder of EatTheBlocks. He joins the show to talk about Web3. He begins by sharing his past experiences and how he became a Software Developer. Additionally, he explain...

22 Aug 20231h 20min

The Evolution of Qwik - JSJ 594

The Evolution of Qwik - JSJ 594

Jack Herrington is a Principal Software Engineer. Misko Hevery is the Chief Technology Officer at Builder.io. They join the show to talk about "Qwik v1.0". Misko takes the lead as he shares its exciti...

15 Aug 20231h 19min

Introducing The B2B SaaS Starter Kit - JSJ 593

Introducing The B2B SaaS Starter Kit - JSJ 593

Andrei Soroker is the CEO of Fogbender. Yaroslav Lapin is a Senior Software Engineer at Fogbender. They join the show to talk about the "B2B SaaS Starter Kit". It is an instructional bundle for assemb...

8 Aug 20231h 26min

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
pengepodden-2
tid-er-penger-en-podcast-med-peter-warren
pengesnakk
utbytte
rss-sunn-okonomi
finansredaksjonen
morgenkaffen-med-finansavisen
lederpodden
rss-markedspuls-2
lederskap-nhhs-podkast-om-ledelse
stormkast-med-valebrokk-stordalen
liberal-halvtime
arcticpodden