Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Module overview

In this section, you learn how Python internal works from a security point of view. This module explores Python security threats and attack surfaces, including common risks, threat actors targeting Python applications, and the unique attack surface of the Python ecosystem.

The Importance of Python Software

Python is the most widely used programming language worldwide, valued for its readable syntax and extensive ecosystem. Its accessibility makes it suitable for a broad audience, from occasional programmers and academic researchers to professional developers.

Python plays a central role in modern computing. It powers some of the world’s largest websites and web applications, and serves as a key driver of advances in artificial intelligence and machine learning. Its comprehensive libraries and adaptability have established it as a standard tool across scientific research and data-intensive disciplines. Python software fuels all AI applications and provides the essential infrastructure for developing them — frameworks like PyTorch being prime examples.

Why security testing on Python programs

Almost all software is under attack today, yet many organisations remain unprepared in their defence. Every day, news emerges of computer systems being breached, frequently through vulnerabilities within the software itself. Insecure software can lead to:

The consequences do not end there. Any of these failures can result in significant real-world losses, costing money, time, and trust—and in extreme cases, even lives.

While security testing is crucial for protection, testing Python-based software for security defects requires specialised knowledge. Most security testers lack in-depth education on the specific Python nuances essential for performing effective security evaluations.

In today’s digital world, cybersecurity remains a critical concern. This applies equally to using or creating Python software: preventing vulnerabilities starts with a solid architecture, but even well-written code—including AI-generated code—is not secure by default. Validating Python code for potential vulnerabilities is therefore essential, whether you are writing your own programs or relying on code developed by others.