Skip to content
Melo Podcasts Home
CategoriesLanguagesFollowing

Season 1, Episode 6 · DevSec Station

Vibe Coding, Copilots, and Security Drift

1 Jul 2026 · 7 min

Play episode WhatsApp Download

Episode notes

AI coding assistants can help developers move incredibly fast. But this new speed comes with a new challenge: security drift. This episode is sponsored by Maze. In this episode of DevSec Station, Tanya Janca explores how tools like GitHub Copilot, ChatGPT, Cursor, and other AI coding assistants can unintentionally change the security assumptions your software was built on. You'll learn what security drift is, why it happens so quietly, and how to keep the benefits of AI-assisted development w...

Transcript

Read the transcript · about 1,060 words, follows along as you listen

SPEAKER_00:Let's talk about vibe coding for a second. You know the feeling. The code is flowing, the tests are passing, you and your AI assistant are on a roll. And then six weeks later, you're staring at the code thinking, why did we do it that way? That feeling that you are feeling, that's called security drift. Hi, I'm Tanya Jenka, also known as SheHacksPurple. Welcome to DevSecStation, a podcast for software developers who want to build more secure software.

SPEAKER_00:In each episode, I'll share a short practical lesson about secure coding, software security, and how to build safer systems without slowing development down. You can jump in at any episode, at any time. No homework required. This episode is sponsored by MAISE. One of the biggest problems in security right now is that every vulnerability or cloud scanner says everything is critical, and honestly, no one has time for that. MAZES uses AI agents to investigate vulnerabilities in context, so you can focus on the issues that are actually exploitable in your environment and not just theoretically scary.

SPEAKER_00:Their AI agents also generate and prioritize fixes that knock out multiple vulnerabilities at once, which is honestly the kind of scaling that security teams really need right now. Learn more about maze at mazehq.com slash devsec. If you use Copilot, ChatGPT, Cursor, or any AI-powered coding assistant, even occasionally, this episode is for you. I want to pause for a second and define what I mean by security drift because clarity is kindness and important.

SPEAKER_00:Security drift is when software keeps functioning, but the security assumptions it was built on slowly change, without anyone explicitly choosing to change them. So the code still works, nothing's actually obviously broken, but the protections that you thought were there aren't quite the same anymore. And this doesn't come from bad decisions, this comes from convenience. AI assistants are very good at helping you move fast, but they are terrible at knowing your threat model.

SPEAKER_00:They optimize for what compiles, what looks idiomatic, and what they've seen before. They do not optimize for your environment, your data sensitivity, or your risk tolerance. Essentially, they don't have any context. And that's a very normal scenario where this can happen. So imagine this: you ask your assistant to generate a helper function. It gives you something that works. Great. Later, you ask it to extend that logic and it copies a pattern from earlier.

SPEAKER_00:Then someone else asks it to refactor a file and it removes a check because it looks like it's redundant. No one made a conscious decision to weaken security. It just drifted. The code still works, the tests still pass, but the authentication logic is just a little bit thinner, the validation is just a little bit looser. Maybe some of the logging disappeared. This is not necessarily an AI problem, but it is definitely a workflow problem. How do we avoid this?

SPEAKER_00:The bad, but unfortunately, very common approach that I see is treating AI-generated code as correct by default. It looks clean, it compiles, it feels professional. I'm sure it's good. But AI is extremely confident even when it's wrong. And confidence does not ensure security. A better approach is reviewing AI-generated code the same way you'd review code from a teammate. And this helps. But it still assumes that reviewers remember to look for security issues every time while they're trying to move fast.

SPEAKER_00:And this is where drift could potentially sneak in. The best approach is not reviewing harder, it's constraining the patterns AI is allowed to introduce. So what I mean by that is you explicitly decide which security-sensitive patterns are acceptable and you make everything else harder for it to use. In practice, this looks like a few very specific things. So you keep one or two known good examples of how your team does authentication, authorization, validation, or secret handling.

SPEAKER_00:You treat those examples as the source of truth and you expect the AI-generated code to always match them. If the code does not match, it does not get merged. Not because it's bad, but it's inconsistent. And wherever possible, you back all this up with automation. So feed all of those good examples into a reg server or add it to your prompts that you work with every day. Then you add on top of that tests, linters, or static analysis that double-check those patterns so humans don't have to remember them every single time.

SPEAKER_00:When AI is forced to stay inside a known pattern, it stops making security decisions on your behalf that you're not necessarily aware of. And that's how we get speed without getting security drift. If you do just one thing after this episode, please do this. Pick one place where AI writes code for you and add a guardrail. There's a manageable way that you can do this. Step one, identify where AI shows up in your workflows. Is it generating functions, tests, configurations, infrastructure as code?

SPEAKER_00:Whatever it's doing. Step two, pick one security-sensitive area. Authentication, authorization, input validation, secret handling sensitive data, your choice. Step three, make a rule. AI can suggest code here, but it must be reviewed against a known secure pattern. So this could be an internal code example, a checklist item in your PR template, or a simple comment such as, was this written by an AI? If yes, was security explicitly reviewed? Step four, if you can, automate all of it.

SPEAKER_00:Use a reg server, prompts, lint rules, tests, static analysis, anything that can help you catch drift. And just to be clear, we are not banning AI. We are protecting the security assumptions that your system depends on every day. Vibcoding's not bad. But speed without boundaries allows for subtle, quiet, unnoticeable changes that aren't always good. When you add secure guardrails, you keep the speed and the security. That's not us slowing down, that's us maturing.

SPEAKER_00:Thanks for listening to DevSecStation. If you enjoyed this episode, please subscribe, share it with a friend, or leave a review. It helps more people discover the show. If you'd like to learn more, I'm Tanya Jenka, also known as SheHacksPurple. And I teach secure coding training for software developers. You can find me online at shehackspurple.ca. Thank you for being here.

Transcript supplied by the publisher with the episode.

Podcast

DevSec Station

Tanya Janca | SheHacksPurple · Tech & Science · English

DevSec Station is a security focused podcast for software developers who want to create amazing applications. Hosted by Tanya Janca, also known as SheHacksPurple, these short lessons will help you level up.

More from DevSec Station All episodes →

  1. S1 · E11 · 9 Sep 2026 · 7 min

    Threat Modeling for Developers (How To)

    Threat modeling has a reputation for being complicated, full of diagrams, and requiring long meetings. In reality, most developers already do it, they just don't realize it. The difference is that doing it intentionally helps you catch security problems before they become security incidents. This episode is sponsored by Maze. In this episode of DevSec Station, Tanya Janca breaks threat modeling down into a simple five-step process that any developer can use while designing a feature. You'll l...

  2. 26 Aug 2026 · 9 min

    How to Do Secure Code Review (When You’re Not a Security Expert)

    Secure code review isn't about finding obscure vulnerabilities or thinking like an elite hacker. It's about verifying that the security controls your application depends on are actually present, in the right place, and correctly implemented. This episode is sponsored by Maze. In this episode of DevSec Station, Tanya Janca explains how developers can perform effective secure code reviews without being security experts. You'll learn what security controls to look for, how trust boundaries help ...

  3. S1 · E9 · 12 Aug 2026 · 8 min

    The Most Common Secure Coding Mistakes Good Devs Make

    Security bugs aren't usually caused by 'bad developers'. More often, they're the result of good developers making rational decisions under deadlines, competing priorities, and imperfect systems. This episode is sponsored by Maze. In this episode of DevSec Station, Tanya Janca explores why common secure coding mistakes are often incentive problems rather than knowledge problems. You'll learn why insecure patterns emerge, why simply telling developers to "be more careful" doesn't work, and how ...

  4. S1 · E8 · 29 Jul 2026 · 7 min

    Secure Defaults Beat Secure Training

    Security training has its place. But if training alone solved security problems, we wouldn't keep seeing the same vulnerabilities appear over and over again. The real problem usually isn't that developers don't know what to do; it's that the easiest path is often an insecure one. This episode is sponsored by Maze. In this episode of DevSec Station, Tanya Janca explains why secure defaults are one of the most effective security controls you can implement, why relying on memory and willpower ra...

  5. S1 · E7 · 15 Jul 2026 · 6 min

    Why Current Security Tools Fail Developers

    Security tools are supposed to help developers build safer software. But sometimes it seems like they create more frustration than security. This episode is sponsored by Maze. In this episode of DevSec Station, Tanya Janca explains why many security tools overwhelm developers with alerts, how alert fatigue erodes trust, and why "more findings" doesn't mean "more security." You'll learn how to tune your classic AppSec tools so they surface meaningful issues instead of creating noise that every...

  6. S1 · E5 · 18 Jun 2026 · 7 min

    Secrets Management: Stop Playing Whack-a-Mole

    If you've ever committed an API key, password, token, certificate, or other secret to a repository, you're not alone. Most secret leaks don't happen because developers don't care about security. They happen because the easiest place to put a secret is inside the code that uses it. This episode is sponsored by Maze. In this episode of DevSec Station, Tanya Janca explains why secrets leak, why "just be careful" isn't an effective security strategy, and how developers can stop playing whack-a-mo...

  7. S1 · E4 · 4 Jun 2026 · 7 min

    Supply Chain Is More Than Just Dependencies

    Most developers think software supply chain security starts and ends with dependencies. But modern supply chain attacks don't stop there. Attackers look for paths into your software, and those paths often run through developers, CI/CD systems, build tools, deployment pipelines, and other trusted parts of the software delivery process. This episode is sponsored by Maze. In this episode of DevSec Station, Tanya Janca explains why the software supply chain is much bigger than libraries and pac...

  8. S1 · E3 · 21 May 2026 · 8 min

    Malicious Dependencies Aren’t an Accident

    Malicious dependencies are not accidents. They are often intentionally designed to look trustworthy so developers install them without hesitation. In this episode of DevSec Station, Tanya Janca explains how attackers use typosquatting, dependency confusion, fake packages, and even AI-generated recommendations to compromise developer environments and steal credentials. This episode is sponsored by Maze. You’ll learn: • how malicious packages trick developers • why dependency attacks work...

  9. S1 · 22 Apr 2026 · 2 min

    NPM Supply Chain Attack: Active Worm Stealing Tokens, SSH Keys, and Credentials

    🚨 Emergency DevSec Station update. There’s an active npm supply chain attack happening right now. Malicious npm packages are running install scripts that quietly steal: • SSH keys • AWS credentials • GitHub tokens • Browser passwords • Crypto wallets From there, the attack uses your npm publish token to spread into every package you maintain. That’s how this turns into a worm across the npm ecosystem. This is not theoretical. It’s already in the wild. 👉 Immediate...

  10. S1 · E2 · 14 Apr 2026 · 10 min

    How Modern Supply Chain Attacks Really Happen (Step-by-Step Breakdown for Developers)

    What if a supply chain attack didn’t start with a complex exploit… but something completely normal? A typo. A copy-paste. Even an AI suggestion. In this episode, Tanya Janca breaks down how modern supply chain attacks actually happen inside everyday developer workflows. These attacks aren’t one big moment. They’re a series of small, reasonable decisions that quietly introduce risk. You’ll learn: • Why supply chain attacks are a process, not a single event • How attacke...

Take it with you

The Melo app keeps playing with the screen off, works in the car and on your watch, wakes you to your station, and browses the whole catalogue offline. Free, no ads, no account.

Get it on Google Play