Skip to main content
CF

Python Web Security: OWASP Top 10 with Agentic AI Course

5h 28m 28s
English
Paid
Added to CourseFlix

Python Web Security: OWASP Top 10 with Agentic AI Course is a 126-lesson 5 hours 28 minutes self-paced course by Talk Python Training. For a long time, web application security remained a field where in-depth code audits required expensive pentesting specialists.

Course facts

Lessons
126
Duration
5 hours 28 minutes
Language
English
Added to CourseFlix
October 2026
Instructor
Talk Python Training
Price
Premium

For a long time, web application security remained a field where in-depth code audits required expensive pentesting specialists. But with the development of agent-based AI, the situation is changing.

A recent example is a study by Mozilla, in which Claude analyzed the JavaScript runtime of Firefox and discovered over 100 vulnerabilities, including 14 severe enough to receive a CVE. This approach can now also be applied to your own Python web applications.

This course shows how to systematically search for and eliminate vulnerabilities in Python applications using the OWASP Top 10 2025 and agent-based AI. First, you will thoroughly examine all ten OWASP categories with real vulnerable and corrected examples for Flask, Django, and FastAPI. Then, you will create your own AI agent, Security Lead, based on Claude Code, specifically tailored for auditing Python and SaaS applications.

In the final part, the agent will be applied to three real open-source projects — Apache Superset, Paperless-ngx, and Kibitzr. You will see a complete audit process: from finding potential issues to analyzing discovered vulnerabilities, fixing them, and forming a prioritized task list.

What Makes This Course Special

  • Up-to-date OWASP Top 10 2025 — analysis of the new version of the standard, including the newly introduced category of Mishandling of Exceptional Conditions.
  • Your own AI auditing agent — you will create a Security Lead that you can use in future projects.
  • Real open-source audits — analysis of Apache Superset, Paperless-ngx, and Kibitzr is conducted directly on real codebases.
  • Vulnerable and corrected code — for each category, you will see what the problem looks like, why it is dangerous, and how to correctly fix it.
  • Flask, Django, and FastAPI — the same classes of vulnerabilities are considered using examples from three popular Python frameworks.
  • Focus on SaaS and multi-tenancy — special attention is paid to IDOR, user data isolation, and preventing tenant data leaks.
  • Agentic AI instead of "vibe coding" — you will learn to use an AI agent as a systematic security assistant rather than just asking it to "find bugs".
  • Cost control — explores how much auditing a large codebase might cost and how to make expenses predictable.
  • Modern Python security toolbox — Argon2, MultiFernet, slowapi, loguru, pip-audit, Have I Been Pwned, and other tools.
  • Responsible use of AI — you will learn how to correctly use AI audits and why you should not automatically send low-quality AI-generated PRs to open-source project developers.

What You Will Learn

After completing the course, you will be able to:

  • find and fix all categories of OWASP Top 10 2025 vulnerabilities in Python web applications;
  • identify Broken Access Control, including IDOR, path traversal, and lack of function-level access checks;
  • safely configure Docker Compose, Django, and HTTP security headers;
  • protect Python dependencies from supply chain attacks using uv pip compile and pip-audit;
  • integrate dependency checks into CI/CD and Docker builds;
  • use Argon2 instead of weak password hashing algorithms;
  • safely rotate encryption keys using MultiFernet without application downtime;
  • protect against SQL injection, NoSQL injection, and stored XSS;
  • use parameterized queries and proper template escaping;
  • apply server-side validation with Pydantic;
  • implement rate limiting and protection against account enumeration;
  • create secure password policies with checking compromised passwords through Have I Been Pwned;
  • build a secure password reset flow without user enumeration;
  • prevent mass-assignment attacks with strict serialization;
  • safely work with third-party JavaScript and CSS dependencies;
  • implement structured security audit logging;
  • set up automatic alerts for suspicious activity;
  • correctly handle exceptions without revealing internal application details to the user;
  • use SQLAlchemy transaction context managers to prevent partially executed operations;
  • audit multi-tenant SaaS applications for data leaks between users;
  • create your own Claude Code agents tailored to a specific stack and threat model;
  • connect official OWASP materials to the AI agent so it relies on verified sources;
  • conduct a full agentic security audit of any Python codebase;
  • turn audit results into a prioritized fix plan;
  • use AI to fix vulnerabilities while maintaining a clear audit trail;
  • evaluate and control the cost of AI audits.

Course Program

Introduction and Tool Setup

Get acquainted with the course structure, install Claude Code and VS Code, set up the necessary tools, and prepare the source code for practical tasks.

OWASP #1 — Broken Access Control

Discussion of IDOR, path traversal, and missing function-level access checks. Practical examples are explored in FastAPI, Flask, and Django.

OWASP #2 — Security Misconfiguration

