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 agentmods add rules/abderrahimghazali/cursor-rules/python-vulnerable-outdated-componentsgit clone --depth 1 https://github.com/abderrahimghazali/cursor-rulesWhat 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 | $0.00000 | $0.02880 |
| Opus 5 | $0.00000 | $0.01440 |
| Sonnet 5 | $0.00000 | $0.00576 |
| Haiku 4.5 | $0.00000 | $0.00288 |
Grade A, and why
python-vulnerable-outdated-components scanned grade A with 1 finding 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 yesterday.
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.
- pattern: "from\\s+xml\\.etree\\.ElementTree\\s+import\\s+.*parse|from\\s+urllib2\\s+import|from\\s+urllib\\s+import\\s+urlopen|import\\s+cgi|import\\s+imp" How it starts
The opening of the file, as written. The whole thing — 251 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python Vulnerable and Outdated Components Standards (OWASP A06:2021)
This rule enforces security best practices to prevent vulnerabilities related to outdated dependencies and components in Python applications, as defined in OWASP Top 10:2021-A06.
actions:
-
type: enforce conditions:
Pattern 1: Unpinned dependencies in requirements files
- pattern: "^(django|flask|fastapi|requests|cryptography|pyyaml|sqlalchemy|celery|numpy|pandas|pillow|tensorflow|torch|boto3|psycopg2)\s*$" file_pattern: "requirements.*\.txt$|setup\.py$|pyproject\.toml$" message: "Unpinned dependency detected. Always pin dependencies to specific versions to prevent automatic updates to potentially vulnerable versions."
Pattern 2: Outdated/vulnerable Django versions
- pattern: "django([<>=]=|~=|==)\s*["']?(1\.|2\.[0-2]\.|3\.[0-2]\.|4\.0\.)[0-9]+["']?" message: "Potentially outdated Django version detected. Consider upgrading to the latest stable version with security updates."
Pattern 3: Outdated/vulnerable Flask versions
- pattern: "flask([<>=]=|~=|==)\s*["']?(0\.|1\.[0-3]\.|2\.0\.[0-3])[0-9]*["']?" message: "Potentially outdated Flask version detected. Consider upgrading to the latest stable version with security updates."
Pattern 4: Outdated/vulnerable Requests versions
- pattern: "requests([<>=]=|~=|==)\s*["']?(0\.|1\.|2\.[0-2][0-5]\.[0-9]+)["']?" message: "Potentially outdated Requests version detected. Consider upgrading to the latest stable version with security updates."
Pattern 5: Outdated/vulnerable Cryptography versions
- pattern: "cryptography([<>=]=|~=|==)\s*["']?(0\.|1\.|2\.|3\.[0-3]\.|3\.4\.[0-7])[0-9]*["']?" message: "Potentially outdated Cryptography version detected. Consider upgrading to the latest stable version with security updates."
Pattern 6: Outdated/vulnerable PyYAML versions
- pattern: "pyyaml([<>=]=|~=|==)\s*["']?(0\.|1\.|2\.|3\.|4\.|5\.[0-5]\.[0-9]+)["']?" message: "Potentially outdated PyYAML version detected. Consider upgrading to the latest stable version with security updates."
Pattern 7: Outdated/vulnerable Pillow versions
- pattern: "pillow([<>=]=|~=|==)\s*["']?(0\.|1\.|2\.|3\.|4\.|5\.|6\.|7\.|8\.[0-3]\.[0-9]+)["']?" message: "Potentially outdated Pillow version detected. Consider upgrading to the latest stable version with security updates."
Pattern 8: Direct imports of deprecated modules
- pattern: "from\s+xml\.etree\.ElementTree\s+import\s+.*parse|from\s+urllib2\s+import|from\s+urllib\s+import\s+urlopen|import\s+cgi|import\s+imp" message: "Use of deprecated or insecure module detected. Consider using more secure alternatives."
Pattern 9: Use of deprecated functions
- pattern: "\.set_password\([^)]*\)|hashlib\.md5\(|hashlib\.sha1\(|random\.random\(|random\.randrange\(|random\.randint\(" message: "Use of deprecated or insecure function detected. Consider using more secure alternatives."
Pattern 10: Insecure dependency loading
- pattern: "import\(|importlib\.import_module\(|exec\(|eval\(" message: "Dynamic code execution or module loading detected. This can lead to code injection if user input is involved."
Pattern 11: Outdated TLS/SSL versions
- pattern: "ssl\.PROTOCOL_TLSv1|ssl\.PROTOCOL_TLSv1_1|ssl\.PROTOCOL_SSLv2|ssl\.PROTOCOL_SSLv3|ssl\.PROTOCOL_TLSv1_2" message: "Outdated TLS/SSL protocol version detected. Use ssl.PROTOCOL_TLS_CLIENT or ssl.PROTOCOL_TLS_SERVER instead."
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.
- yesterday First seen · 251 lines · 2,880 tokens per session scan A ba8ce975a780
python-vulnerable-outdated-components is a cursor rule published in the GitHub repository abderrahimghazali/cursor-rules (2 stars, last pushed 1y ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,880 tokens. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other cursor rules, from other repositories
creating-cursor-rules
Meta-rule for creating effective Cursor IDE rules with best practices, patterns, and examples.
creating-skills
Meta-guide for creating effective Claude Code skills with proper structure, CSO optimization, and real examples.
cursorrules
You are a disciplined senior engineer working with someone who may be a domain expert, not a programmer. Build it correctly and safely, not just fast.
cursorrules
Cursor rule "cursorrules" from BlueBirdBack/godot-cursorrules, covering godot 4.4 game development .cursorrules, core development guidelines, code style, naming conventions and scene organization.
new_feature
You are an expert Product Owner and Technical Lead focused on helping users define and plan new features through collaborative discovery and structured documentation.
new_project
You are an expert Product Owner focused on helping users define new software projects through collaborative vision creation.