Skip to main content
Software Engineering Daily

Blocking Software Supply Chain Attacks with Feross Aboukhadijeh

47 min episode · 2 min read
·
Feross Aboukhadijeh

Episode

47 min

Read time

2 min

Topics

Startups, Leadership, Artificial Intelligence

AI-Generated Summary

Key Takeaways

  • Lock file implementation: Use package manager lock files to freeze exact dependency versions across the entire tree, not just direct dependencies. Pinning only direct dependencies leaves transitive dependencies vulnerable to pulling latest malicious versions at install time.
  • Detection timeline problem: Research shows malicious packages remain undetected for 200+ days on average before community discovery. Attackers exploit the false assumption that open source code gets vetted by others, when shockingly few developers actually review dependency source code before installation.
  • Install script exploitation: NPM install scripts automatically execute code during package installation and appear in nearly all malware attacks. PNPM now restricts these by default, requiring explicit user permission since legitimate uses are rare enough to warrant manual approval without significant friction.
  • AI hallucination attacks: Large language models hallucinate nonexistent package names when generating code. Attackers run LLMs repeatedly to collect these hallucinated names, then register them on package registries to achieve remote code execution when AI tools install the fake dependencies.

What It Covers

Feross Aboukhadijeh, founder of Socket, discusses open source supply chain attacks where malicious actors compromise popular packages to spread malware. He covers detection methods, security practices, and how attackers exploit dependencies downloaded millions of times weekly.

Key Questions Answered

  • Lock file implementation: Use package manager lock files to freeze exact dependency versions across the entire tree, not just direct dependencies. Pinning only direct dependencies leaves transitive dependencies vulnerable to pulling latest malicious versions at install time.
  • Detection timeline problem: Research shows malicious packages remain undetected for 200+ days on average before community discovery. Attackers exploit the false assumption that open source code gets vetted by others, when shockingly few developers actually review dependency source code before installation.
  • Install script exploitation: NPM install scripts automatically execute code during package installation and appear in nearly all malware attacks. PNPM now restricts these by default, requiring explicit user permission since legitimate uses are rare enough to warrant manual approval without significant friction.
  • AI hallucination attacks: Large language models hallucinate nonexistent package names when generating code. Attackers run LLMs repeatedly to collect these hallucinated names, then register them on package registries to achieve remote code execution when AI tools install the fake dependencies.

Notable Moment

A malicious maintainer gained trust in the EventStream package, made legitimate contributions for thirty days, then inserted obfuscated code targeting one specific Electron app to steal cryptocurrency. The attack only surfaced when Node deprecated a crypto function the attacker used.

Know someone who'd find this useful?

Episode Transcript

Modern software relies heavily on open source dependencies, often pulling in thousands of packages maintained by developers all over the world. This accelerates innovation but also creates serious supply chain risks as attackers increasingly compromise popular libraries to spread malware at scale. Faraz Abu Khadija is the founder and CEO of Socket, which is a security platform designed to protect software projects from open source supply chain attacks. In this episode, he joins Josh Goldberg to talk about his career in open source, open source supply chain attacks, practical security lessons, the expanding attack surface and software development, and more. This episode is hosted by Josh Goldberg, an independent full time open source developer. Josh works on projects in the TypeScript ecosystem, most notably TypeScript ESLint, a powerful static analysis toolset for JavaScript and TypeScript. He is also the author of The O'Reilly Learning TypeScript book, a Microsoft MVP for developer technologies and a cofounder of SquiggleConf, a conference for excellent web developer tooling. Find Josh on Blue Sky, fostidon,and.com as Joshua k Goldberg. Faraz, Abuka DJ, welcome to Software Engineering Daily. Thanks, Josh. Glad to be here. We're excited to have you. You have been in and around open source and general security practices for quite a while. Before we dive into you and socket, can you tell us how did you get into coding? Yeah. I got into coding when I was in high school. I wanted to build a website to collect my favorite Flash animations. So I was kind of born in the era of Newgrounds and e bombs world and albino black sheep and just all these kind of I don't know if folks remember these or if they're too young. I don't know the audience of this show, but, yeah, I always thought those things were fun and I wanted to kind of collect them all and put them onto one website. So I did a lot of downloading of those SWF files from other people's sites and then rehosting them on my own page. And I had to learn PHP to do that and MySQL, and so that was kinda my first foray. And then you went into Stanford for computer science after that? I mean, yes. I did go to Stanford to study CS. My high school didn't have a CS class, so I kind of was, you know, just self taught with PHP up until that point. But learning CS at Stanford was amazing. A lot of the other majors at Stanford, they don't necessarily emphasize teaching well, but that's one thing that the computer science department really stands out in. They have just like a ton of support, like other undergraduates actually are your TAs and like help teach you. And so I learned a ton. I remember my first class I took there, it was using C plus plus and I remember like my first reaction was, how does the computer know that these words are variables if they …

Get the full transcript (10,562 words) + summary by email — free

One-time email with the complete transcript and AI summary of this episode. No account needed.

One email, no spam. We’ll also show you what SignalCast does.

Browse all Software Engineering Daily transcripts →

You just read a 3-minute summary of a 44-minute episode.

Get Software Engineering Daily summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

Books, tools, and gear mentioned in this episode

SignalCast may earn commission on purchases via these links.

Tools

  • PNPM now restricts these by default, requiring explicit user permission since legitimate uses are rare enough to warrant manual approval without significant friction.

company

  • SocketBy guest
    Feross Aboukhadijeh, founder of Socket, discusses open source supply chain attacks where malicious actors compromise popular packages to spread malware.

More from Software Engineering Daily

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

Explore Related Topics

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

Read this week's Startups & Product Podcast Insights — cross-podcast analysis updated weekly.

You're clearly into Software Engineering Daily.

Every Monday, we deliver AI summaries of the latest episodes from Software Engineering Daily and 192+ other podcasts. Free for one show.

Start My Monday Digest

No credit card · Unsubscribe anytime