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 skills/dean0x/devflow/securitynpx skills add dean0x/devflow --skill securitygit clone --depth 1 https://github.com/dean0x/devflowWhat 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.00023 | $0.01231 |
| Opus 5 | $0.00012 | $0.00616 |
| Sonnet 5 | $0.00005 | $0.00246 |
| Haiku 4.5 | $0.00002 | $0.00123 |
Grade A, and why
security 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 3d 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 — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Security Patterns
Domain expertise for security vulnerability detection. Use alongside devflow:review-methodology for complete security reviews.
Iron Law
ASSUME ALL INPUT IS MALICIOUS
Every user input, URL parameter, header, and cookie is an attack vector. Use parameterized queries always. Escape output always. Validate schemas always. "This field is internal" is not a defense. Defense in depth, not wishful thinking. [1][6]
Vulnerability Categories
1. Input Validation & Injection [1][6]
SQL Injection — parameterize, never interpolate:
// VULNERABLE: const query = `SELECT * FROM users WHERE email = '${email}'`;
await db.execute("SELECT * FROM users WHERE email = ?", [email]);
XSS — text content, never innerHTML:
element.textContent = userInput; // not: element.innerHTML = userInput
references/patterns.md— NoSQL, command injection, path traversal, LDAP injection.
2. Authentication & Authorization [1][2][7]
// VULNERABLE: no auth middleware
app.delete('/api/users/:id', async (req, res) => { await deleteUser(req.params.id); });
// SECURE: layered auth
app.delete('/api/users/:id', requireAuth, requireRole('admin'), handler);
NIST 800-63 minimum: 15-char passphrase or 12-char complex, phishing-resistant MFA [7].
JWT: pin algorithm explicitly, set expiresIn, store refresh tokens server-side [17].
3. Cryptography & Secrets [5][24][25]
const API_KEY = process.env.API_KEY; // not: hardcoded literal
const token = crypto.randomBytes(32).toString('hex'); // not: Math.random()
Password hashing: Argon2id (preferred) or bcrypt cost ≥12 [24]. Encrypt with AES-256-GCM
(authenticated). Compare secrets with crypto.timingSafeEqual, never === [25].
Reporting a found secret: cite file:line and the type slug — never quote the full value.
Use {first ≤4 chars}…[REDACTED:{type}] (e.g. AKID…[REDACTED:aws-key]).
A found live credential is ALREADY COMPROMISED — the remediation is rotation
(revoke and regenerate the exposed credential) plus moving to env vars or a secret store,
not just removal from code.
What ships with it
4 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.
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.
- 3d ago First seen · 122 lines · 23 tokens per session scan A 391e791ac3d3
security is a skill published in the GitHub repository dean0x/devflow (19 stars, last pushed 3d ago), licensed MIT. It adds 23 tokens to every session and 1,231 once invoked, about $0.0001 per session on Opus 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-30.
Other skills, from other repositories
verify-change
变更校验关卡。分析代码变更,检测文档同步状态,评估变更影响范围。当用户提到变更检查、文档同步、代码审查、提交前检查、diff分析时使用。在设计级变更、重构完成时自动触发。.
verify-security
安全校验关卡。自动扫描代码安全漏洞,检测危险模式,确保安全决策有文档记录。当用户提到安全扫描、漏洞检测、安全审计、代码安全、OWASP、注入检测、敏感信息泄露时使用。在新建模块、安全相关变更、攻防任务、重构完成时自动触发。.
liquid-glass
Apple Liquid Glass design system. Use when building UI with translucent, depth-aware glass morphism following Apple's design language. Provides CSS tokens, component patterns, dark/light mode, and animation specs.
ccg-skills
CCG Skills - Quality gates, documentation generator, and multi-agent orchestration. Auto-installed by CCG workflow system.
architecture
架构设计能力索引。API设计、安全架构、云原生、数据安全。当用户提到架构、设计、API、云原生时路由到此。.
development
开发语言能力索引。Python、Go、Rust、TypeScript、Java、C++、Shell。当用户提到编程、开发、代码、语言时路由到此。.