Skip to content

docs(compliance): correct stale evidence and ratings in OWASP ASI mapping - #3837

Closed
Kevin Burrowes (kevinondanet) wants to merge 1 commit into
microsoft:mainfrom
kevinondanet:docs/asi-mapping-drift
Closed

docs(compliance): correct stale evidence and ratings in OWASP ASI mapping#3837
Kevin Burrowes (kevinondanet) wants to merge 1 commit into
microsoft:mainfrom
kevinondanet:docs/asi-mapping-drift

Conversation

@kevinondanet

Copy link
Copy Markdown

Summary

A source-level sweep of the ASI01–ASI10 mapping (docs/compliance/owasp-agentic-top10-architecture.md) against the actual tree found the document had drifted from the code in both directions. This PR corrects the evidence lists, mitigation text, and two coverage ratings. Every file path now cited was verified to exist on disk, and every behavioral claim was checked against the referenced source.

Drift corrected

  • ASI06 understated. The section cited agent-governance-python/agent-os/src/agent_os/audit/hash_chain.py — a file that does not exist (there is no agent_os/audit/ package) — and claimed "no dedicated memory-sandbox or context-integrity module." The shipped modules agent_os/memory_guard.py, the agent-rag-governance package (ContentScanner, RAGGovernor), and the TypeScript ContextPoisoningDetector now anchor the section. (The physical-profile table later in the same document already cited memory_guard.py, so the doc contradicted itself.) Rating stays Partial for accurate reasons: no policy-engine intervention points for memory writes/retrieval, no Go/Rust/.NET parity, heuristic detection.
  • ASI05 overstated. The claim that "the governance policy blocks eval() and exec() in agent code via lint rules" could not be confirmed: the copilot-governance reviewer has no eval/exec rule, and agent-sandbox/code_scanner.py targets subprocess/os.exec*/pty.spawn patterns, not Python's eval/exec/compile builtins. Downgraded to Partial with a Known Gap, and the real sandbox-layer evidence (code_scanner.py, Dockerfile.sandbox) added.
  • ASI07 stale evidence. Cited agent_os/trust/gate.py, which does not exist. Now points at the agent-mesh DID challenge-response handshake (agentmesh/trust/handshake.py) and the A2A trust_gate.py.
  • ASI04 partially stale. Claimed "No SBOM generation … built into AGT," but .github/workflows/sbom.yml generates SBOMs for AGT's own releases (as the physical profile already acknowledged). The Known Gap is now scoped to governed-application runtime SBOMs, and the marketplace Ed25519 verification and MCPSecurityScanner fingerprinting are added as evidence with their limits (TOFU fingerprints, no key revocation) stated.
  • AGT traceability extension cited the same nonexistent hash_chain.py; the real chained audit loggers live in the agentmesh integrations (haystack_agentmesh/audit.py with verify_chain(), openai_agents_trust/audit.py with previous_hash chaining).

Rating changes

Coverage summary moves from 7/10 Full, 3/10 Partial to 6/10 Full, 4/10 Partial (ASI05 Full → Partial). No section's actual capability changed — only the description of it.

🤖 Generated with Claude Code

https://claude.ai/code/session_017RZS152tpaHAhzA2BpAdyN

…ping

A source-level sweep of the ASI01-ASI10 mapping found the compliance doc
had drifted from the code in both directions:

- ASI06 understated: cited agent_os/audit/hash_chain.py (does not exist)
  and claimed no dedicated module, while MemoryGuard, agent-rag-governance,
  and the TypeScript ContextPoisoningDetector ship today. Evidence and
  mitigation text now reference the real modules.
- ASI05 overstated: no lint rule blocks eval()/exec() (the reviewer's 18
  rules cover unsafe pickle, and the sandbox scanner targets process
  spawning only). Downgraded to Partial with an accurate Known Gap.
- ASI07 cited agent_os/trust/gate.py (does not exist); now points at the
  agent-mesh DID handshake and the A2A trust gate.
- ASI04 claimed no SBOM generation exists, but .github/workflows/sbom.yml
  covers AGT's own releases (as the physical profile already noted); the
  Known Gap now scopes it to governed-application runtime SBOMs.
- AGT traceability extension cited the same dead hash_chain.py path; now
  points at the chained audit loggers in the agentmesh integrations.

Coverage summary updated to 6/10 Full, 4/10 Partial.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017RZS152tpaHAhzA2BpAdyN
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@github-actions

Copy link
Copy Markdown

Welcome to the Agent Governance Toolkit! Thanks for your first pull request.
Please ensure tests pass, code follows style (ruff check), and you have signed the CLA.
See our Contributing Guide.

@github-actions github-actions Bot added documentation Improvements or additions to documentation size/M Medium PR (< 200 lines) labels Aug 25, 2026
@github-actions

Copy link
Copy Markdown

PR Review Summary

Check Status Details
🔍 Code Review ⚠️ Missing No current-run comment
🛡️ Security Scan ⚠️ Missing No current-run comment
🔄 Breaking Changes ⚠️ Missing No current-run comment
📝 Docs Sync ⚠️ Missing No current-run comment
🧪 Test Coverage ⚠️ Missing No current-run comment

Verdict: ⚠️ AI review incomplete; ready for human review

AI review comments are untrusted advisory output. The summary reports workflow-generated completion status only, not model-authored pass/fail claims.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/M Medium PR (< 200 lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant