In this special episode of Breaking Badness, we reunite with cybersecurity expert Tanya Janca to discuss her latest book, Alice and Bob Learn Secure Coding. Tanya brings her signature blend of expertise, humor, and real-world experience to explore why security is often overlooked in software development—and what needs to change.
We explore:
Tanya also shares fascinating personal experiences—from detecting a Christmas Day
cyberattack to navigating plagiarism in the cybersecurity world.
Get Tanya's book here: https://shehackspurple.ca/books/
One of the standout moments in the conversation is Tanya’s analogy comparing zero-trust security to how panthers operate in the wild.
“Panthers are zero trust. If they see another panther, they’re like, ‘We’re going to make a baby panther, or I’m going to kill you.’”
Unlike humans, who instinctively trust each other (and our software systems) without questioning, panthers assume danger at every turn. Tanya emphasizes that the same level of skepticism should be applied in software design.
Instead of blindly assuming APIs, front-end interfaces, and external data sources are secure, developers should validate every step:
A major theme of the episode is how organizations approach security fixes. Tanya highlights a common misconception: that security can always be “patched” after release.
"We can’t just patch our way out of bad security habits."
She introduces the concept of "reachability analysis", which helps teams determine if a security vulnerability actually poses a risk. Instead of updating every dependency blindly, developers should:
Tanya also calls out a systemic issue in software development: developers aren’t rewarded for prioritizing security.
“Developers get promoted for shipping features, not for fixing security bugs. So what do you think they’re going to focus on?”
She argues that the corporate culture in many companies incentivizes risky behavior:
To change this, security teams need to align security goals with business priorities. Some ideas include:
Before wrapping up, Tanya shares one critical takeaway for developers:
"If you learn only one thing, it should be to validate everything before you proceed with the rest of the logic in your app."
Security starts with questioning assumptions and proactively defending against threats. By integrating secure coding from the start, developers can:
That’s about all we have for this week, you can find us on Mastodon and Twitter/X @domaintools, all of the articles mentioned in our podcast will always be included on our podcast recap. Catch us Wednesdays at 9 AM Pacific time when we publish our next podcast and blog.
*A special thanks to John Roderick for our incredible podcast music!