feat(owasp): migrate to ASI 2026 taxonomy with reference architecture#910
Conversation
- Migrate copilot-governance from legacy AT identifiers to OWASP ASI 2026 - Add backward-compatible AT→ASI lookup for existing integrations - Add comprehensive OWASP Agentic Top 10 reference architecture doc - Add standalone agent-mcp-governance Python package Supersedes: microsoft#839, microsoft#843, microsoft#844, microsoft#829 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
🤖 AI Agent: breaking-change-detector — Summary🔍 API Compatibility ReportSummaryThis pull request introduces significant changes to the repository, including the migration to OWASP ASI 2026 taxonomy, a new Python package ( Findings
Migration GuideNo migration steps are necessary for existing users, as backward compatibility has been maintained. New users can adopt the Conclusion✅ No breaking changes detected. All changes are either additive or backward-compatible. |
🤖 AI Agent: test-generator — `packages/agent-mcp-governance/src/agent_mcp_governance/__init__.py`🧪 Test Coverage Analysis
|
🤖 AI Agent: docs-sync-checker — Issues Found📝 Documentation Sync ReportIssues Found
Suggestions
SummaryThe PR introduces significant changes, including the migration to the OWASP ASI 2026 taxonomy, a new Python package, and backward-compatible mappings for legacy identifiers. While the documentation is generally comprehensive, there are a few missing elements, such as a docstring for the Let me know if you need further assistance! |
🤖 AI Agent: security-scanner — Security Review of PR: feat(owasp): migrate to ASI 2026 taxonomy with reference architectureSecurity Review of PR: feat(owasp): migrate to ASI 2026 taxonomy with reference architectureThis PR introduces significant changes to the 1. Prompt Injection Defense BypassRating: 🔵 LOW
2. Policy Engine CircumventionRating: 🟠 HIGH
3. Trust Chain WeaknessesRating: 🔴 CRITICAL
4. Credential ExposureRating: 🔵 LOW
5. Sandbox EscapeRating: 🟡 MEDIUM
6. Deserialization AttacksRating: 🔵 LOW
7. Race ConditionsRating: 🟡 MEDIUM
8. Supply Chain VulnerabilitiesRating: 🟠 HIGH
Summary of Findings
Final RecommendationThis PR introduces valuable improvements, but the critical issue with trust chain weaknesses must be addressed before merging. Additionally, the policy engine circumvention and supply chain vulnerabilities should be prioritized for resolution. Other issues, while less critical, should be addressed in subsequent updates. |
There was a problem hiding this comment.
🤖 AI Agent: code-reviewer
Pull Request Review: OWASP ASI 2026 Taxonomy Migration + Reference Architecture
🔴 CRITICAL Issues
-
Backward Compatibility in Risk ID Mapping
- The
resolveIdfunction inowasp.tssilently falls back to returning the input ID if it is not found in eitherOWASP_AGENTIC_RISKSorLEGACY_AT_TO_ASI. This could lead to silent failures in downstream systems that rely on strict validation of risk IDs. - Recommendation: Throw an explicit error or log a warning when an unknown ID is encountered to avoid silent failures. Alternatively, provide a configurable fallback behavior.
function resolveId(id: string): string { if (id in OWASP_AGENTIC_RISKS) return id; if (id in LEGACY_AT_TO_ASI) return LEGACY_AT_TO_ASI[id]; throw new Error(`Unknown OWASP risk ID: ${id}`); }
- The
-
Memory and Context Poisoning (ASI06)
- The gap analysis highlights the absence of a memory sandbox or context integrity checks. This is a critical security issue as it leaves the system vulnerable to poisoning attacks.
- Recommendation: Prioritize implementing a
ContextValidatormodule that hashes memory snapshots and validates them before use. This should be integrated into theGovernanceMiddleware.
-
Agentic Supply Chain Vulnerabilities (ASI04)
- The lack of SBOM (Software Bill of Materials) generation and dependency vulnerability scanning is a significant supply chain risk.
- Recommendation: Integrate tools like GitHub Advanced Security or Dependabot to automate dependency scanning. Additionally, consider generating SBOMs using tools like
cyclonedx-pythonorsyft.
-
Human-Agent Trust Exploitation (ASI09)
- The absence of UI-level guardrails or "human-in-the-loop" approval workflows is a critical gap for high-risk actions.
- Recommendation: Implement a
HumanApprovalMiddlewarethat requires explicit human confirmation for actions flagged as high-risk.
🟡 WARNING: Potential Breaking Changes
-
Python Version Compatibility
- The new
agent-mcp-governancepackage lowers the minimum Python version from>=3.12to>=3.10. While this increases compatibility, it could introduce subtle issues if the codebase relies on features exclusive to Python 3.12. - Recommendation: Ensure comprehensive testing across all supported Python versions (3.10–3.13).
- The new
-
Legacy Risk ID Deprecation
- While the
LEGACY_AT_TO_ASImapping ensures backward compatibility, the migration to ASI IDs may break integrations that rely on the oldATidentifiers if they are not updated. - Recommendation: Clearly document the deprecation timeline for
ATIDs and provide migration guides for downstream consumers.
- While the
💡 Suggestions for Improvement
-
Documentation Enhancements
- The new OWASP reference architecture document is comprehensive but could benefit from:
- A "Quick Start" section summarizing how to use the mappings and mitigations.
- A "Changelog" section to track updates to the taxonomy and mitigations.
- The new OWASP reference architecture document is comprehensive but could benefit from:
-
Static Analysis Rule Coverage
- The static reviewer rules in
reviewer.tsare robust but could be expanded to include:- Detection of unbounded data structures (e.g., dictionaries, lists) to prevent memory DoS attacks.
- Detection of stubbed
verify()functions that always returnTrue.
- The static reviewer rules in
-
Audit Middleware Enhancements
- The audit middleware currently uses a hash chain for tamper detection. Consider extending this to include:
- Timestamp validation to detect replay attacks.
- Integration with a secure time source (e.g., NTP with cryptographic validation).
- The audit middleware currently uses a hash chain for tamper detection. Consider extending this to include:
-
Rate Limiting
- The
rate_limit_per_minuteparameter inGovernanceMiddlewareis a good start but could be enhanced with:- Adaptive rate limiting based on historical usage patterns.
- Per-user or per-agent rate limits to prevent abuse.
- The
-
Mermaid Diagrams
- The Mermaid diagrams in the OWASP reference architecture are helpful but could be made interactive (e.g., clickable nodes linking to relevant documentation or code).
Summary of Changes
-
Strengths:
- Comprehensive migration to OWASP ASI 2026 taxonomy with backward compatibility.
- Detailed reference architecture with honest gap analysis.
- New standalone Python package (
agent-mcp-governance) with clear API documentation.
-
Weaknesses:
- Critical gaps in memory sandboxing, supply chain security, and human-agent trust mechanisms.
- Potential for silent failures in risk ID resolution.
- Some potential breaking changes for downstream consumers.
Final Recommendation
- Merge with Conditions:
- Address the critical issues related to risk ID resolution, memory sandboxing, and supply chain vulnerabilities in follow-up PRs.
- Document the deprecation timeline for
ATIDs and provide migration guides. - Expand static analysis rules to cover additional attack vectors.
By addressing these issues, the PR will significantly enhance the security posture of the Agent Governance Toolkit while maintaining backward compatibility.
OWASP ASI 2026 Taxonomy Migration + Reference Architecture
What this PR does
Three improvements in one cohesive change:
1. ASI 2026 taxonomy migration (supersedes #839)
ATidentifiers to OWASP ASI 2026 (ASI01–ASI11)LEGACY_AT_TO_ASIlookup so existing integrations don't break2. Combined OWASP reference architecture (supersedes #843 + #844)
docs/compliance/owasp-agentic-top10-architecture.md3. Python standalone MCP governance package (supersedes #829)
pyproject.tomlwith correct dependency declarationWhy supersede instead of merge?
Files changed (8 files, +580/-64)
src/owasp.tssrc/reviewer.tssrc/types.tstests/index.test.tsdocs/compliance/owasp-agentic-top10-architecture.mdpackages/agent-mcp-governance/*Checklist
npm test)Supersedes: #839, #843, #844, #829