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)

JSJ 334: “Web Performance API” with Dan Shappir

JSJ 334: “Web Performance API” with Dan Shappir

Panel: Aimee KnightCharles Max WoodChristopher Ferdinandi (Boston) Special Guests: Dan Shappir (Tel Aviv)In this episode, the panel talks with Dan Shappir who is a computer software developer and perf...

9 Okt 20181h 8min

JSJ 333: “JavaScript 2018: Things You Need to Know, and a Few You Can Skip” with Ethan Brown

JSJ 333: “JavaScript 2018: Things You Need to Know, and a Few You Can Skip” with Ethan Brown

Panel: Aimee KnightJoe EamesCharles Max Wood Special Guests: Ethan Brown In this episode, the panel talks with Ethan Brown who is a technological director at a small company. They write software to fa...

2 Okt 201823min

JSJ 332: “You Learned JavaScript, Now What?” with Chris Heilmann

JSJ 332: “You Learned JavaScript, Now What?” with Chris Heilmann

Panel: AJ O’NealAimee KnightJoe EamesCharles Max Wood Special Guests: Chris Heilmann In this episode, the panel talks with programmer, Chris Heilmann. He has written books about JavaScript, in additio...

25 Sep 20181h 14min

JSJ 331: “An Overview of JavaScript Testing in 2018” with Vitali Zaidman

JSJ 331: “An Overview of JavaScript Testing in 2018” with Vitali Zaidman

Panel: - https://twitter.com/coolaj86?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor- http://www.aimeemarieknight.com- https://twitter.com/josepheames?ref_src=twsrc%255Egoogle%257Ctw...

18 Sep 201855min

JSJ 330: “AWS: Amplify” with Nader Dabit

JSJ 330: “AWS: Amplify” with Nader Dabit

Panel: - AJ O’Neal- Aimee Knight- Joe Eames Special Guests: http://naderdabit.me/#/ In this episode, the panel talks with programmer, Nader Dabit, who has been with Amazon’s AWS for the past six month...

11 Sep 20181h 4min

JSJ 329: Promises, Promise.finally(), and Async/await with Valeri Karpov

JSJ 329: Promises, Promise.finally(), and Async/await with Valeri Karpov

Panel: Charles Max WoodAJ O’NealAimee Knight Special Guests: Valeri Karpov In this episode, the panel talks with programmer, Valerie Karpov from Miami, Florida. He is quite knowledgeable with many dif...

4 Sep 201846min

JSJ 328: Functional Programming with Ramda with Christine Legge

JSJ 328: Functional Programming with Ramda with Christine Legge

Panel: Joe EamesAimee KnightAJ O'NealJoe Eames Special Guests: Christine LeggeIn this episode, the JavaScript Jabber panel talks to Christine Legge about functional programming with Ramda. Christine i...

28 Aug 201855min

JSJ 327: "Greenlock and LetsEncrypt" with AJ O'Neal

JSJ 327: "Greenlock and LetsEncrypt" with AJ O'Neal

Panel:Charles Max WoodJoe Eames Special Guests: AJ O'NealIn this episode, the JavaScript Jabber panel talks to AJ O'Neal about Greenlock and LetsEncrypt. LetsEncrypt is a brand name and is the first o...

21 Aug 201855min

Populært innen Business og økonomi

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