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/d-padmanabhan/agent-engineering-handbook/310-securitygit clone --depth 1 https://github.com/d-padmanabhan/agent-engineering-handbookWrote 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/rules/d-padmanabhan/agent-engineering-handbook/310-security)<a href="https://agentmods.dev/rules/d-padmanabhan/agent-engineering-handbook/310-security"><img src="https://agentmods.dev/badge/rules/d-padmanabhan/agent-engineering-handbook/310-security.svg" alt="Measured on agentmods" 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 | $0.00766 | $0.00766 |
| Opus 5 | $0.00383 | $0.00383 |
| Sonnet 5 | $0.00153 | $0.00153 |
| Haiku 4.5 | $0.00077 | $0.00077 |
Grade A, and why
310-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 — 55 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Application Security Gates
This rule owns universal secure-coding policy only. Use security testing (${HANDBOOK_ROOT}/skills/security-testing/SKILL.md) for focused review and tests, codebase security audit (${HANDBOOK_ROOT}/skills/codebase-security-audit/SKILL.md) for full-repository audits, and Zero Trust (${HANDBOOK_ROOT}/skills/zero-trust/SKILL.md) for identity, trust-boundary, and agent architecture.
Secrets and Sensitive Data
- Never hardcode, commit, print, expose in errors, or send to a model any password, token, private key, credential, or production secret.
- Applications receive secret references or short-lived credentials from an approved broker or secret manager. Environment variables are configuration transport, not a production secret-management strategy.
- Redact keys and values associated with
token,secret,password,key,authorization, and equivalent domain names before logging or persistence. - Classify sensitive data, minimize collection, encrypt it in transit and at rest, and enforce retention and deletion.
Trust Boundaries
- Treat request data, files, environment variables, database records, messages, model output, retrieved documents, and tool output as untrusted until validated.
- Parse into a constrained schema, reject unknown or oversized inputs where appropriate, and canonicalize before policy checks.
- Encode output for its destination context. Do not confuse input validation with HTML, URL, shell, SQL, or log encoding.
- Authentication identifies a principal; authorization decides the action. Enforce server-side authorization for every protected resource and operation.
Injection and Execution
- Use parameterized queries, structured SDK calls, and argument arrays. Never concatenate untrusted data into SQL, shell commands, templates, regular expressions, paths, or interpreter input.
- Avoid dynamic execution such as
eval, unsafe deserialization, or arbitrary code/plugin loading. Where execution is the product, isolate it in a hardened sandbox with explicit resource and egress limits. - Validate archive extraction paths, file names, redirects, content types, and size limits.
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 · 55 lines · 766 tokens per session scan A 4c5a3435424a
310-security is a cursor rule published in the GitHub repository d-padmanabhan/agent-engineering-handbook (16 stars, last pushed 4d ago), licensed MIT. It adds 766 tokens to every session, about $0.0038 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 cursor rules, from other repositories
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
cli-error-handling
CLI command error handling patterns.
prefer-direct-imports-over-module-mocks
Prefer extracting a testable core over vi.mock / vi.resetModules when unit tests need to reach production logic entangled with config, env, or singletons.
control-plane-descriptors
Control plane descriptor and instance implementation patterns.
family-instance-domain-actions
Family instance domain action implementation patterns.