Setup of Docker Compose, Django settings, and HTTP security headers, including HSTS, X-Frame-Options, and Content Security Policy.

OWASP #3 — Software Supply Chain Failures

Protection of Python dependencies using uv pip compile, preventing installation of potentially compromised packages, and integration of pip-audit into CI and Docker builds.

OWASP #4 — Cryptographic Failures

Transition from fast and insecure hashing algorithms to Argon2, secure secret storage, and encryption key rotation using MultiFernet.

OWASP #5 — Injection

Protection against SQL injection, NoSQL injection in MongoDB/PyMongo, and stored XSS in Jinja templates. Learn how to use parameterized queries and proper data escaping.

OWASP #6 — Insecure Design

Implementation of rate limiting and account blocking using slowapi. Server-side business rule validation with Pydantic is discussed separately.

OWASP #7 — Authentication Failures

Creation of a robust password policy, checking compromised passwords, protection against account enumeration, and secure implementation of a password reset without determining account existence.

OWASP #8 — Software or Data Integrity Failures

Protection against mass-assignment attacks, strict configuration of serializer fields, and preference for hosting JavaScript and CSS on owned infrastructure over unreliable external CDNs.

OWASP #9 — Logging and Alerting Failures

Creation of structured security audit logging using loguru and setting up alerts for credential stuffing and other suspicious activities.

OWASP #10 — Mishandling of Exceptional Conditions

Secure error handling: return minimal information to the user, while full context is stored on the server with a traceable reference ID. Also discusses using SQLAlchemy transaction context managers to prevent partially executed operations.

Creating Security Lead — Security AI Agent

In the second part of the course, you will create a complete Security Lead — a specialized Claude Code agent of about 550 lines, configured for auditing Python and SaaS applications.

The agent will be capable of:

  • conducting OWASP-focused audits;
  • checking user data isolation;
  • analyzing authentication and authorization;
  • verifying security logging;
  • generating a structured report;
  • referencing canonical OWASP sources;
  • highlighting the most critical issues;
  • helping turn analysis results into a concrete fix plan.

The main idea is not to just run AI on a project once, but to create a repeatable security process that can be applied to every new codebase.

Practical Audits of Real Projects

After creating the Security Lead agent, it will be tested on three real open-source applications.

Kibitzr

Audit of an older Python tool for website monitoring. The analysis examines real issues, including the potential for invisible SMTP TLS downgrade, unlimited HTTP response size, and lack of timeout protection.

Apache Superset

Full-scale audit of the large Apache project. Security Lead analyzes the security of JWT guest tokens, logging of failed login attempts, and handling of CSV exports.

Paperless-ngx

Audit of a popular document management system. The analysis discovers an issue with an unsigned pickle in Redis cache, followed by fixing it using the existing security mechanisms of the project.

Who This Course Is For

The course is suitable for:

  • Python developers creating production applications in Flask, Django, or FastAPI;
  • SaaS founders and indie hackers needing to securely isolate data between different users;
  • Senior developers and Tech Leads who need a systematic approach to security review;
  • developers of legacy Python applications that haven't undergone a full-scale security audit in a long time;
  • professionals who need to document security practices for compliance processes;
  • developers already actively using AI tools wanting to apply them not only for coding but also for professional security review.

Conclusion

The course combines two important areas: practical security of Python web applications and agent-based artificial intelligence.

You will not only study the OWASP Top 10 as a theoretical list of vulnerabilities. You will learn to find real problems in the code, understand the attack mechanism, apply safe fixes, and automate a significant portion of the process using your own AI agent.

As a result, you will have not only an understanding of modern threats to Python applications but also a ready-made Security Lead that can be used for regular audits of your own projects and codebases.

Who teaches Python Web Security: OWASP Top 10 with Agentic AI Course? Talk Python Training

Talk Python Training thumbnail

Talk Python Training is the paid course platform of Michael Kennedy, the host of the long-running Talk Python To Me podcast — one of the most-listened-to podcasts in the Python ecosystem. The course platform extends Michael's interview-based knowledge of the field into structured video courses taught by Michael and a curated set of guest instructors.

The course catalog covers the full Python landscape: web development with Django, Flask, FastAPI, and the broader async-Python stack; data science and pandas; LLM / RAG application development; testing and CI/CD; deployment patterns; the data-engineering side of Python; and a long list of practical Python patterns aimed at working developers. Few platforms cover the language with this much breadth from inside the Python community itself.

The CourseFlix listing under this source carries over 18 Talk Python Training courses spanning that range. Material is paid; Talk Python Training runs on per-course pricing on the original platform. Courses are aimed at developers using Python as a serious primary language rather than as a scripting tool.

What lessons are included in Python Web Security: OWASP Top 10 with Agentic AI Course?

This is a demo lesson (10:00 remaining)

