Skip to content

detections: AgentAvow static-analysis mappings (candidate) - #233

Open
kenneives wants to merge 1 commit into
secure-agentic-framework:mainfrom
kenneives:agentavow-static-mappings
Open

detections: AgentAvow static-analysis mappings (candidate)#233
kenneives wants to merge 1 commit into
secure-agentic-framework:mainfrom
kenneives:agentavow-static-mappings

Conversation

@kenneives

Copy link
Copy Markdown

Following #222 and the external contribution contract merged in #227, this adds AgentAvow as the static-analysis external provider — the modality #227 flagged as having zero native mappings.

AgentAvow is a static scanner: it examines a tool / MCP server's artifacts without executing them, and emits a signed, independently-recomputable safety verdict. So its detections map into the static lane.

What's here

  • detections/providers/agentavow.yml — provider manifest (MIT).
  • detections/external-mappings.yml46 candidate mappings across 31 Framework Model v2 techniques from 16 detection rules, spanning supply-chain (T10xx), injection (T11xx / T14xx), credential (T15xx), recon (T16xx), lateral (T17xx), collection (T18xx) and exfiltration (T19xx).
  • Regenerated detections/COVERAGE.md.

Relationship calibration — all partial (a static rule flags the code/config pattern that enables a technique; runtime confirms exploitation), except two composite flows marked adjacent (toxic_flow, lethal_trifecta). Nothing claimed direct.

Status — every entry is status: candidate. Per the contract, none counts as validated coverage until SAF reconciles the rule IDs and targets; SAF owns mapping integrity, AgentAvow stays authoritative for rule correctness. rule_url / evidence_url point at the public safety-model page for now; per-technique anchors can follow.

Validation (local):

python3 scripts/validate-detection-registry.py            -> PASS (78 native, 46 candidate external, 2 providers)
python3 scripts/generate-detection-coverage.py --check    -> PASS (matrix current)
python3 -m unittest discover -s scripts -p "test_*.py"    -> OK (15 tests)

Happy to adjust naming, relationships, or the URL granularity to whatever you prefer before reconciliation.

…date)

Fills the static modality, which secure-agentic-framework#227 noted has zero native mappings. AgentAvow
is a static scanner (examines a tool/MCP server's artifacts without executing
them). Adds a provider manifest (providers/agentavow.yml, MIT) and 46 candidate
mappings across 31 Framework Model v2 techniques from 16 detection rules,
spanning the supply-chain (T10xx), injection (T11xx/T14xx), credential (T15xx),
recon (T16xx), lateral (T17xx), collection (T18xx) and exfiltration (T19xx)
families.

All relationships are partial (a static rule flags the code/config pattern that
enables a technique; runtime confirms exploitation) except two composite flows
marked adjacent (toxic_flow, lethal_trifecta). status: candidate for every entry
per the contract — none counts as validated coverage until SAF reconciles the
rule IDs and targets. rule/evidence URLs point at the public safety-model page;
per-technique anchors can follow. Coverage matrix regenerated.

Requested in secure-agentic-framework#222; follows the contract in secure-agentic-framework#227.

Signed-off-by: Kenne Ives <kennethives@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant