Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add EresusSecurity/appsec-skills --skill eresus-python-auditgit clone --depth 1 https://github.com/EresusSecurity/appsec-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/eresussecurity/appsec-skills/eresus-python-audit)<a href="https://agentmods.dev/skills/eresussecurity/appsec-skills/eresus-python-audit"><img src="https://agentmods.dev/badge/skills/eresussecurity/appsec-skills/eresus-python-audit/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/eresussecurity/appsec-skills/eresus-python-audit"><img src="https://agentmods.dev/badge/skills/eresussecurity/appsec-skills/eresus-python-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00101 | $0.02752 |
| Opus 5.5 | $0.00040 | $0.01101 |
| Sonnet 5.5 | $0.00020 | $0.00550 |
| Haiku 4.5 | $0.00010 | $0.00275 |
Grade A, and why
eresus-python-audit scanned grade A with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
| B113 | `request_without_timeout` | Medium | `requests.get/post()` without `timeout=` parameter — DoS via hang | Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
| B602 | `subprocess_popen_with_shell_equals_true` | High | `subprocess.Popen(cmd, shell=True)` — command injection | How it starts
The opening of the file, as written. The whole thing — 236 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python Security Audit
Purpose
Perform a comprehensive, depth-first security audit of Python codebases. This skill provides the complete knowledge of Bandit's 50+ security checks, organized by category and severity, plus framework-specific patterns for Django, Flask, FastAPI, and emerging ML/AI attack surfaces.
Use view_file and grep_search exclusively. No terminal commands.
Audit Workflow
Phase 1: Reconnaissance
- Identify the Python framework in use (Django, Flask, FastAPI, Tornado, aiohttp, raw stdlib)
- Check
requirements.txt/pyproject.toml/Pipfilefor dangerous dependencies - Map entry points: URL routes, CLI commands, message consumers, scheduled tasks
- Identify configuration files and secrets management approach
Phase 2: Systematic Check — By Category
Work through each category below. For each check, use grep_search to find all instances,
then view_file to trace the data flow and confirm exploitability.
B1xx — Miscellaneous Checks
| ID | Name | Severity | What to Search |
|---|---|---|---|
| B101 | assert_used |
Low | assert statements used for security checks (removed with -O flag) |
| B102 | exec_used |
Medium | exec() calls — trace if input is user-controlled |
| B103 | set_bad_file_permissions |
Medium | os.chmod() with overly permissive modes (0o777, 0o666) |
| B104 | hardcoded_bind_all_interfaces |
Medium | Binding to 0.0.0.0 — exposes service on all interfaces |
| B105 | hardcoded_password_string |
Low | Strings assigned to variables named password, secret, key, token |
| B106 | hardcoded_password_funcarg |
Low | Password-like strings passed as function arguments |
| B107 | hardcoded_password_default |
Low | Default parameter values containing password-like strings |
| B108 | hardcoded_tmp_directory |
Low | Hardcoded /tmp paths — race conditions, symlink attacks |
| B109 | password_config_option_not_marked_secret |
Low | Config options with password/secret that aren't marked as sensitive |
| B110 | try_except_pass |
Low | except: pass — silently swallowing errors including security exceptions |
| B111 | execute_with_run_as_root_equals_true |
Medium | Functions called with run_as_root=True |
| B112 | try_except_continue |
Low | except: continue — same problem as B110 |
| B113 | request_without_timeout |
Medium | requests.get/post() without timeout= parameter — DoS via hang |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 236 lines · 101 tokens per session scan A f2ec06c4c21c
eresus-python-audit is a skill published in the GitHub repository EresusSecurity/appsec-skills (7 stars, last pushed 6mo ago), licensed Apache-2.0. It adds 101 tokens to every session and 2,752 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 2 findings (makes network calls, runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
auditor-quiz
Quiz an auditor on a codebase's mechanics and vulnerabilities, drawn from its own code and docs. Use to test understanding before or during a review.
sast-businesslogic
Detect business logic vulnerabilities in a codebase using a three-phase approach: threat modeling (domain analysis and attack scenarios), batched verify (check exploitable gaps in parallel subagents, 3 scenarios each), and merge (consolidate batch results). Covers price manipulation, workflow bypass, limit violations…
secure-code-review
Performs a structured security code review against OWASP ASVS 4.0.3 verification requirements and CWE Top 25. Auto-invoked on pull request reviews, when code touching authentication, authorization, cryptography, or input handling is shared. Produces findings mapped to ASVS controls and CWE identifiers with severity…
architecture-reviewer
Reviews application architecture for scalability, coupling, separation-of-concerns, and maintainability issues. Use for system-level review, not individual file/function-level code review.
dependency-auditor
Reviews package dependencies for unnecessary packages, outdated or risky patterns, duplication, and licensing/maintenance risk. Use when a dependency manifest has grown unchecked or before adding a new dependency.
security-auditor
Analyzes code and implementations for common security weaknesses and unsafe practices - injection, auth flaws, secrets handling, unsafe deserialization, and access control. Use before shipping anything handling user input, auth, or sensitive data.