Watch the first 10 minutes free. One payment unlocks all 126 lessons here and every other premium course. No auto-renew.

Watch all 126 lessons from $6.67/mo
0:00
/
#1: Welcome to the course
All Course Lessons (126)
#Lesson TitleDurationAccess
1
Welcome to the course Demo
03:21
2
The OWASP Top 10 explained
01:15
3
Claude Code and agentic AI
02:38
4
Meet your instructor
01:19
5
Installing your tools
04:26
6
The presentation tools
01:49
7
Getting the source code
01:21
8
How we'll study each vulnerability
01:43
9
Introducing broken access control
03:54
10
IDOR- The scenario
02:07
11
IDOR- Why it's dangerous
01:45
12
IDOR- Vulnerable version
02:17
13
IDOR- Secure version
02:35
14
Path traversal- The scenario
01:05
15
Path traversal- Why it's dangerous
01:23
16
Path traversal- Vulnerable version
02:50
17
Path traversal- Secure version
02:00
18
Missing function-level auth- The scenario
00:48
19
Missing function-level auth- Why it's dangerous
00:55
20
Missing function-level auth- Vulnerable version
01:22
21
Missing function-level auth- Secure version
01:46
22
Introducing security misconfiguration
02:12
23
Docker defaults- The scenario
03:13
24
Docker defaults- Why it's dangerous
01:32
25
Docker defaults- Vulnerable version
01:36
26
Docker defaults- Secure version
02:28
27
Debug mode in production- The scenario
01:31
28
Debug mode in production- Why it's dangerous
01:32
29
Debug mode in production- Vulnerable version
01:10
30
Debug mode in production- Secure version
02:03
31
Missing security headers- The scenario
01:11
32
Missing security headers- Why it's dangerous
01:29
33
Missing security headers- Vulnerable version
01:14
34
Missing security headers- Secure version
02:00
35
Introducing supply chain failures
02:03
36
Unpinned dependencies- The scenario
01:16
37
Unpinned dependencies- Why it's dangerous
01:36
38
Unpinned dependencies- Vulnerable version
00:37
39
Unpinned dependencies- Secure version
02:16
40
Known vulnerabilities- The scenario
01:27
41
Known vulnerabilities- Why it's dangerous
01:21
42
Known vulnerabilities- Fixing vulnerable dependencies
04:08
43
Introducing cryptographic failures
02:01
44
Weak password hashing- The scenario
01:05
45
Weak password hashing- Why it's dangerous
01:30
46
Weak password hashing- Vulnerable version
00:54
47
Weak password hashing- Secure version
01:34
48
Hard-coded keys- The scenario
01:09
49
Hard-coded keys- Why it's dangerous
01:44
50
Hard-coded keys- Vulnerable version
00:41
51
Hard-coded keys- Secure version
02:26
52
SQL injection- The scenario
01:29
53
SQL injection- Why it's dangerous
01:13
54
SQL injection- Vulnerable version
02:09
55
SQL injection- Secure version
00:47
56
NoSQL injection too
01:25
57
XSS- The scenario
01:39
58
XSS- Why it's dangerous
01:40
59
XSS- Vulnerable version
00:48
60
XSS- Secure version
01:00
61
XSS- Secure version (continued)
00:53
62
Introducing insecure design
01:48
63
No rate limiting- The scenario
02:15
64
No rate limiting- Why it's dangerous
01:41
65
No rate limiting- Vulnerable version
00:56
66
No rate limiting- Secure version
02:40
67
Client-side only enforcement- The scenario
01:55
68
Client-side only enforcement- Why it's dangerous
00:59
69
Client-side only enforcement- Vulnerable version
01:30
70
Introducing authentication failures
01:57
71
Weak password policies- The scenario
01:17
72
Weak password policies- Why it's dangerous
00:54
73
Weak password policies- Vulnerable version
01:27
74
Weak password policies- Secure version
03:28
75
Insecure password reset- The scenario
01:18
76
Insecure password reset- Why it's dangerous
01:18
77
Insecure password reset- Vulnerable version
01:55
78
Insecure password reset- Secure version
02:37
79
Introducing integrity failures
00:33
80
Mass assignment- The scenario
02:05
81
Mass assignment- Why it's dangerous
00:42
82
Mass assignment- Vulnerable version
01:14
83
Mass assignment- Secure version
00:52
84
Untrusted CDNs- The scenario
01:46
85
Untrusted CDNs- Why it's dangerous
01:04
86
Untrusted CDNs- Vulnerable version
01:18
87
Untrusted CDNs- Secure version
03:39
88
Introducing logging and alerting failures
00:36
89
No auth logging- The scenario
01:18
90
No auth logging- Why it's dangerous
01:00
91
No auth logging- Vulnerable version
01:40
92
No auth logging- Secure version
02:27
93
No monitoring- The scenario
01:27
94
No monitoring- Why it's dangerous
00:44
95
No monitoring- Vulnerable version
01:07
96
No monitoring- Secure version
02:19
97
Introducing mishandling of exceptional conditions
00:47
98
Verbose error messages- The scenario
01:50
99
Verbose error messages- Why it's dangerous
00:59
100
Verbose error messages- Vulnerable version
01:07
101
Verbose error messages- Secure version
01:46
102
Missing transactions- The scenario
01:57
103
Missing transactions- Why it's dangerous
00:31
104
Missing transactions- Vulnerable version
01:29
105
Missing transactions- Secure version
03:08
106
Why 13 markdown files matter
02:14
107
Meet the security lead
01:22
108
Core components of the security lead agent
05:25
109
The security lead markdown file
05:19
110
Choosing our target applications
05:42
111
Setting up the projects
02:33
112
Setting up Kibitzr
05:05
113
Analyzing Kibitzr with our agent
13:14
114
Reviewing the security report
13:30
115
Fixing the SMTP TLS issue
08:10
116
Fixing tier 1 issues 2, 3, and 4
15:16
117
Analyzing Superset with our agent
05:43
118
Analysis complete
02:40
119
Reviewing the security report_2
11:25
120
The hardening launch list
02:51
121
Reviewing the logging overview
06:38
122
Adding the guest JWT check feature
08:45
123
Analyzing the Paperless-ngx Project
05:28
124
Running a Security Review on Paperless-ngx
13:32
125
Fixing the RCE from Unsafe Redis Pickle Deserialization
06:12
126
Lightning Review
11:23
Watch the other 125 lessons

