Connect your Claude, Codex or OpenClaw for full transcripts on millions of podcasts. Two week free trial, cancel anytime.

Start free trial →
EO Erik Onarheim Erik Onarheim Software developer in Minneapolis who created Excalibur, an open source game engine for the web.

“A lot of security vulnerabilities in application code have similar shapes, and they're very hyper local usually. The ones that are tough to catch are state across time or state across threads. Those are really hard for humans because we just don't think that way. And the agents are really good at being like, oh, this is a thing that could happen.”

TypeScript.fm - The Friendly Show for TypeScript Developers · Hands-On Engineering Podcasts · October 2026

“A lot of security vulnerabilities in application code have similar shapes, and they're very hyper local usually. The ones that are tough to catch are state across time or state across threads. Those are really hard for humans because we just don't think that way. And the agents are really good at being like, oh, this is a thing that could happen.” — Erik Onarheim, TypeScript.fm - The Friendly Show for TypeScript Developers

Context

Kamran had said he now uses AI agents to security-review his own app. Erik explains why agents suit this: the bugs humans miss most are about timing and concurrency, which pattern-matching agents are good at spotting.

Transcript

TypeScript.fm - The Friendly Show for TypeScript Developers Around 59:17 into the episode
Erik Onarheim

…the PHP right now. So like I don't envy them. So all of the eyes are drawn there because everyone's looking now, looking for similar things. So if you had like one type of problem somewhere, odds are there's more. So that's what security researchers like to do. Yeah. Just like they start looking.

Kamran Ayub

…a really obvious kind of issue. But the thing is, is that it's not just your code. It's all your dependencies too. Right. So like .NET, when the .NET security update came out this week, I immediately rebuilt all my images to get the latest runtime because the runtime patches the Brotley problem.

Erik Onarheim

Yep. And this is another area where I think agents are going to be super useful. And that's this code review static analysis space where because it's pattern matching activity and a lot of security vulnerabilities in at least an application code have similar shapes. So it's really easy and they're very hyper local usually. I think the things that are tough to catch vulnerabilities that are state across time or state across threads. Those are still very hard. And agents do a great job about finding those. Those are really hard for humans because we just don't think that way. And the agents are really good at being like, oh, this is a thing that could happen. Right. You know, and it's weird pattern match. So like as far as like static analysis tooling for like security problems, I think it's extremely useful for finding stuff.

Kamran Ayub

The thing that resonates with me in his post, well, first of all, he says like, it's sad, right? It's like, he's saying, when I was a kid, we called up BBSs, those bulletin board systems that were hosted in people's homes. When I was in high school, we downloaded music from public FTP addresses.…

Erik Onarheim

And it's totally deterministic. And deterministic,

Kamran Ayub

yes. I mean, I used Claude to Vibe code and build it, but once it's out there, I don't have to change it. Don't have to maintain it.

Speaker names come from our own diarization. The position is estimated from where the line sits in the episode.

More from TypeScript.fm - The Friendly Show for TypeScript Developers