Add Agent Threat Rules (ATR) Suricata rules for AI agent network indicators#982
Open
eeee2345 wants to merge 1 commit into
Open
Add Agent Threat Rules (ATR) Suricata rules for AI agent network indicators#982eeee2345 wants to merge 1 commit into
eeee2345 wants to merge 1 commit into
Conversation
…t network indicators Adds an opt-in Suricata rule set under suricata/rules-default/IT/ covering 13 network-observable indicators correlated to ATR (Agent Threat Rules, https://github.com/Agent-Threat-Rule/agent-threat-rules) detection categories: prompt-injection-over-HTTP, MCP-tool-poisoning, context-exfiltration over WebSocket, skill-package-fetch from known-bad registries, and related agent-runtime patterns. Rules ship disabled-by-default per cisagov/Malcolm convention; operators opt in via the existing rules-default mechanism. No core Malcolm changes.
8270199 to
9d34bde
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Agent Threat Rules (ATR) Suricata rules for AI agent network indicators
Description
This change adds suricata/rules-default/IT/agent-threat-rules/agent-threat-rules.rules with 13 Suricata signatures covering AI agent network threat indicators derived from the open MIT-licensed Agent Threat Rules (ATR) corpus. The new file sits under the existing rules-default/IT/ tree and is picked up automatically by the IT/**/*.rules recursive glob in suricata_config_populate.py (GetRuleFiles, lines 643-665) without any wiring changes.
Coverage:
SID range 1002001-1002013, chosen to avoid collision with existing Malcolm rule files: nsacyber ELITEWOLF uses 1000001-1000800, malcolm + d-link OT uses 1001001-1001025. Verified parse against Suricata 8.0.4 -T mode in combination with every existing rules-default signature: clean load, zero SID collisions.
False-positive discipline:
Motivation and context
Malcolm's Suricata pipeline is the natural deployment surface for content-layer detection on AI agent network traffic. MCP tool exchanges, agent-LLM provider traffic, and proxy admin-plane requests are all plaintext HTTP today (MCP is JSON-RPC over HTTP, LiteLLM is HTTP). ATR signals embedded in this traffic — markdown exfiltration markdown, IMPORTANT-tag tool poisoning, LiteLLM CISA KEV exploitation, indirect prompt injection — fit cleanly into Malcolm's existing OpenSearch dashboards and analyst triage flow.
About ATR: MIT-licensed detection-rule corpus, 419 rules at v2.2.1, https://github.com/Agent-Threat-Rule/agent-threat-rules. External production use today: Microsoft Agent Governance Toolkit (microsoft/agent-governance-toolkit#908 merged), Cisco AI Defense (cisco-ai-defense/skill-scanner#79 merged, 314-rule pack), MISP / CIRCL Luxembourg (misp-taxonomies#323 merged by adulau, MISP project lead), and OWASP Agent-Security-Regression-Harness (#74 merged).
This contribution is purely additive: it places a new .rules file under rules-default/IT/. It does not modify any existing Malcolm signature, config, or build artifact. No CISA endorsement of ATR is claimed or implied — these rules are an additive open-source contribution shaped to fit Malcolm's existing convention.
Testing
Validated under Suricata 8.0.4 RELEASE via:
docker run --rm -v $PWD:/work jasonish/suricata:latest -T -S /work/agent-threat-rules.rules
Result: 13 of 13 rules loaded; "Configuration provided was successfully loaded".
Combined-load test (new file + all 6 existing rules-default signature files concatenated): 96 total rules, clean load, zero duplicate-sid errors.
I did not run a full Malcolm Suricata container build because the docker stack is large for a single-file review; recommended verification is to drop the file into a running Malcolm instance and confirm GetRuleFiles() picks it up via the IT/**/*.rules glob, then run suricata -T against the assembled rule set.
Pre-approval checklist
ATR repo: https://github.com/Agent-Threat-Rule/agent-threat-rules
Maintainer: Adam Lin, [email protected]