One payment unlocks this course and every other premium course. No auto-renew.

See plans

What courses are similar to Python Web Security: OWASP Top 10 with Agentic AI Course?

More courses by Talk Python Training

Frequently asked questions

How much Python and web development should I know before starting?
You'll get more out of the course if you're comfortable reading Python and have some experience with web applications. The examples use Flask, Django, and FastAPI, so familiarity with a Python web framework will help you follow the security decisions. You don't need to arrive knowing every OWASP category: the course explains vulnerabilities through a scenario, the unsafe code, and a corrected version. That said, the focus is security rather than learning Python from scratch.
Will I actually build an AI auditing agent, or just watch one being used?
You'll create a security-auditing agent called Security Lead using Claude Code, rather than only watch a ready-made tool produce findings. It's tailored to reviewing Python and SaaS applications, with the intention that you can use it on future projects. You'll also see it applied to Apache Superset, Paperless-ngx, and Kibitzr. Those audits follow potential issues through analysis and fixes, then turn the findings into a prioritized task list.
Is this useful if I develop web apps but don't work in security?
Yes—the practical focus makes it relevant if you write or maintain Python web applications and want to understand where security problems come from. You'll examine issues such as missing authorization checks, unsafe dependency choices, and weak password hashing through vulnerable and corrected code. The AI-auditing portion is also relevant if you want to review an existing application more systematically, rather than only learn what each vulnerability means in isolation.
How far does this go beyond explaining the OWASP Top 10?
You won't stop at definitions. For individual vulnerabilities, you'll work through the situation that creates the problem, why it matters, and the difference between vulnerable and corrected code. The course addresses all ten categories in the 2025 OWASP version, including mishandling of exceptional conditions. It then shifts into agent-assisted auditing of real open-source projects, connecting the security concepts to finding issues, evaluating them, making fixes, and deciding what needs attention first.
Would this replace a general penetration-testing course?
Not if you're looking for broad penetration-testing training. The focus here is Python web application code, OWASP vulnerabilities, and an AI-assisted audit workflow built around Claude Code. You'll examine application flaws and their fixes, then see audits of existing projects. Don't choose it expecting a general tour of network attacks, operating-system exploitation, or a wide range of pentesting tools; those aren't established parts of the course.
How much time should I set aside to get through it?
Expect 5 hours and 28 minutes of video across 126 lessons. That's the viewing time, not a fixed estimate for completing the practical work. If you pause to inspect the vulnerable and corrected examples, set up the tools, or build the auditing agent alongside the demonstrations, you'll need additional time. There's no supported total for that extra work, so leave room beyond the video runtime rather than treating it as a single five-and-a-half-hour session.
What could I take back to my own projects afterward?
You'll have examples to draw on when reviewing authorization, configuration, dependencies, cryptography, and injection risks in Python web code. The vulnerable-versus-corrected comparisons can help you recognize similar mistakes in your own applications. You'll also have the Security Lead agent you create and a model for moving from a suspected issue to analysis, a fix, and a prioritized task. That gives you a workflow to apply, rather than just a set of vulnerability names to remember.