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-sast-scannergit 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-sast-scanner)<a href="https://agentmods.dev/skills/eresussecurity/appsec-skills/eresus-sast-scanner"><img src="https://agentmods.dev/badge/skills/eresussecurity/appsec-skills/eresus-sast-scanner/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-sast-scanner"><img src="https://agentmods.dev/badge/skills/eresussecurity/appsec-skills/eresus-sast-scanner.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.00100 | $0.02883 |
| Opus 5.5 | $0.00040 | $0.01153 |
| Sonnet 5.5 | $0.00020 | $0.00577 |
| Haiku 4.5 | $0.00010 | $0.00288 |
Grade A, and why
eresus-sast-scanner scanned grade A with 0 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 273 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SAST Vulnerability Analysis
Purpose
Systematically analyze source code for security vulnerabilities using structured Source→Sink taint tracking, pattern matching, and vulnerability-class-specific detection heuristics. Produce actionable findings with severity ratings, affected code locations (file + line number), and remediation guidance.
Scope
This skill covers the following 34 vulnerability classes. Each has a dedicated vulnerability knowledge file loaded on demand:
| Category | Vulnerabilities |
|---|---|
| Injection | SQL Injection, XSS, SSTI, NoSQL Injection, GraphQL Injection, XXE, RCE / Command Injection, Expression Language Injection |
| Access Control & Auth | IDOR, Privilege Escalation, Authentication/JWT, Default Credentials, Brute Force, Business Logic, HTTP Method Tampering, Verification Code Abuse, Session Fixation |
| Data Exposure & Crypto | Weak Crypto/Hash, Information Disclosure, Insecure Cookie, Trust Boundary |
| Server-Side | SSRF, Path Traversal/LFI/RFI, Insecure Deserialization, Arbitrary File Upload, JNDI Injection, Race Conditions |
| Protocol & Infrastructure | CSRF, Open Redirect, HTTP Request Smuggling/Desync, Denial of Service, CVE Patterns |
| Language/Platform | PHP Security, Mobile Security (Android/iOS) |
Workflow
Step 1: Understand Scope
Determine:
- Target: single file, directory, API endpoint, module, or full repo
- Language(s) and framework(s) in use
- User's goal: quick scan, deep audit, specific vuln class, or full report
Step 2: Load Relevant Knowledge Files
Based on the code being reviewed, load the appropriate vulnerability knowledge files from references/:
references/sql_injection.md — SQL / ORM injection
references/xss.md — Cross-site scripting
references/ssrf.md — Server-side request forgery
references/rce.md — Remote code execution
references/idor.md — Insecure direct object reference
references/authentication_jwt.md — Auth flaws, JWT weaknesses
references/csrf.md — Cross-site request forgery
references/path_traversal_lfi_rfi.md — Path traversal, LFI/RFI
references/ssti.md — Server-side template injection
references/xxe.md — XML external entity
references/insecure_deserialization.md — Insecure deserialization
references/arbitrary_file_upload.md — Arbitrary file upload
references/privilege_escalation.md — Privilege escalation
references/nosql_injection.md — NoSQL injection
references/graphql_injection.md — GraphQL injection
references/weak_crypto_hash.md — Weak cryptography / hash
references/information_disclosure.md — Information disclosure
references/insecure_cookie.md — Insecure cookie attributes
references/open_redirect.md — Open redirect
references/trust_boundary.md — Trust boundary violations
references/race_conditions.md — Race conditions / TOCTOU
references/brute_force.md — Brute force / credential stuffing
references/default_credentials.md — Default / hardcoded credentials
references/verification_code_abuse.md — Verification code abuse
references/business_logic.md — Business logic flaws
references/http_method_tamper.md — HTTP method tampering
references/smuggling_desync.md — HTTP request smuggling / desync
references/cve_patterns.md — Known CVE patterns
references/expression_language_injection.md — Expression language injection (SpEL / OGNL)
references/jndi_injection.md — JNDI injection (Log4Shell class)
references/denial_of_service.md — Denial of service / resource exhaustion
references/php_security.md — PHP-specific security issues
references/mobile_security.md — Mobile security (Android / iOS)
references/session_fixation.md — Session fixation
What ships with it
34 files 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.
- references/arbitrary_file_upload.md 11 KB
- references/authentication_jwt.md 10 KB
- references/brute_force.md 9.5 KB
- references/business_logic.md 14 KB
- references/csrf.md 13 KB
- references/cve_patterns.md 7.5 KB
- references/default_credentials.md 6.9 KB
- references/denial_of_service.md 9.4 KB
- references/expression_language_injection.md 8.1 KB
- references/graphql_injection.md 7.3 KB
- references/http_method_tamper.md 4.0 KB
- references/idor.md 12 KB
- references/information_disclosure.md 9.3 KB
- references/insecure_cookie.md 3.0 KB
- references/insecure_deserialization.md 13 KB
- references/jndi_injection.md 7.5 KB
- references/mobile_security.md 29 KB
- references/nosql_injection.md 4.0 KB
- references/open_redirect.md 4.6 KB
- references/path_traversal_lfi_rfi.md 19 KB
- references/php_security.md 9.5 KB
- references/privilege_escalation.md 14 KB
- references/race_conditions.md 10 KB
- references/rce.md 25 KB
- references/session_fixation.md 7.2 KB
- references/smuggling_desync.md 4.0 KB
- references/sql_injection.md 18 KB
- references/ssrf.md 8.7 KB
- references/ssti.md 5.3 KB
- references/trust_boundary.md 4.4 KB
- references/verification_code_abuse.md 2.0 KB
- references/weak_crypto_hash.md 6.9 KB
- references/xss.md 14 KB
- references/xxe.md 13 KB
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 · 273 lines · 100 tokens per session scan A d67eba27766a
eresus-sast-scanner is a skill published in the GitHub repository EresusSecurity/appsec-skills (7 stars, last pushed 6mo ago), licensed Apache-2.0. It adds 100 tokens to every session and 2,883 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
ai-skill-auditor
A universal, dependency-free Node.js tool to statically audit AI Skills and local agents for malicious patterns.
sast-fileupload
Detect insecure file upload vulnerabilities in a codebase using a three-phase approach: discovery (find all upload sites), batched verify (check extension bypass and related issues in parallel subagents, 3 sites each), and merge (consolidate batch results). Requires sast/architecture.md (run sast-analysis first).…
sast-hardcodedsecrets
Detect hardcoded sensitive data (API keys, access tokens, private keys, passwords, etc.) in publicly accessible code — frontend JavaScript, mobile apps, client-side bundles, and HTML templates. Uses a three-phase approach: recon (find secret candidates), batched verify (confirm real secrets in public code paths, 3…
sast-jwt
Detect insecure JWT (JSON Web Token) implementations in a codebase using a two-phase approach: first map all JWT issuance and verification sites to understand the token lifecycle and signing configuration, then check each verification site for exploitable weaknesses such as algorithm confusion, missing signature…
sast-missingauth
Detect missing authentication and broken function-level authorization vulnerabilities in a codebase using a three-phase approach: recon (map endpoints and the role/permission system), batched verify (check auth/authz in parallel subagents, 3 endpoints each), and merge (consolidate batch results). Covers…
sast-pathtraversal
Detect path traversal vulnerabilities in a codebase using a three-phase approach: recon (find file-loading sinks with dynamic paths), batched verify (trace user input and mitigations in parallel subagents, 3 sinks each), and merge (consolidate batch results). Requires sast/architecture.md (run sast-analysis first).…