#545: OWASP Top 10 (2025 List) for Python Devs

Talk Python To Me1h 6mApril 16, 2026

Get the full intelligence

Search transcripts, export clips, track mentions, and explore all topics from β€œ#545: OWASP Top 10 (2025 List) for Python Devs” inside PodZeus.

AI-Generated Summary

In this episode of Talk Python to Me, host Michael Kennedy welcomes back Tanya Janka, a leading figure in application security and OWASP Top 10 contributor, to discuss the newly released 2025 OWASP Top 10 list with a strong focus on Python developers. Tanya walks through the updated top 10 risks, emphasizing major shifts such as the expansion of 'Software Supply Chain Failures' to include developer-targeted attacks and malicious dependencies, and the introduction of 'Mishandling of Exceptional Conditions' as a new top 10 item. She highlights how AI-generated code often lacks security best practices due to training on low-quality code, and introduces her free 'Secure Code Prompt Library' to help developers generate and review secure code. The episode also covers practical Python-specific examples, including Django misconfigurations, insecure access control, and the dangers of debug mode in production. Tanya stresses the importance of secure defaults, checklists, and proactive security design over reactive fixes, while advocating for broader awareness and community involvement through OWASP chapters and resources. Key takeaways include: 1) Prioritize secure defaults and developer experience to reduce cognitive load and encourage secure behavior; 2) Use tools like pip-compile and UV to pin dependencies and manage supply chain risks; 3) Always validate input and enforce access control on the server side, not just the frontend; 4) Never run debug mode in production, and always configure security headers like HSTS and Content Security Policy; 5) Use AI responsibly by prompting for security assumptions and running code reviews with secure prompts; 6) Implement proper logging and alerting for security events to enable incident investigation; 7) Adopt a layered defense strategy with multiple security controls; 8) Engage with OWASP resources like cheat sheets and local chapters to stay informed and contribute to a more secure software ecosystem.

Key Takeaways
1

Prioritize secure defaults and developer experience to reduce cognitive load and encourage secure behavior

2

Use tools like pip-compile and UV to pin dependencies and manage supply chain risks

3

Always validate input and enforce access control on the server side, not just the frontend

4

Never run debug mode in production, and always configure security headers like HSTS and Content Security Policy

5

Use AI responsibly by prompting for security assumptions and running code reviews with secure prompts

…and 3 more takeaways available in PodZeus

Chapters
0:00
10 min

Introducing the 2025 OWASP Top 10 and Tanya Janka's Journey

β€œThe thing that we're absolutely most famous for is called the OWASP Top 10. And I volunteered in Norway at the OWASP booth at a conference because I gave a talk and then I had nothing else to do. And every person that walked by went top 10. That's awesome.”

Highlight
10:00
10 min

The Evolution of Supply Chain Security and Developer Targeting

β€œIf you get SQL injection in one app, you got into one database and maybe you could read sensitive data. If that database was completely unpatched in a total terrible mess, then maybe you could take over that server. Then if your network's totally not secure and crappy, which is not exactly that common... But you compromise a senior developer, right? And so, yeah, I was really glad when the team agreed that we would do this and then the community supported it. So I was like, yes. win.”

Highlight
20:00
10 min

Broken Access Control and Configuration Mismanagement

β€œI literally did this yesterday, Michael, because someone was like, hey, go get this file from there. And then I go in the folder and it's not there. Like the link wasn't correct. So I just went through the web directory. with that. Like, but they wanted to send me the files. So just to be clear, like, like they sent me and told me to go get it. I wasn't stealing anything. And I didn't end up eventually finding it either. So then they had to send me another link that was correct.”

Highlight
30:00
10 min

Cryptographic Failures, Injection, and Insecure Design

Tanya covers cryptographic failures, injection attacks (including SQL and MongoDB injection), and the new 'Insecure Design' category. She stresses the importance of proper password hashing with salt and pepper, using modern algorithms like Argon2, and the critical need for input validation. She introduces the concept of 'insecure design' as a failure to apply security principles during the planning phase, even when code is implemented correctly.

40:00
10 min

Authentication Failures, Integrity, and Logging

The episode explores authentication failures, software/data integrity failures, and the critical importance of logging and alerting. Tanya warns against custom authentication and emphasizes multi-factor authentication with adaptive risk-based challenges. She discusses the silent danger of integrity failures, using CDN compromises and SolarWinds as examples, and highlights how poor logging can prevent incident investigation and legal action.

High-Impact Quotes
β€œThe AI I think everyone knows is not creating great code. And the reason is it was trained. on not great code. Most code out there is not great code. The code specifically it used was demos, examples, things on GitHub, publicly available demos where there's no security team involved, right? So like if you went and scanned the code inside Microsoft that makes the Microsoft products, you better believe it, that'd probably be pretty darn good code versus some random crap Tanya did five years ago that's on her GitHub. That might be really crappy or it might even be intentionally vulnerable, right? And it doesn't know. And so as a result, we have this thing that's trained that security just it's optional, it's low priority and it's missing.”
β€” Tanya Jankaβ€’59:52
Viral: 95.0
β€œIf you get SQL injection in one app, you got into one database and maybe you could read sensitive data. If that database was completely unpatched in a total terrible mess, then maybe you could take over that server. Then if your network's totally not secure and crappy, which is not exactly that common... But you compromise a senior developer, right? And so, yeah, I was really glad when the team agreed that we would do this and then the community supported it. So I was like, yes. win.”
β€” Tanya Jankaβ€’25:26
Viral: 90.0
β€œWe need to protect the whole thing. And like we were saying earlier, developers themselves are becoming targets and malicious actors. We need to find ways to defend the developer themselves, protect them, make them safer doing their jobs, right? And help them find ways to secure the whole supply chain that's not too painful because they still need flexibility in order to be creative.”
β€” Tanya Jankaβ€’33:56
Viral: 80.0
Speakers

Host

Michael Kennedy

Guest

Tanya Janka
Topics Discussed
OWASP Top 10 202595%Software Supply Chain Security90%Access Control and Authorization85%AI and Secure Coding85%Python Security Best Practices80%Developer Security and Awareness75%Insecure Design75%Error Handling and Resilience70%
People & Brands

OWASP

organization

22xPositive

Michael Kennedy

person

18xPositive

Tanya Janka

person

15xPositive

Django

other

6xNeutral

Secure Code Prompt Library

other

5xPositive

Temporal

organization

4xPositive

Claude

other

4xNeutral

Canada

place

4xPositive

UV

product

3xPositive

Agentic AI Programming for Python Developers

other

3xPositive

Get the full intelligence

Search transcripts, export clips, track mentions, and explore all topics from β€œ#545: OWASP Top 10 (2025 List) for Python Devs” inside PodZeus.

Start discovering podcast insights today

Start with a 7-day trial and explore a growing catalog of popular podcasts. No credit card required.

No credit card required β€’ 7-day trial β€’ Cancel anytime