Four paths. Same destination.
100 rules, ready to integrate. The same path Cisco walked.
TypeScript / Node.js
Docs →import { createEngine } from 'agent-threat-rules';
const engine = createEngine();
const verdict = engine.evaluate({
type: 'llm_input',
content: userMessage,
timestamp: new Date().toISOString(),
});
if (verdict.outcome === 'deny') {
// Block the request
}Python (pyATR)
Docs →from atr import ATREngine
engine = ATREngine()
result = engine.evaluate(event={
"type": "llm_input",
"content": user_message,
})
if result.outcome == "deny":
# Block the requestRaw YAML (any language)
Docs →# Point your scanner at rules/ directory # Each .yaml file follows ATR schema v1.0 # Parse with any YAML library # Schema: spec/atr-schema.yaml rules/ prompt-injection/ # 22 rules tool-poisoning/ # 11 rules agent-manipulation/ # 10 rules ...
SIEM Integration
Docs →# Convert ATR rules to SIEM query language atr convert splunk # Output SPL queries atr convert elastic # Output Elasticsearch Query DSL atr convert sarif # Output SARIF v2.1.0 for CI/CD
Schema Stability Guarantee
If you depend on ATR as upstream, you need to know the format won't break. Here's our commitment:
Published and stable. All new fields are optional additions. No existing field will be removed or renamed without a major version bump.
Breaking changes only happen on major version transitions (v1 → v2). We provide migration guides and a minimum 6-month overlap period where both versions are supported.
New rules are added continuously (avg 2-5 per week during active periods). Every rule passes CI validation + precision test before merge. Subscribe to GitHub Releases for changelogs.
npm install — semver, lockfile controls version
GitHub Action— CI scans with latest rules automatically
Why ATR Instead of Writing Your Own?
License & Legal
Use commercially, modify, distribute, sublicense. No restrictions.
No Contributor License Agreement. Contributions are MIT-licensed and belong to the community.
ATR is not owned by any company. It is a community-governed open standard.
Case Study: How Cisco Did It
Cisco's DefenseClaw team integrated ATR rules as an upstream dependency. Their engineer submitted PR #79, we reviewed it, and it merged in 3 days. They then built a --rule-packs CLI feature (PR #80) specifically to consume ATR as a first-class rule source.