agent-audit-kit 0.3.46__tar.gz → 0.3.47__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (683) hide show
  1. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/CHANGELOG.cves.md +6 -0
  2. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/CHANGELOG.md +24 -0
  3. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/PKG-INFO +9 -9
  4. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/README.md +8 -8
  5. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/action.yml +1 -1
  6. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/__init__.py +2 -2
  7. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/engine.py +1 -1
  8. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/rules/builtin.py +51 -18
  9. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_stateless_migration.py +7 -5
  10. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/supply_chain.py +60 -0
  11. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/ci-cd.md +2 -2
  12. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/coverage/owasp-agentic-top10.md +1 -1
  13. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/coverage/owasp-mcp-top10.md +1 -1
  14. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/getting-started.md +2 -2
  15. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/launch/hn.md +2 -2
  16. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/launch/reddit.md +3 -3
  17. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/launch/x-thread.md +2 -2
  18. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/owasp-agentic-coverage.md +1 -1
  19. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/presets/mcp-ox-2026-04.md +1 -1
  20. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/public/owasp-agentic-coverage.json +15 -4
  21. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/pyproject.toml +1 -1
  22. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/rules.json +29 -2
  23. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/site/coverage/index.html +2 -2
  24. agent_audit_kit-0.3.47/tests/test_mcp_gateway_registry_cve_2026_14471.py +61 -0
  25. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_phase5.py +1 -1
  26. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.agent-audit-kit.yml +0 -0
  27. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.claude/auto-memory/config.json +0 -0
  28. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.editorconfig +0 -0
  29. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/FUNDING.yml +0 -0
  30. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  31. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  32. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  33. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/dependabot.yml +0 -0
  34. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/badge-ox-coverage.yml +0 -0
  35. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/ci.yml +0 -0
  36. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/codeql.yml +0 -0
  37. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/coverage-page.yml +0 -0
  38. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/cve-watcher.yml +0 -0
  39. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/docker-nightly.yml +0 -0
  40. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/mcp-security-index.yml +0 -0
  41. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/release.yml +0 -0
  42. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/scorecard.yml +0 -0
  43. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/self-scan.yml +0 -0
  44. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/sync-repo-metadata.yml +0 -0
  45. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.github/workflows/sync-rule-count.yml +0 -0
  46. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.gitignore +0 -0
  47. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.pre-commit-config.yaml +0 -0
  48. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/.pre-commit-hooks.yaml +0 -0
  49. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/CLAUDE.md +0 -0
  50. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/CLAUDE_PROMPT.md +0 -0
  51. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/CODE_OF_CONDUCT.md +0 -0
  52. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/CONTRIBUTING.md +0 -0
  53. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/DEEP_ANALYSIS.md +0 -0
  54. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/Dockerfile +0 -0
  55. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/LICENSE +0 -0
  56. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/ROADMAP_2026.md +0 -0
  57. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/SECURITY.md +0 -0
  58. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/advisories.py +0 -0
  59. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/autofix/__init__.py +0 -0
  60. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/autofix/langgraph_toolnode.py +0 -0
  61. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/bundle.py +0 -0
  62. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/checks/__init__.py +0 -0
  63. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/checks/economic_drift.py +0 -0
  64. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/checks/openclaw.py +0 -0
  65. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/cli.py +0 -0
  66. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/cli_modules/__init__.py +0 -0
  67. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/cli_modules/rule_lint.py +0 -0
  68. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/corpus/__init__.py +0 -0
  69. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/corpus/manifest.py +0 -0
  70. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/coverage.py +0 -0
  71. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/data/aivss-v08-defaults.json +0 -0
  72. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/data/fhi_universal_suffixes.txt +0 -0
  73. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/data/ipi_wild_payloads_2026_04.json +0 -0
  74. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/data/ox-cve-manifest.json +0 -0
  75. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/data/prisma-airs-aak-map.json +0 -0
  76. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/data/prisma-airs-catalog.json +0 -0
  77. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/data/toxic_flow_pairs.yml +0 -0
  78. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/data/vuln_db.json +0 -0
  79. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/diff.py +0 -0
  80. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/discovery.py +0 -0
  81. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/feeds/__init__.py +0 -0
  82. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/fix.py +0 -0
  83. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/ide/__init__.py +0 -0
  84. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/ide/lsp_diag.py +0 -0
  85. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/integrations/__init__.py +0 -0
  86. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/integrations/notify.py +0 -0
  87. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/llm_scan.py +0 -0
  88. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/models.py +0 -0
  89. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/__init__.py +0 -0
  90. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/aicm.py +0 -0
  91. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/compliance.py +0 -0
  92. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/console.py +0 -0
  93. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/json_report.py +0 -0
  94. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/owasp_report.py +0 -0
  95. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/pdf_report.py +0 -0
  96. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/pr_summary.py +0 -0
  97. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/sarif.py +0 -0
  98. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/output/sbom.py +0 -0
  99. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/parity/__init__.py +0 -0
  100. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/pinning.py +0 -0
  101. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/presets/__init__.py +0 -0
  102. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/presets/mcp-ox-2026-04.yaml +0 -0
  103. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/proxy/__init__.py +0 -0
  104. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/proxy/interceptor.py +0 -0
  105. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/remediation/__init__.py +0 -0
  106. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/remediation/engine.py +0 -0
  107. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/rules/__init__.py +0 -0
  108. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/sanitizers/__init__.py +0 -0
  109. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/sanitizers/crewai.py +0 -0
  110. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/sanitizers/deepseek.py +0 -0
  111. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/sarif/__init__.py +0 -0
  112. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/sarif/diff.py +0 -0
  113. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/__init__.py +0 -0
  114. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/_helpers.py +0 -0
  115. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/a2a_protocol.py +0 -0
  116. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/agent_config.py +0 -0
  117. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/agent_harness_shared_state.py +0 -0
  118. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/argv_toctou.py +0 -0
  119. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/crewai_rce_chain.py +0 -0
  120. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/deepseek_v4_tool_injection.py +0 -0
  121. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/dns_rebind.py +0 -0
  122. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/docsgpt_transport_flip.py +0 -0
  123. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/eu_ai_act_art15_locale.py +0 -0
  124. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/gha_hardening.py +0 -0
  125. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/gpt_researcher_transport_flip.py +0 -0
  126. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/healthcare_ai.py +0 -0
  127. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/hook_injection.py +0 -0
  128. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/hook_rce.py +0 -0
  129. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/india_pii.py +0 -0
  130. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/ipi_wild_corpus.py +0 -0
  131. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/langchain_prompt_loader.py +0 -0
  132. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/langchain_vuln.py +0 -0
  133. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/langgraph_toolnode.py +0 -0
  134. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/legal_compliance.py +0 -0
  135. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/llm_sql_rce.py +0 -0
  136. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/log_injection.py +0 -0
  137. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/log_token_leak.py +0 -0
  138. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/marketplace_manifest.py +0 -0
  139. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_atlassian.py +0 -0
  140. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_auth_pathtraversal.py +0 -0
  141. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_auth_patterns.py +0 -0
  142. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_config.py +0 -0
  143. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_env_placeholder_exfil.py +0 -0
  144. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_fhi.py +0 -0
  145. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_http_noauth_server.py +0 -0
  146. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_inspector_cve.py +0 -0
  147. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_marketplace_fetch.py +0 -0
  148. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_middleware.py +0 -0
  149. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_noauth_default.py +0 -0
  150. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_sampling_capability.py +0 -0
  151. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_sdk_hardening.py +0 -0
  152. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_server_auth.py +0 -0
  153. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_server_card.py +0 -0
  154. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_stdio_launcher.py +0 -0
  155. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_stdio_params.py +0 -0
  156. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_tasks.py +0 -0
  157. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_tool_unsafe_eval.py +0 -0
  158. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_toolgate_asymmetry.py +0 -0
  159. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/mcp_tunnel.py +0 -0
  160. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/metis_pomdp.py +0 -0
  161. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/neo4j_cve.py +0 -0
  162. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/oauth_misconfig.py +0 -0
  163. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/oauth_surface.py +0 -0
  164. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/openapi_smells.py +0 -0
  165. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/openclaw_privesc.py +0 -0
  166. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/pin_drift.py +0 -0
  167. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/project_deal_drift.py +0 -0
  168. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/prtitle_ipi.py +0 -0
  169. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/routines.py +0 -0
  170. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/rust_pattern_scan.py +0 -0
  171. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/rust_scan.py +0 -0
  172. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/sandbox_self_disable.py +0 -0
  173. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/secret_exposure.py +0 -0
  174. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/shared_resource_authz.py +0 -0
  175. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/skill_lifecycle_attribution.py +0 -0
  176. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/skill_poisoning.py +0 -0
  177. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/skill_untrusted_exec_path.py +0 -0
  178. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/social_agent_hijack.py +0 -0
  179. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/splunk_mcp_config.py +0 -0
  180. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/ssrf_patterns.py +0 -0
  181. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/ssrf_redirect.py +0 -0
  182. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/ssrf_toctou.py +0 -0
  183. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/stainless_lineage.py +0 -0
  184. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/state_privacy.py +0 -0
  185. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/stdio_injection.py +0 -0
  186. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/taint_analysis.py +0 -0
  187. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/tool_poisoning.py +0 -0
  188. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/toxic_flow.py +0 -0
  189. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/transport_limits.py +0 -0
  190. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/transport_security.py +0 -0
  191. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/trust_boundary.py +0 -0
  192. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/typescript_pattern_scan.py +0 -0
  193. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scanners/typescript_scan.py +0 -0
  194. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scoring/__init__.py +0 -0
  195. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scoring/aivss.py +0 -0
  196. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/scoring/aivss_schema.py +0 -0
  197. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/translators/__init__.py +0 -0
  198. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/translators/pipelock.py +0 -0
  199. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/translators/prisma_airs.py +0 -0
  200. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/verification.py +0 -0
  201. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/vuln_db.py +0 -0
  202. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/agent_audit_kit/watch.py +0 -0
  203. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/README.md +0 -0
  204. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/crawler.py +0 -0
  205. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/determinism/RESULTS.md +0 -0
  206. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/determinism/run.py +0 -0
  207. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/index_builder.py +0 -0
  208. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/results-2026-06-13.json +0 -0
  209. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/run_benchmark.sh +0 -0
  210. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/sample_configs/sample_01_clean.json +0 -0
  211. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/sample_configs/sample_02_secrets.json +0 -0
  212. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/sample_configs/sample_03_no_auth.json +0 -0
  213. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/sample_configs/sample_04_shell_injection.json +0 -0
  214. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/sample_configs/sample_05_mixed.json +0 -0
  215. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/benchmarks/sources.py +0 -0
  216. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/ci/gitlab/agent-audit-kit.gitlab-ci.yml +0 -0
  217. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/CNAME +0 -0
  218. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/DISTRIBUTION-CHECKLIST.md +0 -0
  219. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/RELEASING.md +0 -0
  220. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/azure-pipelines.md +0 -0
  221. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/blog/state-of-mcp-security-template.md +0 -0
  222. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/circleci.md +0 -0
  223. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/comparison-gitlab-agentic-sast.md +0 -0
  224. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/comparison.md +0 -0
  225. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/comparisons.md +0 -0
  226. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/disclosure-policy.md +0 -0
  227. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/gitlab-ci.md +0 -0
  228. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/index.md +0 -0
  229. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/launch/CHECKLIST.md +0 -0
  230. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/launch/github-verified-creator-application.md +0 -0
  231. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/launch/owasp-reference-tool-submission.md +0 -0
  232. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/launch/press.md +0 -0
  233. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/launch/release-notes-v0.3.0.md +0 -0
  234. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/metrics.md +0 -0
  235. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/notes/adjudicator-pattern.md +0 -0
  236. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/owasp-mapping.md +0 -0
  237. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/plans/2026-04-21-v0.3.3-design.md +0 -0
  238. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/research-log.md +0 -0
  239. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/roadmap/ox-mcp-2026-05-01-batch.md +0 -0
  240. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rule-schema.md +0 -0
  241. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-AZURE-MCP-001.md +0 -0
  242. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-AZURE-MCP-NOAUTH-001.md +0 -0
  243. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-LANGCHAIN-SSRF-REDIR-001.md +0 -0
  244. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-LMDEPLOY-VL-SSRF-001.md +0 -0
  245. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-MCP-AUTH-PATHTRAVERSAL-001.md +0 -0
  246. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-MCP-MARKETPLACE-CONFIG-FETCH-001.md +0 -0
  247. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-MCP-STDIO-CMD-INJ-001.md +0 -0
  248. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-MCP-STDIO-CMD-INJ-002.md +0 -0
  249. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-MCP-STDIO-CMD-INJ-003.md +0 -0
  250. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-MCP-STDIO-CMD-INJ-004.md +0 -0
  251. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-SPLUNK-MCP-TOKEN-LEAK-001.md +0 -0
  252. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-SSRF-TOCTOU-001.md +0 -0
  253. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/AAK-TOXICFLOW-001.md +0 -0
  254. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules/index.md +0 -0
  255. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/rules.md +0 -0
  256. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/docs/spec/sarif-runtime-context.md +0 -0
  257. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/editors/zed/README.md +0 -0
  258. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/editors/zed/extension.toml +0 -0
  259. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/entrypoint.sh +0 -0
  260. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/README.md +0 -0
  261. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/case-studies/damn-vulnerable-mcp/README.md +0 -0
  262. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/case-studies/damn-vulnerable-mcp/configs/dvmcp-inspired.mcp.json +0 -0
  263. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/case-studies/damn-vulnerable-mcp/configs/dvmcp-settings.json +0 -0
  264. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/case-studies/damn-vulnerable-mcp/scan-results.json +0 -0
  265. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/case-studies/damn-vulnerable-mcp/scan-results.sarif +0 -0
  266. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/ci-integration/README.md +0 -0
  267. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/ci-integration/docker-one-liner.sh +0 -0
  268. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/ci-integration/github-actions-sarif.yml +0 -0
  269. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/ci-integration/gitlab-ci-scan.yml +0 -0
  270. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/ci-integration/pre-commit-config.yaml +0 -0
  271. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/run-all-examples.sh +0 -0
  272. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/01-no-auth-remote/.mcp.json +0 -0
  273. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/01-no-auth-remote/expected-findings.json +0 -0
  274. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/02-shell-injection/.mcp.json +0 -0
  275. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/02-shell-injection/expected-findings.json +0 -0
  276. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/03-hardcoded-secrets/.gitignore +0 -0
  277. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/03-hardcoded-secrets/.mcp.json +0 -0
  278. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/03-hardcoded-secrets/expected-findings.json +0 -0
  279. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/04-hook-exfiltration/.claude/settings.json +0 -0
  280. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/04-hook-exfiltration/expected-findings.json +0 -0
  281. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/05-trust-boundary-violations/.claude/settings.json +0 -0
  282. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/05-trust-boundary-violations/.mcp.json +0 -0
  283. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/05-trust-boundary-violations/expected-findings.json +0 -0
  284. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/06-tool-poisoning/.mcp.json +0 -0
  285. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/06-tool-poisoning/expected-findings.json +0 -0
  286. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/07-tainted-tool-function/expected-findings.json +0 -0
  287. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/07-tainted-tool-function/server.py +0 -0
  288. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/08-transport-insecurity/.mcp.json +0 -0
  289. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/08-transport-insecurity/expected-findings.json +0 -0
  290. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/09-a2a-insecure-agent/agent-card.json +0 -0
  291. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/09-a2a-insecure-agent/expected-findings.json +0 -0
  292. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/10-supply-chain-risks/.mcp.json +0 -0
  293. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/10-supply-chain-risks/expected-findings.json +0 -0
  294. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/10-supply-chain-risks/package.json +0 -0
  295. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/11-legal-compliance/expected-findings.json +0 -0
  296. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/11-legal-compliance/package.json +0 -0
  297. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/11-legal-compliance/subproject/package.json +0 -0
  298. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/examples/vulnerable-configs/README.md +0 -0
  299. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/launch/MARKET-RESEARCH-2026-04-12.md +0 -0
  300. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/launch/awesome-list-prs/awesome-opensource-security.md +0 -0
  301. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/launch/awesome-list-prs/awesome-security.md +0 -0
  302. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/launch/blog-50-mcp-servers.md +0 -0
  303. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/launch/demo.cast +0 -0
  304. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/launch/owasp-outreach.md +0 -0
  305. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/launch/state-of-mcp-security-2026.md +0 -0
  306. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/mkdocs.yml +0 -0
  307. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/public/badges/ox-coverage.json +0 -0
  308. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/public/corpora/manifest.json +0 -0
  309. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/releases/v0.3.10.md +0 -0
  310. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/releases/v0.3.5.md +0 -0
  311. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/releases/v0.3.6.md +0 -0
  312. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/releases/v0.3.7.md +0 -0
  313. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/releases/v0.3.8.md +0 -0
  314. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/releases/v0.3.9.md +0 -0
  315. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/requirements-lock.txt +0 -0
  316. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/research/state-of-mcp-2026/PREVALENCE.md +0 -0
  317. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/research/state-of-mcp-2026/REPORT.md +0 -0
  318. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/research/state-of-mcp-2026/results.json +0 -0
  319. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/research/state-of-mcp-2026/run_report.py +0 -0
  320. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/schema/ox-cve-manifest.schema.json +0 -0
  321. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/backfill_cve_property.py +0 -0
  322. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/build_coverage_page.py +0 -0
  323. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/close_duplicate_cve_issues.py +0 -0
  324. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/cve_watcher.py +0 -0
  325. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/gen_coverage.py +0 -0
  326. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/gen_owasp_coverage.py +0 -0
  327. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/generate_lockfile.py +0 -0
  328. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/install-pre-commit.sh +0 -0
  329. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/sync_repo_metadata.py +0 -0
  330. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/sync_rule_count.py +0 -0
  331. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/sync_scanner_count.py +0 -0
  332. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/scripts/watch_csa_mcp_baseline.py +0 -0
  333. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/site/coverage/ox.json +0 -0
  334. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/site/coverage/prisma-airs.json +0 -0
  335. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/conftest.py +0 -0
  336. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/LICENSES.md +0 -0
  337. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/clean_mcp.json +0 -0
  338. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/clean_settings.json +0 -0
  339. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/crewai/safe/full_chain.py +0 -0
  340. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/crewai/vulnerable/full_chain.py +0 -0
  341. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/a2a_2026/vulnerable_card.json +0 -0
  342. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/comment-and-control-2026-04-25/patched/review_agent.py +0 -0
  343. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/comment-and-control-2026-04-25/vulnerable/review_agent.py +0 -0
  344. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2025-65720-gpt-researcher/config-safe-rejected/.mcp.json +0 -0
  345. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2025-65720-gpt-researcher/config-unsafe/.mcp.json +0 -0
  346. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2025-65720-gpt-researcher/pin-vulnerable-git/package.json +0 -0
  347. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2025-65720-gpt-researcher/pin-vulnerable-pypi/requirements.txt +0 -0
  348. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2025-66335/patched/requirements.txt +0 -0
  349. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2025-66335/vulnerable/requirements.txt +0 -0
  350. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-20205/patched-splunk-pin/requirements.txt +0 -0
  351. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-20205/redacted-token-log/server.py +0 -0
  352. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-20205/vulnerable-splunk-pin/requirements.txt +0 -0
  353. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-20205/vulnerable-token-log/server.py +0 -0
  354. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-20205-config/patched-yaml/splunk-mcp.yaml +0 -0
  355. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-20205-config/vulnerable-inputs/inputs.conf +0 -0
  356. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-20205-config/vulnerable-yaml/splunk-mcp.yaml +0 -0
  357. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-23744-mcp-inspector/vendored-fork/vendor/mcpjam-inspector/server.ts +0 -0
  358. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-26015-docsgpt/config-safe-no-override/.mcp.json +0 -0
  359. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-26015-docsgpt/config-safe-rejected/.mcp.json +0 -0
  360. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-26015-docsgpt/config-unsafe/.mcp.json +0 -0
  361. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-26015-docsgpt/pin-safe/package.json +0 -0
  362. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-26015-docsgpt/pin-vulnerable/package.json +0 -0
  363. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-26015-docsgpt/pin-vulnerable-git/package.json +0 -0
  364. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-26030-semantic-kernel/pin-safe/requirements.txt +0 -0
  365. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-26030-semantic-kernel/pin-safe-floor/requirements.txt +0 -0
  366. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-26030-semantic-kernel/pin-vulnerable/requirements.txt +0 -0
  367. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-27825-atlassian/patched-pin/requirements.txt +0 -0
  368. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-27825-atlassian/vulnerable/agent.py +0 -0
  369. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-30615/patched/py_argv_allowlist.py +0 -0
  370. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-30615/vulnerable/py_os_system_stdin.py +0 -0
  371. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-30615/vulnerable/py_subprocess_shell.py +0 -0
  372. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-30615/vulnerable/ts_execa_shell.ts +0 -0
  373. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-30623-litellm/patched/requirements-floor.txt +0 -0
  374. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-30623-litellm/patched/requirements.txt +0 -0
  375. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-30623-litellm/vulnerable/requirements.txt +0 -0
  376. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-32211/patched-with-auth/.mcp.json +0 -0
  377. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-32211/vulnerable-no-auth/.mcp.json +0 -0
  378. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-32211-server/pyproject.toml +0 -0
  379. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-32211-server/server.py +0 -0
  380. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-33032/patched/router.go +0 -0
  381. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-33032/vulnerable/router.go +0 -0
  382. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-33032/vulnerable/server.py +0 -0
  383. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-33032/vulnerable/server.ts +0 -0
  384. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-33626/patched-pin/requirements.txt +0 -0
  385. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-33626/vulnerable/pipeline.py +0 -0
  386. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-39313/length-capped/http.ts +0 -0
  387. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-39313/patched/package.json +0 -0
  388. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-39313/vulnerable/http.ts +0 -0
  389. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-39313/vulnerable/package.json +0 -0
  390. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-40068-claudecode/pin-safe/package.json +0 -0
  391. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-40068-claudecode/pin-vulnerable/package.json +0 -0
  392. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-40933/vulnerable/flow.json +0 -0
  393. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-41481/patched-no-redirect/server.py +0 -0
  394. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-41481/patched-pin/requirements.txt +0 -0
  395. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-41481/vulnerable-pin/requirements.txt +0 -0
  396. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-41481/vulnerable-redirect/server.py +0 -0
  397. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-41488/patched-pin/requirements.txt +0 -0
  398. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-41488/patched-pinned/server.py +0 -0
  399. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-41488/vulnerable-pin/requirements.txt +0 -0
  400. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-41488/vulnerable-toctou/server.py +0 -0
  401. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-44717-mcp-calculate-server/pin-safe/requirements.txt +0 -0
  402. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-44717-mcp-calculate-server/pin-safe-floor/requirements.txt +0 -0
  403. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-44717-mcp-calculate-server/pin-vulnerable/requirements.txt +0 -0
  404. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-7061-chatgpt-mcp/safe/package.json +0 -0
  405. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-7061-chatgpt-mcp/vulnerable-git/package.json +0 -0
  406. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-7061-chatgpt-mcp/vulnerable-shorthand/package.json +0 -0
  407. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-7591-astro-mcp/source-safe/no_import.ts +0 -0
  408. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-7591-astro-mcp/source-safe/parametrized.ts +0 -0
  409. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-7591-astro-mcp/source-safe/tagged_template.ts +0 -0
  410. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-7591-astro-mcp/source-unsafe/index.ts +0 -0
  411. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/cve-2026-7591-astro-mcp/vulnerable/package.json +0 -0
  412. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/apollo-patched/package.json +0 -0
  413. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/apollo-vulnerable/package.json +0 -0
  414. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/java-patched/pom.xml +0 -0
  415. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/java-vulnerable/pom.xml +0 -0
  416. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/python-patched/requirements.txt +0 -0
  417. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/python-pattern-guarded/requirements.txt +0 -0
  418. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/python-pattern-guarded/server.py +0 -0
  419. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/python-pattern-unguarded/requirements.txt +0 -0
  420. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/python-pattern-unguarded/server.py +0 -0
  421. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/dns-rebind-sdk-class/python-vulnerable/requirements.txt +0 -0
  422. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/healthcare_ai/safe_skill.md +0 -0
  423. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/healthcare_ai/vulnerable_skill.md +0 -0
  424. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/hook_rce/safe_settings.json +0 -0
  425. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/hook_rce/vulnerable_settings.json +0 -0
  426. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/india_pii/safe.txt +0 -0
  427. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/india_pii/vulnerable.txt +0 -0
  428. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/langchain/safe_requirements.txt +0 -0
  429. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/langchain/vulnerable_prompt.py +0 -0
  430. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/langchain/vulnerable_requirements.txt +0 -0
  431. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/marketplace/safe.json +0 -0
  432. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/marketplace/vulnerable.json +0 -0
  433. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/mcp_auth/safe_server.py +0 -0
  434. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/mcp_auth/vulnerable_server.py +0 -0
  435. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/oauth/safe.py +0 -0
  436. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/oauth/vulnerable.py +0 -0
  437. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ox-mcp-stdio-class/patched_java.java +0 -0
  438. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ox-mcp-stdio-class/patched_py.py +0 -0
  439. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ox-mcp-stdio-class/patched_rust.rs +0 -0
  440. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ox-mcp-stdio-class/patched_ts.ts +0 -0
  441. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ox-mcp-stdio-class/vulnerable_java.java +0 -0
  442. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ox-mcp-stdio-class/vulnerable_py.py +0 -0
  443. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ox-mcp-stdio-class/vulnerable_rust.rs +0 -0
  444. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ox-mcp-stdio-class/vulnerable_ts.ts +0 -0
  445. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/routines/safe.json +0 -0
  446. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/routines/vulnerable.json +0 -0
  447. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/skills/safe.md +0 -0
  448. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/skills/vulnerable.md +0 -0
  449. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ssrf/safe.py +0 -0
  450. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/ssrf/vulnerable.py +0 -0
  451. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/state_privacy/safe_privacy.md +0 -0
  452. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/state_privacy/vulnerable_privacy.md +0 -0
  453. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/tasks/safe.py +0 -0
  454. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/cves/tasks/vulnerable.py +0 -0
  455. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/deepseek/safe/agent.py +0 -0
  456. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/deepseek/vulnerable/agent.py +0 -0
  457. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/env_with_secrets +0 -0
  458. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/documented_risk/.agent-audit-kit.yml +0 -0
  459. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/documented_risk/agent.yaml +0 -0
  460. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/multilingual_en_only/agent.yaml +0 -0
  461. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/multilingual_en_only/evals/welcome.en.yaml +0 -0
  462. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/multilingual_internal_only/agent.yaml +0 -0
  463. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/multilingual_with_coverage/agent.yaml +0 -0
  464. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/multilingual_with_coverage/evals/welcome.de.yaml +0 -0
  465. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/multilingual_with_coverage/evals/welcome.en.yaml +0 -0
  466. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/multilingual_with_coverage/evals/welcome.fr.yaml +0 -0
  467. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/eu_ai_act_art15_locale/single_locale/agent.yaml +0 -0
  468. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/harness_shared_state/safe_multi_agent.py +0 -0
  469. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/harness_shared_state/unsafe_multi_agent.py +0 -0
  470. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ipi-wild-2026-04-24/poisoned_template.md +0 -0
  471. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/mcp-fhi/clean/server.py +0 -0
  472. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/mcp-fhi/vulnerable/server.py +0 -0
  473. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/documented-risk/.agent-audit-kit.yml +0 -0
  474. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/documented-risk/requirements.txt +0 -0
  475. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/documented-risk/server.py +0 -0
  476. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/python/sanitized/requirements.txt +0 -0
  477. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/python/sanitized/server.py +0 -0
  478. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/python/vulnerable/requirements.txt +0 -0
  479. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/python/vulnerable/server.py +0 -0
  480. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/typescript/sanitized/package.json +0 -0
  481. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/typescript/sanitized/server.ts +0 -0
  482. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/typescript/vulnerable/package.json +0 -0
  483. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-2026-04-15/typescript/vulnerable/server.ts +0 -0
  484. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-marketplace-fetch/patched.py +0 -0
  485. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-marketplace-fetch/vulnerable.py +0 -0
  486. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/ox-mcp-marketplace-fetch/vulnerable.ts +0 -0
  487. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/incidents/vercel-2026-04-19/app.yaml +0 -0
  488. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/kong_konnect/.mcp.json +0 -0
  489. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/langchain_prompt_loader/constant_safe.py +0 -0
  490. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/langchain_prompt_loader/user_path_unsafe.py +0 -0
  491. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/langchain_prompt_loader/validated_safe.py +0 -0
  492. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/langgraph/safe/graph.py +0 -0
  493. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/langgraph/vulnerable/graph.py +0 -0
  494. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/clean_python/requirements.txt +0 -0
  495. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/clean_python/server.py +0 -0
  496. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/config_clean/.mcp.json +0 -0
  497. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/config_vulnerable/.mcp.json +0 -0
  498. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/documented_risk/.agent-audit-kit.yml +0 -0
  499. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/documented_risk/requirements.txt +0 -0
  500. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/documented_risk/server.py +0 -0
  501. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/vulnerable_python/requirements.txt +0 -0
  502. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/vulnerable_python/server.py +0 -0
  503. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/vulnerable_typescript/package.json +0 -0
  504. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_sampling/vulnerable_typescript/server.ts +0 -0
  505. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/clean_py/requirements.txt +0 -0
  506. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/clean_py/server.py +0 -0
  507. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/documented_risk/.agent-audit-kit.yml +0 -0
  508. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/documented_risk/requirements.txt +0 -0
  509. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/documented_risk/server.py +0 -0
  510. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_001_py/requirements.txt +0 -0
  511. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_001_py/server.py +0 -0
  512. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_001_ts/package.json +0 -0
  513. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_001_ts/server.ts +0 -0
  514. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_002_py/client.py +0 -0
  515. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_002_py/requirements.txt +0 -0
  516. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_003_k8s/service.yaml +0 -0
  517. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_003_nginx/nginx.conf +0 -0
  518. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_003_store_py/handlers.py +0 -0
  519. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_003_store_py/requirements.txt +0 -0
  520. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_004_client/client.py +0 -0
  521. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_stateless/vulnerable_004_client/requirements.txt +0 -0
  522. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_tool_unsafe_eval/eval_safe.py +0 -0
  523. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_tool_unsafe_eval/eval_unsafe.py +0 -0
  524. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/mcp_tool_unsafe_eval/no_tool_decorator.py +0 -0
  525. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/metis_pomdp/refusal_refeed_safe.py +0 -0
  526. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/metis_pomdp/refusal_refeed_unsafe.py +0 -0
  527. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/metis_pomdp/scoring_sink_unsafe.py +0 -0
  528. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/openapi_smells/clean.openapi.yaml +0 -0
  529. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/openapi_smells/smelly.openapi.yaml +0 -0
  530. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/openclaw/role_default_admin_unsafe.py +0 -0
  531. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/openclaw/role_explicit_safe.py +0 -0
  532. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/package_with_risks.json +0 -0
  533. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/pipelock/policy_invalid.yaml +0 -0
  534. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/pipelock/policy_minimal.yaml +0 -0
  535. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/pipelock/policy_with_parity.yaml +0 -0
  536. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/project_deal/safe/pricer.py +0 -0
  537. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/project_deal/vulnerable/pricer.py +0 -0
  538. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/server_cards/clean.server-card.json +0 -0
  539. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/server_cards/poisoned.server-card.json +0 -0
  540. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/skill_lifecycle/safe_skill.py +0 -0
  541. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/skill_lifecycle/unsafe_skill.py +0 -0
  542. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/social_agents/tiktok_human_in_loop.py +0 -0
  543. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/social_agents/tiktok_unsafe.py +0 -0
  544. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/stainless_lineage/config_root/stainless.yml +0 -0
  545. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/stainless_lineage/generated_python_sdk/client.py +0 -0
  546. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/stainless_lineage/generated_typescript_sdk/client.ts +0 -0
  547. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/stainless_lineage/handwritten/server.py +0 -0
  548. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/vulnerable_hooks.json +0 -0
  549. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/vulnerable_mcp.json +0 -0
  550. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/fixtures/vulnerable_settings.json +0 -0
  551. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_a2a_2026.py +0 -0
  552. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_a2a_protocol.py +0 -0
  553. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_action.py +0 -0
  554. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_agent_config.py +0 -0
  555. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_aicm.py +0 -0
  556. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_anthropic_sdk_hardening.py +0 -0
  557. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_argv_toctou.py +0 -0
  558. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cli.py +0 -0
  559. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_compliance_output.py +0 -0
  560. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_compliance_v2.py +0 -0
  561. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_coverage_tables.py +0 -0
  562. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_crewai_nvd_and_evasion.py +0 -0
  563. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_csa_baseline_watcher.py +0 -0
  564. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2025_66335.py +0 -0
  565. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2025_66414_python_sdk.py +0 -0
  566. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_20205_config.py +0 -0
  567. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_20205_splunk.py +0 -0
  568. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_32211.py +0 -0
  569. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_32211_server.py +0 -0
  570. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_33626.py +0 -0
  571. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_35568_java.py +0 -0
  572. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_35577_apollo.py +0 -0
  573. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_39313.py +0 -0
  574. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_40576_excel.py +0 -0
  575. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_40608_next_ai_draw.py +0 -0
  576. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_41481.py +0 -0
  577. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_2026_41488.py +0 -0
  578. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_fix_and_watch_and_advisories.py +0 -0
  579. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cve_watcher_dedup.py +0 -0
  580. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cves_2026.py +0 -0
  581. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_cyclonedx_aibom.py +0 -0
  582. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_determinism_benchmark.py +0 -0
  583. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_diff.py +0 -0
  584. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_discovery.py +0 -0
  585. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_engine.py +0 -0
  586. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_engine_ignore_paths.py +0 -0
  587. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_eu_ai_act_art15_locale.py +0 -0
  588. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_examples.py +0 -0
  589. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_fix.py +0 -0
  590. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_flowise.py +0 -0
  591. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_gha_immutable.py +0 -0
  592. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_healthcare_ai_and_state_privacy.py +0 -0
  593. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_hook_injection.py +0 -0
  594. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_index_builder.py +0 -0
  595. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_india_pii.py +0 -0
  596. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_integrations_notify.py +0 -0
  597. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_kong_konnect_cve_2026_13341.py +0 -0
  598. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_legal_compliance.py +0 -0
  599. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_llm_scan.py +0 -0
  600. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_llm_scan_mod.py +0 -0
  601. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_llm_sql_rce.py +0 -0
  602. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_marketplace_manifest.py +0 -0
  603. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_marketplace_sources.py +0 -0
  604. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_attestation.py +0 -0
  605. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_auth_pathtraversal.py +0 -0
  606. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_config.py +0 -0
  607. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_env_placeholder_exfil.py +0 -0
  608. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_http_noauth_server.py +0 -0
  609. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_marketplace_fetch.py +0 -0
  610. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_noauth_default.py +0 -0
  611. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_sampling_capability.py +0 -0
  612. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_server_card.py +0 -0
  613. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_stateless_migration.py +0 -0
  614. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_stdio_cmd_inj_java.py +0 -0
  615. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_stdio_cmd_inj_python.py +0 -0
  616. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_stdio_cmd_inj_rust.py +0 -0
  617. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_stdio_cmd_inj_typescript.py +0 -0
  618. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_stdio_launcher.py +0 -0
  619. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_toolgate_asymmetry.py +0 -0
  620. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcp_tunnel.py +0 -0
  621. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_mcpwn.py +0 -0
  622. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_nsa_mcp_csi.py +0 -0
  623. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_oauth_surface.py +0 -0
  624. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_owasp_agentic_coverage.py +0 -0
  625. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_owasp_public_json.py +0 -0
  626. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_owasp_report.py +0 -0
  627. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_owasp_report_output.py +0 -0
  628. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_parity_region_drift.py +0 -0
  629. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_phase3.py +0 -0
  630. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_pin_drift.py +0 -0
  631. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_pinning.py +0 -0
  632. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_pinning_mod.py +0 -0
  633. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_pr_summary.py +0 -0
  634. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_preset_mcp_ox_2026_04.py +0 -0
  635. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_proxy.py +0 -0
  636. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_repo_metadata_sync.py +0 -0
  637. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_rule_count_sync.py +0 -0
  638. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_sandbox_self_disable.py +0 -0
  639. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_sarif_fingerprints.py +0 -0
  640. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_sarif_github_upload.py +0 -0
  641. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_sarif_output.py +0 -0
  642. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_scoring.py +0 -0
  643. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_secret_exposure.py +0 -0
  644. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_shared_resource_authz.py +0 -0
  645. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_skill_poisoning.py +0 -0
  646. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_skill_untrusted_exec_path.py +0 -0
  647. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_stdio_injection.py +0 -0
  648. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_supply_chain.py +0 -0
  649. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_taint_analysis.py +0 -0
  650. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_tool_poisoning.py +0 -0
  651. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_toxic_flow.py +0 -0
  652. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_transport_security.py +0 -0
  653. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_trust_boundary.py +0 -0
  654. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_typescript_pattern_scan_sql.py +0 -0
  655. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_10_features.py +0 -0
  656. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_10_rules.py +0 -0
  657. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_11_rules.py +0 -0
  658. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_13_rules.py +0 -0
  659. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_14_rules.py +0 -0
  660. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_15_rules.py +0 -0
  661. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_16_rules.py +0 -0
  662. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_17_rules.py +0 -0
  663. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_18_rules.py +0 -0
  664. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_19_rules.py +0 -0
  665. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_1_cve_rules.py +0 -0
  666. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_20_rules.py +0 -0
  667. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_21_rules.py +0 -0
  668. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_22_rules.py +0 -0
  669. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_8_features.py +0 -0
  670. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_8_rules.py +0 -0
  671. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_9_features.py +0 -0
  672. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_9_features_p1.py +0 -0
  673. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_v0_3_9_rules.py +0 -0
  674. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_verification.py +0 -0
  675. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_verification_mod.py +0 -0
  676. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/tests/test_vuln_db.py +0 -0
  677. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/vscode-extension/.vscodeignore +0 -0
  678. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/vscode-extension/CLAUDE.md +0 -0
  679. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/vscode-extension/README.md +0 -0
  680. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/vscode-extension/package.json +0 -0
  681. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/vscode-extension/src/extension.ts +0 -0
  682. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/vscode-extension/src/sarifReader.ts +0 -0
  683. {agent_audit_kit-0.3.46 → agent_audit_kit-0.3.47}/vscode-extension/tsconfig.json +0 -0
@@ -8,6 +8,12 @@ shipped-at timestamp. The GitHub Action `.github/workflows/cve-watcher.yml`
8
8
  diffs NVD's MCP keyword feed against this file and opens an
9
9
  `sla-48h`-labelled issue for anything new.
10
10
 
11
+ ## Shipped in v0.3.47 (2026-07-07)
12
+
13
+ | Incident / Anchor | Reference | AAK rule(s) | Shipped | Latency |
14
+ |---|---|---|---|---|
15
+ | CVE-2026-14471 (Amazon mcp-gateway-registry < 1.0.13 — SQL injection: crafted `table_name` interpolated into an SQL identifier in the metrics-service retention policy, CWE-89) | [NVD CVE-2026-14471](https://nvd.nist.gov/vuln/detail/CVE-2026-14471) (HIGH, CVSS 8.1, published 2026-07-06) | **AAK-MCP-GATEWAY-REGISTRY-CVE-2026-14471-001** (NEW: HIGH, SUPPLY_CHAIN — version-pin, fires < 1.0.13 / unpinned) | 2026-07-07 | <24h on NVD |
16
+
11
17
  ## Shipped in v0.3.46 (2026-07-06)
12
18
 
13
19
  | Incident / Anchor | Reference | AAK rule(s) | Shipped | Latency |
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added — AAK-MCP-GATEWAY-REGISTRY-CVE-2026-14471-001 (Amazon mcp-gateway-registry SQLi)
11
+
12
+ CVE-response (closes #408). New **HIGH** rule + version-pin detector for
13
+ [CVE-2026-14471](https://nvd.nist.gov/vuln/detail/CVE-2026-14471) (CVSS 8.1):
14
+ Amazon `mcp-gateway-registry` before 1.0.13 interpolates a caller-supplied
15
+ `table_name` into an SQL identifier position in the metrics-service retention
16
+ policy (CWE-89), letting an authenticated remote user run arbitrary SQL. Fires
17
+ on `< 1.0.13` or an unpinned reference across manifests + MCP config files;
18
+ fixture-backed test; `rules.json` regenerated. Rule count **231 → 232**.
19
+
20
+ ### Fixed — correct SEP citations on the AAK-MCP-STATELESS-* pack
21
+
22
+ Citation-accuracy pass on the shipped stateless-migration rules (no detection
23
+ change, rule count stays 231). The `Mcp-Session-Id` / protocol-session removal
24
+ was mis-attributed to SEP-1442; it is actually **SEP-2567** ("Sessionless MCP
25
+ via Explicit State Handles"), with SEP-1442 / **SEP-2575** making the init
26
+ handshake optional so stateless is the default. The `tasks/list` removal cited
27
+ a **non-existent SEP-1359**; corrected to the experimental Tasks primitive
28
+ (**SEP-1686**) moving out of core into the Extensions framework (redesigned as
29
+ **SEP-2663**). Updated `AAK-MCP-STATELESS-001`/`-002` descriptions, the
30
+ `mcp_stateless_migration` scanner docstring + engine label, and `rules.json`.
31
+ Verified against modelcontextprotocol.io + the MCP GitHub SEPs. Version
32
+ **0.3.46 → 0.3.47**.
33
+
10
34
  ### Security — Flowise CVE-2026-58057 (closes #372)
11
35
 
12
36
  Bumped `AAK-FLOWISE-001`'s pin floor **3.1.2 → 3.1.3** and added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-audit-kit
3
- Version: 0.3.46
3
+ Version: 0.3.47
4
4
  Summary: Security scanner for MCP-connected AI agent pipelines
5
5
  Project-URL: Homepage, https://github.com/sattyamjjain/agent-audit-kit
6
6
  Project-URL: Repository, https://github.com/sattyamjjain/agent-audit-kit
@@ -42,7 +42,7 @@ Description-Content-Type: text/markdown
42
42
  <a href="https://pypi.org/project/agent-audit-kit/"><img src="https://img.shields.io/pypi/v/agent-audit-kit.svg" alt="PyPI"></a>
43
43
  <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python 3.9+"></a>
44
44
  <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
45
- <a href="#what-it-scans"><img src="https://img.shields.io/badge/rules-231-blue.svg" alt="Rules: 231"></a>
45
+ <a href="#what-it-scans"><img src="https://img.shields.io/badge/rules-232-blue.svg" alt="Rules: 232"></a>
46
46
  <a href="#frameworks--standards"><img src="https://img.shields.io/badge/OWASP_Agentic-10%2F10-green.svg" alt="OWASP Agentic: 10/10"></a>
47
47
  <a href="#frameworks--standards"><img src="https://img.shields.io/badge/OWASP_MCP-10%2F10-green.svg" alt="OWASP MCP: 10/10"></a>
48
48
  <a href="https://sattyamjjain.github.io/agent-audit-kit/"><img src="https://img.shields.io/badge/MCP_Security_Index-live-blue.svg" alt="MCP Security Index"></a>
@@ -61,7 +61,7 @@ Security scanner for MCP-connected AI agent pipelines. Finds misconfigurations,
61
61
  1. **Runs fully offline and deterministically.** Your code, configs, and secrets never leave the machine; the default scan path makes zero network calls, and the same input always yields the same finding (no model in the loop). This is measured, not just claimed: [20/20 identical runs → one shared SHA-256 finding-set digest, 0% variance](benchmarks/determinism/RESULTS.md). Scanners that route findings through an LLM judge can't guarantee a byte-identical re-run — so CI diffs, audit re-runs, and regression baselines stay stable here. No account, no telemetry.
62
62
  2. **Produces auditor-ready compliance-evidence packs.** SARIF for the GitHub Security tab plus PDF evidence reports mapped to 13 frameworks (EU AI Act, SOC 2, ISO 27001/42001, HIPAA, NIST AI RMF, and regional regimes) — what you hand an auditor, not just a list of findings.
63
63
 
64
- - **<!-- rule-count:total -->231<!-- /rule-count --> rules** across 12 security categories, covering the 2026 CVE wave
64
+ - **<!-- rule-count:total -->232<!-- /rule-count --> rules** across 12 security categories, covering the 2026 CVE wave
65
65
  - Rule count is computed from the registry and verified in CI (`test_rule_count_is_canonical`).
66
66
  - **<!-- scanner-count:total -->81<!-- /scanner-count --> scanner modules** including AST-based Python taint analysis and regex pattern scanners for TypeScript/JavaScript and Rust
67
67
  - **16 CLI commands**: `scan`, `discover`, `pin`, `verify`, `fix`, `score`, `update`, `proxy`, `kill`, `watch`, plus `export-rules`, `verify-bundle`, `sbom`, `report`, `install-precommit`, and the Security-Advisories scan flag
@@ -100,7 +100,7 @@ jobs:
100
100
  runs-on: ubuntu-latest
101
101
  steps:
102
102
  - uses: actions/checkout@v4
103
- - uses: sattyamjjain/agent-audit-kit@v0.3.46
103
+ - uses: sattyamjjain/agent-audit-kit@v0.3.47
104
104
  with:
105
105
  fail-on: high
106
106
  ```
@@ -120,7 +120,7 @@ agent-audit-kit scan .
120
120
  # .pre-commit-config.yaml
121
121
  repos:
122
122
  - repo: https://github.com/sattyamjjain/agent-audit-kit
123
- rev: v0.3.46
123
+ rev: v0.3.47
124
124
  hooks:
125
125
  - id: agent-audit-kit
126
126
  ```
@@ -145,7 +145,7 @@ agent-audit-kit scan examples/vulnerable-configs/04-hook-exfiltration/
145
145
  | Category | Rules | What It Detects |
146
146
  |----------|:-----:|-----------------|
147
147
  | **MCP Configuration** | <!-- category-count:MCP_CONFIG -->53<!-- /category-count --> | Missing auth middleware (CVE-2026-33032 class), empty IP allowlists, wildcard CORS, path traversal in resource handlers, SSRF (CWE-918), OAuth 2.1 misconfig (PKCE/S256/DPoP), Tasks primitive leakage (SEP-1686), shell injection, MCPwn middleware-asymmetry, Azure MCP no-auth (CVE-2026-32211), MCP Inspector vendored fork (CVE-2026-23744), 2026-07-28 stateless-MCP migration (`Mcp-Session-Id` reliance, removed `tasks/list`, sticky-session deployment, un-cached client `tools/list`), deny-by-default attested admission (signed clearance / `/.well-known/mcp-clearance` / pinned trust root — arXiv:2605.24248), Anthropic MCP Tunnels gateway (SSRF defense disabled / `upstream.disable_ip_validation`, HTTPS upstream missing `upstream.tls.ca_file` trust anchor, tunnel token + TLS private keys hardcoded in CI / committed Kubernetes Secrets — research preview 2026-05-19), stdio launcher injection (`npx`/`node`/`bash`/`sh`/`python` with `-c`/`-e`/`--eval`, or non-pinned interpolated argv — CVE-2026-40933), tool-gate enforcement asymmetry (allowlist / read-only / non-destructive check applied in `tools/list` but not `tools/call` — CVE-2026-46519), unauthenticated MCP HTTP/SSE server on `0.0.0.0` / wildcard CORS (GitLab/Nocturne/AgenticMail no-auth class — CVE-2026-44895/44830/50287), plus the non-loopback no-auth **launch surface** — `mcp.json`/`claude_desktop_config.json`/`*.mcp.yaml` `command`/`args`, Docker `--host 0.0.0.0`/`-p 0.0.0.0:`, and MCP Inspector / FastMCP startup binding `0.0.0.0`/`::`/a routable IP with no token or `DANGEROUSLY_OMIT_AUTH` set (CWE-306; MCP Inspector exemplar CVE-2026-23744; mcp-pinot `0.0.0.0:8080` no-auth CVE-2026-49257; Windows-MCP wildcard-CORS no-auth CVE-2026-48989; ~12,520 exposed services per Censys), argv-rebuild-after-allowlist command-injection TOCTOU (a command/argv approved against an allow/deny list is re-split / re-joined / extended before `subprocess`/`os.exec*` / Node `child_process.spawn`/`execa` with no re-check — `AAK-MCP-ARGV-TOCTOU-001`, **CWE-77 + CWE-367 / CVE-2026-53822**), MCP server unauthenticated-by-default / fail-open auth (an auth function returning truthy on an empty/unset secret, a placeholder/empty secret literal — `""`/`changeme`/`os.environ.get(...,"")` — or a warning-only secret gate on a `0.0.0.0` bind — `AAK-MCP-NOAUTH-DEFAULT`, **CWE-306 + CWE-862 / CVE-2026-48814** (incomplete fix of CVE-2026-46701)), bearer-token → session-file path traversal (an untrusted token / `Authorization` header joined into a session file path used for an existence/read check with no separator-reject or resolve-and-contain guard — `AAK-MCP-AUTH-PATHTRAVERSAL-001`, **CWE-22 / CVE-2026-52830**, fast-mcp-telegram < 0.19.1) |
148
- | **Supply Chain** | <!-- category-count:SUPPLY_CHAIN -->41<!-- /category-count --> | Vulnerable LangChain / langchain-text-splitters versions, named pin rules for `astro-mcp-server` / `chatgpt-mcp-server` / `docsgpt` / `gpt-researcher` / `litellm` / `mcp-calculate-server` / `semantic-kernel` / `@anthropic-ai/claude-code` / `apache-doris-mcp-server` / `excel-mcp-server`, OX MCP-STDIO command-injection (Python/TS/Java/Rust) — `AAK-MCP-STDIO-CMD-INJ-001..004` — Stainless-generator lineage, marketplace.json signatures / typosquat / mutable refs, unpinned packages, dangerous install scripts, untrusted-search-path executable override in skill/install flows (`.env`-sourced binary, workspace-prepended `PATH`, `shutil.which` over a tainted PATH, Homebrew env override — `AAK-SKILL-UNTRUSTED-EXEC-PATH`, **CWE-426 / CVE-2026-53819**) |
148
+ | **Supply Chain** | <!-- category-count:SUPPLY_CHAIN -->42<!-- /category-count --> | Vulnerable LangChain / langchain-text-splitters versions, named pin rules for `astro-mcp-server` / `chatgpt-mcp-server` / `docsgpt` / `gpt-researcher` / `litellm` / `mcp-calculate-server` / `semantic-kernel` / `@anthropic-ai/claude-code` / `apache-doris-mcp-server` / `excel-mcp-server`, OX MCP-STDIO command-injection (Python/TS/Java/Rust) — `AAK-MCP-STDIO-CMD-INJ-001..004` — Stainless-generator lineage, marketplace.json signatures / typosquat / mutable refs, unpinned packages, dangerous install scripts, untrusted-search-path executable override in skill/install flows (`.env`-sourced binary, workspace-prepended `PATH`, `shutil.which` over a tainted PATH, Homebrew env override — `AAK-SKILL-UNTRUSTED-EXEC-PATH`, **CWE-426 / CVE-2026-53819**) |
149
149
  | **Tool Poisoning** | <!-- category-count:TOOL_POISONING -->27<!-- /category-count --> | Invisible Unicode / bidi, skill frontmatter injection, SKILL.md post-install commands, data-exfil primitives, skill name hijacking, cross-tool references, rug-pull (SHA-256 pinning), `@mcp.tool` unsafe-eval (CVE-2026-44717 generalization), OpenAPI smells (Hermes paper LAZY/BLOATED/TANGLED), Metis POMDP refusal-refeed + scoring-sink, SkillsVote lifecycle attribution, MCP Calculate Server pin, Kong Konnect MCP server < 1.0.0 indirect prompt injection → unintended Konnect/Admin API requests (`AAK-MCP-KONG-CVE-2026-13341-001`, **CVE-2026-13341**, HIGH 7.4). Indirect-prompt-injection detection (`AAK-POISON-001..006`) runs against tool descriptions **and** every per-parameter `inputSchema.properties.*.description` (recursive — nested objects, array items, `anyOf`/`allOf`/`oneOf`), so instruction text hidden in a single argument's docstring is caught |
150
150
  | **Secret Exposure** | <!-- category-count:SECRET_EXPOSURE -->18<!-- /category-count --> | Anthropic/OpenAI/AWS/GitHub/GitLab/GCP keys, Shannon-entropy detection, `.env` leaks, private-key files, hardcoded credential surface, token-leak via log sinks (CVE-2026-20205), `${VAR}`/process.env placeholder resolution on user-supplied MCP URLs → secret exfiltration (CVE-2026-32625) |
151
151
  | **Agent Config** | <!-- category-count:AGENT_CONFIG -->15<!-- /category-count --> | Routines permission escalation + schedule injection + audit-log gaps, AGENTS.md/CLAUDE.md/.cursorrules hijacking, hidden Unicode, encoded payloads, internal scanner-fail signal, Project Deal economic-drift detection |
@@ -157,7 +157,7 @@ agent-audit-kit scan examples/vulnerable-configs/04-hook-exfiltration/
157
157
  | **Trust Boundaries** | <!-- category-count:TRUST_BOUNDARY -->12<!-- /category-count --> | `enableAllProjectMcpServers`, API URL redirects, wildcard permissions, missing deny rules, missing allowlists, Claude Code folder-trust bypass (CVE-2026-40068) |
158
158
  | **MCP Server Card** | <!-- category-count:MCP_SERVER_CARD -->4<!-- /category-count --> | Static audit of SEP-1649 discovery cards (`/.well-known/mcp/server-card.json`): tool-description poisoning in `tools[].description` (`AAK-MCP-CARD-001`, reuses the AAK-POISON detectors), declared-transport vs advertised-capability mismatch — remote transport with `authentication.required: false`, or `stdio` advertising a remote endpoint (`AAK-MCP-CARD-002`), missing / placeholder signature / provenance (`AAK-MCP-CARD-003`), and over-broad capability / wildcard-scope claims (`AAK-MCP-CARD-004`) |
159
159
 
160
- **<!-- rule-count:total -->231<!-- /rule-count --> rules total.** Every finding includes severity, evidence, remediation, OWASP references, Adversa references, and CVE links where applicable.
160
+ **<!-- rule-count:total -->232<!-- /rule-count --> rules total.** Every finding includes severity, evidence, remediation, OWASP references, Adversa references, and CVE links where applicable.
161
161
 
162
162
  ### MCP Server Card scanning (SEP-1649)
163
163
 
@@ -352,7 +352,7 @@ cross-reference, not a head-to-head benchmark.
352
352
  | ASI | Title | # rules |
353
353
  | --- | --- | --- |
354
354
  | **ASI01** | Goal Hijack | 12 |
355
- | **ASI02** | Tool Misuse | 38 |
355
+ | **ASI02** | Tool Misuse | 39 |
356
356
  | **ASI03** | Memory Poisoning | 56 |
357
357
  | **ASI04** | Identity & Privilege Abuse | 38 |
358
358
  | **ASI05** | Cascading Failures | 33 |
@@ -398,7 +398,7 @@ See [`docs/comparisons.md`](docs/comparisons.md) for a fully-sourced version. Ve
398
398
  | Feature | AgentAuditKit | Microsoft AGT | Snyk Agent Scan | Semgrep Multimodal |
399
399
  |---------|:---:|:---:|:---:|:---:|
400
400
  | Scope | Static scanner + compliance PDFs | Runtime governance | Static + runtime | Multimodal SAST |
401
- | Detection rules (static) | **<!-- rule-count:total -->231<!-- /rule-count -->** | Runtime policies, not rules | ~30 | LLM-assisted |
401
+ | Detection rules (static) | **<!-- rule-count:total -->232<!-- /rule-count -->** | Runtime policies, not rules | ~30 | LLM-assisted |
402
402
  | OWASP Agentic 10/10 | **Yes** | Yes | Partial | Partial |
403
403
  | OWASP MCP 10/10 | **Yes** | No (runtime-focused) | No | No |
404
404
  | Auditor-ready PDF compliance | **12 frameworks** | No | 0 | 0 |
@@ -8,7 +8,7 @@
8
8
  <a href="https://pypi.org/project/agent-audit-kit/"><img src="https://img.shields.io/pypi/v/agent-audit-kit.svg" alt="PyPI"></a>
9
9
  <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python 3.9+"></a>
10
10
  <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
11
- <a href="#what-it-scans"><img src="https://img.shields.io/badge/rules-231-blue.svg" alt="Rules: 231"></a>
11
+ <a href="#what-it-scans"><img src="https://img.shields.io/badge/rules-232-blue.svg" alt="Rules: 232"></a>
12
12
  <a href="#frameworks--standards"><img src="https://img.shields.io/badge/OWASP_Agentic-10%2F10-green.svg" alt="OWASP Agentic: 10/10"></a>
13
13
  <a href="#frameworks--standards"><img src="https://img.shields.io/badge/OWASP_MCP-10%2F10-green.svg" alt="OWASP MCP: 10/10"></a>
14
14
  <a href="https://sattyamjjain.github.io/agent-audit-kit/"><img src="https://img.shields.io/badge/MCP_Security_Index-live-blue.svg" alt="MCP Security Index"></a>
@@ -27,7 +27,7 @@ Security scanner for MCP-connected AI agent pipelines. Finds misconfigurations,
27
27
  1. **Runs fully offline and deterministically.** Your code, configs, and secrets never leave the machine; the default scan path makes zero network calls, and the same input always yields the same finding (no model in the loop). This is measured, not just claimed: [20/20 identical runs → one shared SHA-256 finding-set digest, 0% variance](benchmarks/determinism/RESULTS.md). Scanners that route findings through an LLM judge can't guarantee a byte-identical re-run — so CI diffs, audit re-runs, and regression baselines stay stable here. No account, no telemetry.
28
28
  2. **Produces auditor-ready compliance-evidence packs.** SARIF for the GitHub Security tab plus PDF evidence reports mapped to 13 frameworks (EU AI Act, SOC 2, ISO 27001/42001, HIPAA, NIST AI RMF, and regional regimes) — what you hand an auditor, not just a list of findings.
29
29
 
30
- - **<!-- rule-count:total -->231<!-- /rule-count --> rules** across 12 security categories, covering the 2026 CVE wave
30
+ - **<!-- rule-count:total -->232<!-- /rule-count --> rules** across 12 security categories, covering the 2026 CVE wave
31
31
  - Rule count is computed from the registry and verified in CI (`test_rule_count_is_canonical`).
32
32
  - **<!-- scanner-count:total -->81<!-- /scanner-count --> scanner modules** including AST-based Python taint analysis and regex pattern scanners for TypeScript/JavaScript and Rust
33
33
  - **16 CLI commands**: `scan`, `discover`, `pin`, `verify`, `fix`, `score`, `update`, `proxy`, `kill`, `watch`, plus `export-rules`, `verify-bundle`, `sbom`, `report`, `install-precommit`, and the Security-Advisories scan flag
@@ -66,7 +66,7 @@ jobs:
66
66
  runs-on: ubuntu-latest
67
67
  steps:
68
68
  - uses: actions/checkout@v4
69
- - uses: sattyamjjain/agent-audit-kit@v0.3.46
69
+ - uses: sattyamjjain/agent-audit-kit@v0.3.47
70
70
  with:
71
71
  fail-on: high
72
72
  ```
@@ -86,7 +86,7 @@ agent-audit-kit scan .
86
86
  # .pre-commit-config.yaml
87
87
  repos:
88
88
  - repo: https://github.com/sattyamjjain/agent-audit-kit
89
- rev: v0.3.46
89
+ rev: v0.3.47
90
90
  hooks:
91
91
  - id: agent-audit-kit
92
92
  ```
@@ -111,7 +111,7 @@ agent-audit-kit scan examples/vulnerable-configs/04-hook-exfiltration/
111
111
  | Category | Rules | What It Detects |
112
112
  |----------|:-----:|-----------------|
113
113
  | **MCP Configuration** | <!-- category-count:MCP_CONFIG -->53<!-- /category-count --> | Missing auth middleware (CVE-2026-33032 class), empty IP allowlists, wildcard CORS, path traversal in resource handlers, SSRF (CWE-918), OAuth 2.1 misconfig (PKCE/S256/DPoP), Tasks primitive leakage (SEP-1686), shell injection, MCPwn middleware-asymmetry, Azure MCP no-auth (CVE-2026-32211), MCP Inspector vendored fork (CVE-2026-23744), 2026-07-28 stateless-MCP migration (`Mcp-Session-Id` reliance, removed `tasks/list`, sticky-session deployment, un-cached client `tools/list`), deny-by-default attested admission (signed clearance / `/.well-known/mcp-clearance` / pinned trust root — arXiv:2605.24248), Anthropic MCP Tunnels gateway (SSRF defense disabled / `upstream.disable_ip_validation`, HTTPS upstream missing `upstream.tls.ca_file` trust anchor, tunnel token + TLS private keys hardcoded in CI / committed Kubernetes Secrets — research preview 2026-05-19), stdio launcher injection (`npx`/`node`/`bash`/`sh`/`python` with `-c`/`-e`/`--eval`, or non-pinned interpolated argv — CVE-2026-40933), tool-gate enforcement asymmetry (allowlist / read-only / non-destructive check applied in `tools/list` but not `tools/call` — CVE-2026-46519), unauthenticated MCP HTTP/SSE server on `0.0.0.0` / wildcard CORS (GitLab/Nocturne/AgenticMail no-auth class — CVE-2026-44895/44830/50287), plus the non-loopback no-auth **launch surface** — `mcp.json`/`claude_desktop_config.json`/`*.mcp.yaml` `command`/`args`, Docker `--host 0.0.0.0`/`-p 0.0.0.0:`, and MCP Inspector / FastMCP startup binding `0.0.0.0`/`::`/a routable IP with no token or `DANGEROUSLY_OMIT_AUTH` set (CWE-306; MCP Inspector exemplar CVE-2026-23744; mcp-pinot `0.0.0.0:8080` no-auth CVE-2026-49257; Windows-MCP wildcard-CORS no-auth CVE-2026-48989; ~12,520 exposed services per Censys), argv-rebuild-after-allowlist command-injection TOCTOU (a command/argv approved against an allow/deny list is re-split / re-joined / extended before `subprocess`/`os.exec*` / Node `child_process.spawn`/`execa` with no re-check — `AAK-MCP-ARGV-TOCTOU-001`, **CWE-77 + CWE-367 / CVE-2026-53822**), MCP server unauthenticated-by-default / fail-open auth (an auth function returning truthy on an empty/unset secret, a placeholder/empty secret literal — `""`/`changeme`/`os.environ.get(...,"")` — or a warning-only secret gate on a `0.0.0.0` bind — `AAK-MCP-NOAUTH-DEFAULT`, **CWE-306 + CWE-862 / CVE-2026-48814** (incomplete fix of CVE-2026-46701)), bearer-token → session-file path traversal (an untrusted token / `Authorization` header joined into a session file path used for an existence/read check with no separator-reject or resolve-and-contain guard — `AAK-MCP-AUTH-PATHTRAVERSAL-001`, **CWE-22 / CVE-2026-52830**, fast-mcp-telegram < 0.19.1) |
114
- | **Supply Chain** | <!-- category-count:SUPPLY_CHAIN -->41<!-- /category-count --> | Vulnerable LangChain / langchain-text-splitters versions, named pin rules for `astro-mcp-server` / `chatgpt-mcp-server` / `docsgpt` / `gpt-researcher` / `litellm` / `mcp-calculate-server` / `semantic-kernel` / `@anthropic-ai/claude-code` / `apache-doris-mcp-server` / `excel-mcp-server`, OX MCP-STDIO command-injection (Python/TS/Java/Rust) — `AAK-MCP-STDIO-CMD-INJ-001..004` — Stainless-generator lineage, marketplace.json signatures / typosquat / mutable refs, unpinned packages, dangerous install scripts, untrusted-search-path executable override in skill/install flows (`.env`-sourced binary, workspace-prepended `PATH`, `shutil.which` over a tainted PATH, Homebrew env override — `AAK-SKILL-UNTRUSTED-EXEC-PATH`, **CWE-426 / CVE-2026-53819**) |
114
+ | **Supply Chain** | <!-- category-count:SUPPLY_CHAIN -->42<!-- /category-count --> | Vulnerable LangChain / langchain-text-splitters versions, named pin rules for `astro-mcp-server` / `chatgpt-mcp-server` / `docsgpt` / `gpt-researcher` / `litellm` / `mcp-calculate-server` / `semantic-kernel` / `@anthropic-ai/claude-code` / `apache-doris-mcp-server` / `excel-mcp-server`, OX MCP-STDIO command-injection (Python/TS/Java/Rust) — `AAK-MCP-STDIO-CMD-INJ-001..004` — Stainless-generator lineage, marketplace.json signatures / typosquat / mutable refs, unpinned packages, dangerous install scripts, untrusted-search-path executable override in skill/install flows (`.env`-sourced binary, workspace-prepended `PATH`, `shutil.which` over a tainted PATH, Homebrew env override — `AAK-SKILL-UNTRUSTED-EXEC-PATH`, **CWE-426 / CVE-2026-53819**) |
115
115
  | **Tool Poisoning** | <!-- category-count:TOOL_POISONING -->27<!-- /category-count --> | Invisible Unicode / bidi, skill frontmatter injection, SKILL.md post-install commands, data-exfil primitives, skill name hijacking, cross-tool references, rug-pull (SHA-256 pinning), `@mcp.tool` unsafe-eval (CVE-2026-44717 generalization), OpenAPI smells (Hermes paper LAZY/BLOATED/TANGLED), Metis POMDP refusal-refeed + scoring-sink, SkillsVote lifecycle attribution, MCP Calculate Server pin, Kong Konnect MCP server < 1.0.0 indirect prompt injection → unintended Konnect/Admin API requests (`AAK-MCP-KONG-CVE-2026-13341-001`, **CVE-2026-13341**, HIGH 7.4). Indirect-prompt-injection detection (`AAK-POISON-001..006`) runs against tool descriptions **and** every per-parameter `inputSchema.properties.*.description` (recursive — nested objects, array items, `anyOf`/`allOf`/`oneOf`), so instruction text hidden in a single argument's docstring is caught |
116
116
  | **Secret Exposure** | <!-- category-count:SECRET_EXPOSURE -->18<!-- /category-count --> | Anthropic/OpenAI/AWS/GitHub/GitLab/GCP keys, Shannon-entropy detection, `.env` leaks, private-key files, hardcoded credential surface, token-leak via log sinks (CVE-2026-20205), `${VAR}`/process.env placeholder resolution on user-supplied MCP URLs → secret exfiltration (CVE-2026-32625) |
117
117
  | **Agent Config** | <!-- category-count:AGENT_CONFIG -->15<!-- /category-count --> | Routines permission escalation + schedule injection + audit-log gaps, AGENTS.md/CLAUDE.md/.cursorrules hijacking, hidden Unicode, encoded payloads, internal scanner-fail signal, Project Deal economic-drift detection |
@@ -123,7 +123,7 @@ agent-audit-kit scan examples/vulnerable-configs/04-hook-exfiltration/
123
123
  | **Trust Boundaries** | <!-- category-count:TRUST_BOUNDARY -->12<!-- /category-count --> | `enableAllProjectMcpServers`, API URL redirects, wildcard permissions, missing deny rules, missing allowlists, Claude Code folder-trust bypass (CVE-2026-40068) |
124
124
  | **MCP Server Card** | <!-- category-count:MCP_SERVER_CARD -->4<!-- /category-count --> | Static audit of SEP-1649 discovery cards (`/.well-known/mcp/server-card.json`): tool-description poisoning in `tools[].description` (`AAK-MCP-CARD-001`, reuses the AAK-POISON detectors), declared-transport vs advertised-capability mismatch — remote transport with `authentication.required: false`, or `stdio` advertising a remote endpoint (`AAK-MCP-CARD-002`), missing / placeholder signature / provenance (`AAK-MCP-CARD-003`), and over-broad capability / wildcard-scope claims (`AAK-MCP-CARD-004`) |
125
125
 
126
- **<!-- rule-count:total -->231<!-- /rule-count --> rules total.** Every finding includes severity, evidence, remediation, OWASP references, Adversa references, and CVE links where applicable.
126
+ **<!-- rule-count:total -->232<!-- /rule-count --> rules total.** Every finding includes severity, evidence, remediation, OWASP references, Adversa references, and CVE links where applicable.
127
127
 
128
128
  ### MCP Server Card scanning (SEP-1649)
129
129
 
@@ -318,7 +318,7 @@ cross-reference, not a head-to-head benchmark.
318
318
  | ASI | Title | # rules |
319
319
  | --- | --- | --- |
320
320
  | **ASI01** | Goal Hijack | 12 |
321
- | **ASI02** | Tool Misuse | 38 |
321
+ | **ASI02** | Tool Misuse | 39 |
322
322
  | **ASI03** | Memory Poisoning | 56 |
323
323
  | **ASI04** | Identity & Privilege Abuse | 38 |
324
324
  | **ASI05** | Cascading Failures | 33 |
@@ -364,7 +364,7 @@ See [`docs/comparisons.md`](docs/comparisons.md) for a fully-sourced version. Ve
364
364
  | Feature | AgentAuditKit | Microsoft AGT | Snyk Agent Scan | Semgrep Multimodal |
365
365
  |---------|:---:|:---:|:---:|:---:|
366
366
  | Scope | Static scanner + compliance PDFs | Runtime governance | Static + runtime | Multimodal SAST |
367
- | Detection rules (static) | **<!-- rule-count:total -->231<!-- /rule-count -->** | Runtime policies, not rules | ~30 | LLM-assisted |
367
+ | Detection rules (static) | **<!-- rule-count:total -->232<!-- /rule-count -->** | Runtime policies, not rules | ~30 | LLM-assisted |
368
368
  | OWASP Agentic 10/10 | **Yes** | Yes | Partial | Partial |
369
369
  | OWASP MCP 10/10 | **Yes** | No (runtime-focused) | No | No |
370
370
  | Auditor-ready PDF compliance | **12 frameworks** | No | 0 | 0 |
@@ -1,5 +1,5 @@
1
1
  name: 'AgentAuditKit MCP Security Scan'
2
- description: 'AgentAuditKit — MCP Security Scan (231 rules, OWASP Agentic Top 10 + MCP Top 10)'
2
+ description: 'AgentAuditKit — MCP Security Scan (232 rules, OWASP Agentic Top 10 + MCP Top 10)'
3
3
  author: 'sattyamjjain'
4
4
 
5
5
  branding:
@@ -1,6 +1,6 @@
1
1
  """AgentAuditKit — Security scanner for MCP-connected AI agent pipelines."""
2
2
  from __future__ import annotations
3
3
 
4
- __version__ = "0.3.46"
5
- RULE_COUNT = 231
4
+ __version__ = "0.3.47"
5
+ RULE_COUNT = 232
6
6
  SCANNER_COUNT = 81
@@ -84,7 +84,7 @@ _OPTIONAL_SCANNERS: list[tuple[str, str, list[str]]] = [
84
84
  ("skill_lifecycle_attribution", "Skill lifecycle outcome-attribution (SkillsVote, arXiv:2605.18401)", []),
85
85
  ("agent_harness_shared_state", "Multi-agent shared-state lock (Code-as-Harness, arXiv:2605.18747)", []),
86
86
  ("mcp_sampling_capability", "MCP `sampling` capability consent guard (MCP07:2025)", []),
87
- ("mcp_stateless_migration", "MCP 2026-07-28 stateless-migration smells (SEP-1442/1359)", []),
87
+ ("mcp_stateless_migration", "MCP 2026-07-28 stateless-migration smells (SEP-2567/1442/2575)", []),
88
88
  ("eu_ai_act_art15_locale", "EU AI Act Art. 15 multilingual-eval coverage (advisory)", []),
89
89
  ("mcp_tunnel", "MCP Tunnels gateway config + credential exposure (Anthropic 2026-05-19 research preview)", []),
90
90
  ("sandbox_self_disable", "Tool-schema sandbox self-disable parameter (CVE-2026-42074)", []),
@@ -125,6 +125,7 @@ _AICM_TAGS: dict[str, list[str]] = {
125
125
  "AAK-AZURE-MCP-NOAUTH-001": ["IAM-01", "IAM-16"],
126
126
  "AAK-MCP-AUTH-PATHTRAVERSAL-001": ["IAM-01", "IVS-04"],
127
127
  "AAK-MCP-KONG-CVE-2026-13341-001": ["AIS-07", "AIS-12"],
128
+ "AAK-MCP-GATEWAY-REGISTRY-CVE-2026-14471-001": ["AIS-07", "DSP-07"],
128
129
  "AAK-LMDEPLOY-VL-SSRF-001": ["IVS-04", "AIS-08"],
129
130
  "AAK-SPLUNK-MCP-TOKEN-LEAK-001": ["DSP-17", "LOG-06"],
130
131
  "AAK-MARKETPLACE-001": ["STA-10"],
@@ -525,22 +526,27 @@ _r(
525
526
  # ---------------------------------------------------------------------------
526
527
  # AAK-MCP-STATELESS-001..004 — 2026-07-28 stateless-MCP migration
527
528
  #
528
- # The MCP 2026-07-28 spec release candidate (locked 2026-05-21) makes the
529
- # protocol stateless by default: the `Mcp-Session-Id` header and the
530
- # protocol-level session are removed (SEP-1442), and the experimental
531
- # `tasks/list` method is removed because it can't be scoped safely without
532
- # sessions (SEP-1359). Server/client code that assumes the pre-RC stateful
533
- # protocol relies on `Mcp-Session-Id`, dispatches `tasks/list`, requires
534
- # sticky routing or a shared session store, or skips client-side caching of
535
- # `tools/list` while holding per-session server statewill silently break
536
- # after 2026-07-28 once the final spec lands. These four rules surface the
537
- # migration surface so it can be fixed before the cutover.
529
+ # The MCP 2026-07-28 spec release candidate makes the protocol stateless by
530
+ # default: the `Mcp-Session-Id` header and the protocol-level session are
531
+ # removed and replaced with explicit, server-minted state handles (SEP-2567),
532
+ # while making the mandatory initialization handshake optional so stateless is
533
+ # the default (SEP-1442 / SEP-2575). The experimental Tasks primitive (SEP-1686)
534
+ # — including `tasks/list` — is moved out of the core spec into the Extensions
535
+ # framework (redesigned as SEP-2663), so core `tasks/list` is removed. Server/
536
+ # client code that assumes the pre-RC stateful protocolrelies on
537
+ # `Mcp-Session-Id`, dispatches `tasks/list`, requires sticky routing or a shared
538
+ # session store, or skips client-side caching of `tools/list` while holding
539
+ # per-session server state — will silently break after 2026-07-28 once the final
540
+ # spec lands. These four rules surface the migration surface so it can be fixed
541
+ # before the cutover.
538
542
  #
539
543
  # Sources:
540
544
  # https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/
541
- # https://blog.modelcontextprotocol.io/posts/2025-12-19-mcp-transport-future/
545
+ # https://modelcontextprotocol.io/seps/2567-sessionless-mcp
542
546
  # https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1442
543
- # https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1359
547
+ # https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2575
548
+ # https://modelcontextprotocol.io/community/seps/1686-tasks
549
+ # https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2663
544
550
  # ---------------------------------------------------------------------------
545
551
 
546
552
  _r(
@@ -548,8 +554,10 @@ _r(
548
554
  "Reliance on `Mcp-Session-Id` header / protocol-level session id",
549
555
  "Server or client code reads, writes, asserts, or constants the "
550
556
  "`Mcp-Session-Id` header. The MCP 2026-07-28 spec release candidate "
551
- "(SEP-1442) makes the protocol stateless and removes the "
552
- "`Mcp-Session-Id` header along with the protocol-level session. After "
557
+ "removes the `Mcp-Session-Id` header and the protocol-level session, "
558
+ "replacing them with explicit server-minted state handles (SEP-2567); "
559
+ "SEP-1442 / SEP-2575 make the initialization handshake optional so "
560
+ "stateless is the default. After "
553
561
  "the final spec lands on 2026-07-28, code that depends on this header "
554
562
  "(or on the session it represented) will silently break: any MCP "
555
563
  "request can land on any server instance, and sticky routing / shared "
@@ -572,10 +580,11 @@ _r(
572
580
  "Use of removed `tasks/list` method",
573
581
  "Server or client code dispatches, handles, or names the `tasks/list` "
574
582
  "JSON-RPC method. The MCP 2026-07-28 spec release candidate removes "
575
- "`tasks/list` outright because it cannot be scoped safely without the "
576
- "protocol-level session. Tasks moves out of the core specification into "
577
- "the new Extensions framework; the stateful list surface has no "
578
- "stateless successor.",
583
+ "`tasks/list` from the core because it cannot be scoped safely without "
584
+ "the protocol-level session: the experimental Tasks primitive (SEP-1686) "
585
+ "moves out of the core specification into the Extensions framework "
586
+ "(redesigned as SEP-2663), and the stateful list surface has no "
587
+ "stateless successor in core.",
579
588
  Severity.HIGH,
580
589
  Category.MCP_CONFIG,
581
590
  "Stop calling and handling `tasks/list`. If your application needs an "
@@ -5196,6 +5205,30 @@ _r(
5196
5205
  adversa_references=["ADV-INJECT-01"],
5197
5206
  )
5198
5207
 
5208
+ _r(
5209
+ "AAK-MCP-GATEWAY-REGISTRY-CVE-2026-14471-001",
5210
+ "Amazon mcp-gateway-registry < 1.0.13 (SQL injection)",
5211
+ "The Amazon `mcp-gateway-registry` before 1.0.13 improperly neutralizes a "
5212
+ "caller-supplied `table_name` in the metrics-service retention-policy "
5213
+ "component: the value is interpolated directly into an SQL statement in "
5214
+ "identifier position, so an authenticated remote user can execute arbitrary "
5215
+ "SQL against the gateway's metrics store (CVE-2026-14471, HIGH CVSS 8.1, "
5216
+ "CWE-89, published 2026-07-06). A project that depends on the gateway "
5217
+ "registry at a version below 1.0.13 (or unpinned) is exposed.",
5218
+ Severity.HIGH,
5219
+ Category.SUPPLY_CHAIN,
5220
+ "Upgrade `mcp-gateway-registry` to >= 1.0.13 and pin it explicitly. Never "
5221
+ "interpolate a request-supplied value into an SQL identifier position; "
5222
+ "validate `table_name` against a fixed allow-list of known table names, or "
5223
+ "quote it with the driver's identifier-quoting API rather than string "
5224
+ "formatting.",
5225
+ sarif_name="McpGatewayRegistrySqlInjection",
5226
+ cve_references=["CVE-2026-14471"],
5227
+ owasp_mcp_references=["MCP04:2025"],
5228
+ owasp_agentic_references=["ASI02"],
5229
+ adversa_references=["ADV-SUPPLY-01"],
5230
+ )
5231
+
5199
5232
 
5200
5233
  # ---------------------------------------------------------------------------
5201
5234
  # Internal / meta rules (surfaced when the scanner itself has a problem)
@@ -3,11 +3,13 @@
3
3
  The MCP 2026-07-28 spec release candidate (locked 2026-05-21) makes the
4
4
  protocol stateless by default:
5
5
 
6
- * SEP-1442: the protocol-level session and `Mcp-Session-Id` header are
7
- removed; any MCP request can land on any server instance.
8
- * SEP-1359: the `tasks/list` method is removed because it can't be scoped
9
- safely without sessions; Tasks moves out of the core specification into
10
- the Extensions framework.
6
+ * SEP-2567: the protocol-level session and `Mcp-Session-Id` header are
7
+ removed and replaced with explicit server-minted state handles, so any
8
+ MCP request can land on any server instance. SEP-1442 / SEP-2575 make the
9
+ initialization handshake optional so stateless is the default.
10
+ * The experimental Tasks primitive (SEP-1686), including `tasks/list`, moves
11
+ out of the core specification into the Extensions framework (redesigned as
12
+ SEP-2663), so core `tasks/list` is removed.
11
13
 
12
14
  Server / client code that assumes the pre-RC stateful protocol will
13
15
  silently break once the final spec lands on 2026-07-28. This scanner
@@ -464,6 +464,7 @@ def scan(project_root: Path) -> tuple[list[Finding], set[str]]:
464
464
  findings.extend(_check_mcp_specific_vulns(project_root))
465
465
  findings.extend(_check_doris_mcp_pin(project_root, scanned_files))
466
466
  findings.extend(_check_kong_konnect_mcp_pin(project_root, scanned_files))
467
+ findings.extend(_check_mcp_gateway_registry_pin(project_root, scanned_files))
467
468
  findings.extend(_check_excel_mcp_pin(project_root, scanned_files))
468
469
  findings.extend(_check_azure_mcp_auth(project_root, scanned_files))
469
470
  findings.extend(_check_astro_mcp_pin(project_root, scanned_files))
@@ -596,6 +597,65 @@ def _check_kong_konnect_mcp_pin(project_root: Path, scanned_files: set[str]) ->
596
597
  return findings
597
598
 
598
599
 
600
+ # ---------------------------------------------------------------------------
601
+ # AAK-MCP-GATEWAY-REGISTRY-CVE-2026-14471-001 — Amazon mcp-gateway-registry
602
+ # < 1.0.13 (CVE-2026-14471, HIGH 7.x/8.1). SQL injection in the metrics-service
603
+ # retention-policy component: a crafted `table_name` is interpolated into SQL in
604
+ # identifier position (CWE-89). Fixed in 1.0.13.
605
+ # ---------------------------------------------------------------------------
606
+
607
+ _MCP_GATEWAY_REGISTRY_PATCHED = (1, 0, 13)
608
+ _MCP_GATEWAY_REGISTRY_RE = re.compile(
609
+ r"mcp-gateway-registry"
610
+ r"\s*(?:==|>=|~=|<=|<|>|@|:|\"?\s*version\"?\s*[:=])?\s*v?([0-9][\w.\-]*)?",
611
+ re.IGNORECASE,
612
+ )
613
+
614
+
615
+ def _check_mcp_gateway_registry_pin(project_root: Path, scanned_files: set[str]) -> list[Finding]:
616
+ findings: list[Finding] = []
617
+
618
+ def _fire(rel: str, raw: str | None) -> None:
619
+ shown = f"{raw!r}" if raw else "unpinned"
620
+ findings.append(make_finding(
621
+ "AAK-MCP-GATEWAY-REGISTRY-CVE-2026-14471-001",
622
+ rel,
623
+ f"Amazon mcp-gateway-registry referenced at {shown} — CVE-2026-14471 "
624
+ "SQL injection (crafted table_name interpolated into an SQL "
625
+ "identifier in the metrics-service retention policy) is fixed in "
626
+ "1.0.13; pin >= 1.0.13.",
627
+ ))
628
+
629
+ candidates: list[Path] = []
630
+ candidates.extend(project_root.glob("requirements*.txt"))
631
+ for name in (
632
+ "pyproject.toml", "Pipfile", "Pipfile.lock", "poetry.lock", "uv.lock",
633
+ "package.json", "package-lock.json",
634
+ ".mcp.json", "mcp.json", "claude_desktop_config.json",
635
+ ):
636
+ p = project_root / name
637
+ if p.is_file():
638
+ candidates.append(p)
639
+ candidates.extend(project_root.glob("*.mcp.yaml"))
640
+ candidates.extend(project_root.glob("*.mcp.yml"))
641
+
642
+ for path in candidates:
643
+ try:
644
+ text = path.read_text(encoding="utf-8", errors="replace")
645
+ except OSError:
646
+ continue
647
+ m = _MCP_GATEWAY_REGISTRY_RE.search(text)
648
+ if not m:
649
+ continue
650
+ raw = m.group(1)
651
+ version = _semver3(raw) if raw else None
652
+ if version is None or version < _MCP_GATEWAY_REGISTRY_PATCHED:
653
+ rel = str(path.relative_to(project_root))
654
+ scanned_files.add(rel)
655
+ _fire(rel, raw)
656
+ return findings
657
+
658
+
599
659
  # ---------------------------------------------------------------------------
600
660
  # AAK-EXCEL-MCP-001 — excel-mcp-server <= 0.1.7 (CVE-2026-40576).
601
661
  # Path-traversal in get_excel_path(). Fixed in 0.1.8.
@@ -10,7 +10,7 @@ jobs:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
12
  - uses: actions/checkout@v4
13
- - uses: sattyamjjain/agent-audit-kit@v0.3.46
13
+ - uses: sattyamjjain/agent-audit-kit@v0.3.47
14
14
  with:
15
15
  severity: low
16
16
  fail-on: high
@@ -22,7 +22,7 @@ jobs:
22
22
  # .pre-commit-config.yaml
23
23
  repos:
24
24
  - repo: https://github.com/sattyamjjain/agent-audit-kit
25
- rev: v0.3.46
25
+ rev: v0.3.47
26
26
  hooks:
27
27
  - id: agent-audit-kit
28
28
  # Or strict mode:
@@ -11,7 +11,7 @@ Every row is derived from the live AAK rule registry (`agent_audit_kit/rules/bui
11
11
  | OWASP | Title | Coverage | # rules | Rule IDs |
12
12
  | --- | --- | :---: | :---: | --- |
13
13
  | **ASI01** | Goal Hijack | Full | 12 | `AAK-AGENT-001`, `AAK-AGENT-002`, `AAK-AGENT-003`, `AAK-AGENT-004`, `AAK-AGENT-005`, `AAK-CREWAI-CHAIN-2026-04-001`, `AAK-DEEPSEEK-V4-MOE-TOOL-INJ-001`, `AAK-MCP-KONG-CVE-2026-13341-001`, `AAK-MCPWN-001`, `AAK-METIS-REFUSAL-REFEED-001`, `AAK-METIS-SCORING-SINK-001`, `AAK-SKILL-005` |
14
- | **ASI02** | Tool Misuse | Full | 38 | `AAK-AGENT-SHARED-RES-AUTHZ-001`, `AAK-ANTHROPIC-SDK-001`, `AAK-ASTROMCP-SQLI-CVE-2026-7591-001`, `AAK-CHATGPT-MCP-CVE-2026-7061-PIN-001`, `AAK-CREWAI-CVE-2026-2285-001`, `AAK-DOCSGPT-MCP-STDIO-MITM-001`, `AAK-DORIS-001`, `AAK-EXCEL-MCP-001`, `AAK-FLOWISE-001`, `AAK-GPTRESEARCHER-MCP-STDIO-MITM-001`, `AAK-HOOK-007`, `AAK-LANGCHAIN-PROMPT-LOADER-PATH-001`, `AAK-LITELLM-CVE-2026-30623-PIN-001`, `AAK-LLM-SQL-RCE-001`, `AAK-MCP-004`, `AAK-MCP-009`, `AAK-MCP-010`, `AAK-MCP-ARGV-TOCTOU-001`, `AAK-MCP-ATLASSIAN-CVE-2026-27825-001`, `AAK-MCP-ATLASSIAN-CVE-2026-27826-001`, `AAK-MCP-STDIO-CMD-INJ-001`, `AAK-MCP-STDIO-CMD-INJ-002`, `AAK-MCP-STDIO-CMD-INJ-003`, `AAK-MCP-STDIO-CMD-INJ-004`, `AAK-MCP-STDIO-LAUNCHER-INJECT-001`, `AAK-MCP-TOOL-UNSAFE-EVAL-001`, `AAK-MCP-TOOLGATE-ASYMMETRY-001`, `AAK-MCP-TUNNEL-001`, `AAK-MCPCALC-CVE-2026-44717-PIN-001`, `AAK-MCPWN-001`, `AAK-METIS-REFUSAL-REFEED-001`, `AAK-METIS-SCORING-SINK-001`, `AAK-SK-INMEMORY-VECTORSTORE-FILTER-CVE-2026-26030-PIN-001`, `AAK-STDIO-001`, `AAK-TAINT-005`, `AAK-TAINT-007`, `AAK-TAINT-008`, `AAK-TOXICFLOW-001` |
14
+ | **ASI02** | Tool Misuse | Full | 39 | `AAK-AGENT-SHARED-RES-AUTHZ-001`, `AAK-ANTHROPIC-SDK-001`, `AAK-ASTROMCP-SQLI-CVE-2026-7591-001`, `AAK-CHATGPT-MCP-CVE-2026-7061-PIN-001`, `AAK-CREWAI-CVE-2026-2285-001`, `AAK-DOCSGPT-MCP-STDIO-MITM-001`, `AAK-DORIS-001`, `AAK-EXCEL-MCP-001`, `AAK-FLOWISE-001`, `AAK-GPTRESEARCHER-MCP-STDIO-MITM-001`, `AAK-HOOK-007`, `AAK-LANGCHAIN-PROMPT-LOADER-PATH-001`, `AAK-LITELLM-CVE-2026-30623-PIN-001`, `AAK-LLM-SQL-RCE-001`, `AAK-MCP-004`, `AAK-MCP-009`, `AAK-MCP-010`, `AAK-MCP-ARGV-TOCTOU-001`, `AAK-MCP-ATLASSIAN-CVE-2026-27825-001`, `AAK-MCP-ATLASSIAN-CVE-2026-27826-001`, `AAK-MCP-GATEWAY-REGISTRY-CVE-2026-14471-001`, `AAK-MCP-STDIO-CMD-INJ-001`, `AAK-MCP-STDIO-CMD-INJ-002`, `AAK-MCP-STDIO-CMD-INJ-003`, `AAK-MCP-STDIO-CMD-INJ-004`, `AAK-MCP-STDIO-LAUNCHER-INJECT-001`, `AAK-MCP-TOOL-UNSAFE-EVAL-001`, `AAK-MCP-TOOLGATE-ASYMMETRY-001`, `AAK-MCP-TUNNEL-001`, `AAK-MCPCALC-CVE-2026-44717-PIN-001`, `AAK-MCPWN-001`, `AAK-METIS-REFUSAL-REFEED-001`, `AAK-METIS-SCORING-SINK-001`, `AAK-SK-INMEMORY-VECTORSTORE-FILTER-CVE-2026-26030-PIN-001`, `AAK-STDIO-001`, `AAK-TAINT-005`, `AAK-TAINT-007`, `AAK-TAINT-008`, `AAK-TOXICFLOW-001` |
15
15
  | **ASI03** | Memory Poisoning | Full | 56 | `AAK-A2A-005`, `AAK-A2A-006`, `AAK-CLAUDECODE-CVE-2026-40068-PIN-001`, `AAK-HOOK-002`, `AAK-HOOK-006`, `AAK-INDIA-PII-001`, `AAK-INDIA-PII-002`, `AAK-INDIA-PII-003`, `AAK-INDIA-PII-004`, `AAK-INDIA-PII-005`, `AAK-INDIA-PII-006`, `AAK-IPI-WILD-CORPUS-001`, `AAK-MCP-001`, `AAK-MCP-003`, `AAK-MCP-011`, `AAK-MCP-012`, `AAK-MCP-013`, `AAK-MCP-014`, `AAK-MCP-017`, `AAK-MCP-019`, `AAK-MCP-020`, `AAK-MCP-ATTEST-001`, `AAK-MCP-AUTH-PATHTRAVERSAL-001`, `AAK-MCP-CARD-002`, `AAK-MCP-ENV-PLACEHOLDER-EXFIL-001`, `AAK-MCP-HTTP-NOAUTH-SERVER-001`, `AAK-MCP-NOAUTH-DEFAULT`, `AAK-MCP-SAMPLING-001`, `AAK-MCP-STATELESS-001`, `AAK-MCP-TUNNEL-002`, `AAK-MCP-TUNNEL-003`, `AAK-OAUTH-001`, `AAK-OAUTH-002`, `AAK-OAUTH-003`, `AAK-OAUTH-004`, `AAK-OAUTH-005`, `AAK-OPENCLAW-PRIVESC-001`, `AAK-PRTITLE-IPI-001`, `AAK-SECRET-001`, `AAK-SECRET-002`, `AAK-SECRET-003`, `AAK-SECRET-004`, `AAK-SECRET-005`, `AAK-SECRET-006`, `AAK-SECRET-007`, `AAK-SECRET-008`, `AAK-SECRET-009`, `AAK-TASKS-001`, `AAK-TASKS-002`, `AAK-TASKS-003`, `AAK-TRANSPORT-001`, `AAK-TRANSPORT-002`, `AAK-TRANSPORT-004`, `AAK-TRUST-003`, `AAK-TRUST-004`, `AAK-TRUST-007` |
16
16
  | **ASI04** | Identity & Privilege Abuse | Full | 38 | `AAK-AGENT-HARNESS-SHARED-STATE-001`, `AAK-AGENT-SHARED-RES-AUTHZ-001`, `AAK-AZURE-MCP-001`, `AAK-AZURE-MCP-NOAUTH-001`, `AAK-CREWAI-CVE-2026-2286-001`, `AAK-DNS-REBIND-001`, `AAK-EXCEL-MCP-001`, `AAK-LANGCHAIN-003`, `AAK-LANGCHAIN-SSRF-REDIR-001`, `AAK-LEGAL-001`, `AAK-LEGAL-002`, `AAK-LEGAL-003`, `AAK-LMDEPLOY-VL-SSRF-001`, `AAK-MARKETPLACE-001`, `AAK-MARKETPLACE-002`, `AAK-MARKETPLACE-003`, `AAK-MARKETPLACE-004`, `AAK-MCP-005`, `AAK-MCP-007`, `AAK-MCP-ATTEST-001`, `AAK-MCP-CARD-004`, `AAK-MCP-FHI-001`, `AAK-MCP-SANDBOX-SELFDISABLE-001`, `AAK-MCP-TOOLGATE-ASYMMETRY-001`, `AAK-NEO4J-001`, `AAK-OAUTH-3P-001`, `AAK-OAUTH-SCOPE-001`, `AAK-SEC-MD-001`, `AAK-SKILL-LIFECYCLE-ATTRIBUTION-001`, `AAK-SPLUNK-MCP-TOKEN-LEAK-001`, `AAK-SPLUNK-TOKLOG-001`, `AAK-SSRF-TOCTOU-001`, `AAK-SUPPLY-001`, `AAK-SUPPLY-002`, `AAK-SUPPLY-003`, `AAK-SUPPLY-004`, `AAK-SUPPLY-005`, `AAK-SUPPLY-006` |
17
17
  | **ASI05** | Cascading Failures | Full | 33 | `AAK-CREWAI-CHAIN-2026-04-001`, `AAK-CREWAI-CVE-2026-2275-001`, `AAK-HEALTHCARE-AI-001`, `AAK-HEALTHCARE-AI-002`, `AAK-HEALTHCARE-AI-003`, `AAK-HEALTHCARE-AI-004`, `AAK-HEALTHCARE-AI-005`, `AAK-HOOK-001`, `AAK-HOOK-003`, `AAK-HOOK-004`, `AAK-HOOK-005`, `AAK-HOOK-008`, `AAK-HOOK-009`, `AAK-LLM-SQL-RCE-001`, `AAK-LOGINJ-001`, `AAK-MCP-002`, `AAK-MCP-006`, `AAK-MCP-008`, `AAK-MCP-016`, `AAK-MCP-018`, `AAK-MCP-STDIO-LAUNCHER-INJECT-001`, `AAK-MCP-TOOL-UNSAFE-EVAL-001`, `AAK-MCP-TUNNEL-001`, `AAK-MCPCALC-CVE-2026-44717-PIN-001`, `AAK-ROUTINE-001`, `AAK-ROUTINE-002`, `AAK-ROUTINE-003`, `AAK-SK-INMEMORY-VECTORSTORE-FILTER-CVE-2026-26030-PIN-001`, `AAK-TAINT-001`, `AAK-TAINT-002`, `AAK-TAINT-003`, `AAK-TAINT-004`, `AAK-TAINT-006` |
@@ -13,7 +13,7 @@ Every row is derived from the live AAK rule registry (`agent_audit_kit/rules/bui
13
13
  | **MCP01:2025** | Token & Credential Mismanagement | Full | 48 | `AAK-A2A-005`, `AAK-A2A-008`, `AAK-A2A-011`, `AAK-AGENT-004`, `AAK-ANTHROPIC-SDK-001`, `AAK-ASTROMCP-SQLI-CVE-2026-7591-001`, `AAK-CHATGPT-MCP-CVE-2026-7061-PIN-001`, `AAK-DOCSGPT-MCP-STDIO-MITM-001`, `AAK-FLOWISE-001`, `AAK-GPTRESEARCHER-MCP-STDIO-MITM-001`, `AAK-HOOK-002`, `AAK-IPI-WILD-CORPUS-001`, `AAK-LITELLM-CVE-2026-30623-PIN-001`, `AAK-MCP-003`, `AAK-MCP-011`, `AAK-MCP-012`, `AAK-MCP-014`, `AAK-MCP-019`, `AAK-MCP-020`, `AAK-MCP-ATLASSIAN-CVE-2026-27825-001`, `AAK-MCP-ATLASSIAN-CVE-2026-27826-001`, `AAK-MCP-ENV-PLACEHOLDER-EXFIL-001`, `AAK-MCP-STDIO-CMD-INJ-001`, `AAK-MCP-STDIO-CMD-INJ-002`, `AAK-MCP-STDIO-CMD-INJ-003`, `AAK-MCP-STDIO-CMD-INJ-004`, `AAK-MCP-TOOL-UNSAFE-EVAL-001`, `AAK-MCPCALC-CVE-2026-44717-PIN-001`, `AAK-NEO4J-001`, `AAK-OAUTH-001`, `AAK-OAUTH-002`, `AAK-OAUTH-003`, `AAK-OAUTH-004`, `AAK-OAUTH-005`, `AAK-PRTITLE-IPI-001`, `AAK-SECRET-001`, `AAK-SECRET-002`, `AAK-SECRET-003`, `AAK-SECRET-004`, `AAK-SECRET-005`, `AAK-SECRET-006`, `AAK-SECRET-007`, `AAK-SECRET-008`, `AAK-SECRET-009`, `AAK-STDIO-001`, `AAK-TRANSPORT-004`, `AAK-TRUST-002`, `AAK-TRUST-005` |
14
14
  | **MCP02:2025** | Context Over-Sharing / Tool Sprawl | Full | 12 | `AAK-A2A-001`, `AAK-A2A-009`, `AAK-A2A-010`, `AAK-AZURE-MCP-001`, `AAK-AZURE-MCP-NOAUTH-001`, `AAK-DNS-REBIND-001`, `AAK-EXCEL-MCP-001`, `AAK-HOOK-007`, `AAK-MCP-004`, `AAK-MCP-SAMPLING-001`, `AAK-MCP-TUNNEL-003`, `AAK-MCPWN-001` |
15
15
  | **MCP03:2025** | Supply Chain Attacks | Full | 27 | `AAK-CLAUDE-WIN-001`, `AAK-INDIA-PII-001`, `AAK-INDIA-PII-002`, `AAK-INDIA-PII-003`, `AAK-INDIA-PII-004`, `AAK-INDIA-PII-005`, `AAK-INDIA-PII-006`, `AAK-LANGCHAIN-003`, `AAK-LEGAL-001`, `AAK-LEGAL-002`, `AAK-LEGAL-003`, `AAK-MARKETPLACE-001`, `AAK-MARKETPLACE-002`, `AAK-MARKETPLACE-003`, `AAK-MARKETPLACE-004`, `AAK-MCP-005`, `AAK-MCP-007`, `AAK-MCP-CARD-003`, `AAK-NEO4J-001`, `AAK-SEC-MD-001`, `AAK-SUPPLY-001`, `AAK-SUPPLY-002`, `AAK-SUPPLY-003`, `AAK-SUPPLY-004`, `AAK-SUPPLY-005`, `AAK-SUPPLY-006`, `AAK-WINDSURF-001` |
16
- | **MCP04:2025** | Command Injection | Full | 21 | `AAK-A2A-003`, `AAK-A2A-012`, `AAK-AGENT-001`, `AAK-AGENT-002`, `AAK-DORIS-001`, `AAK-HOOK-001`, `AAK-HOOK-005`, `AAK-HOOK-008`, `AAK-HOOK-009`, `AAK-LLM-SQL-RCE-001`, `AAK-LOGINJ-001`, `AAK-MCP-002`, `AAK-MCP-006`, `AAK-MCP-008`, `AAK-MCP-STDIO-LAUNCHER-INJECT-001`, `AAK-MCP-TUNNEL-001`, `AAK-TAINT-001`, `AAK-TAINT-002`, `AAK-TAINT-005`, `AAK-TAINT-006`, `AAK-TAINT-007` |
16
+ | **MCP04:2025** | Command Injection | Full | 22 | `AAK-A2A-003`, `AAK-A2A-012`, `AAK-AGENT-001`, `AAK-AGENT-002`, `AAK-DORIS-001`, `AAK-HOOK-001`, `AAK-HOOK-005`, `AAK-HOOK-008`, `AAK-HOOK-009`, `AAK-LLM-SQL-RCE-001`, `AAK-LOGINJ-001`, `AAK-MCP-002`, `AAK-MCP-006`, `AAK-MCP-008`, `AAK-MCP-GATEWAY-REGISTRY-CVE-2026-14471-001`, `AAK-MCP-STDIO-LAUNCHER-INJECT-001`, `AAK-MCP-TUNNEL-001`, `AAK-TAINT-001`, `AAK-TAINT-002`, `AAK-TAINT-005`, `AAK-TAINT-006`, `AAK-TAINT-007` |
17
17
  | **MCP05:2025** | Tool Poisoning / Trust Boundary | Full | 46 | `AAK-AGENT-003`, `AAK-AGENT-005`, `AAK-DNS-REBIND-002`, `AAK-DOCSGPT-MCP-STDIO-MITM-001`, `AAK-GHA-IMMUTABLE-001`, `AAK-GPTRESEARCHER-MCP-STDIO-MITM-001`, `AAK-HOOK-004`, `AAK-LANGCHAIN-SSRF-REDIR-001`, `AAK-LITELLM-CVE-2026-30623-PIN-001`, `AAK-LMDEPLOY-VL-SSRF-001`, `AAK-MCP-ARGV-TOCTOU-001`, `AAK-MCP-CARD-001`, `AAK-MCP-INSPECTOR-CVE-2026-23744-001`, `AAK-MCP-KONG-CVE-2026-13341-001`, `AAK-MCP-MARKETPLACE-CONFIG-FETCH-001`, `AAK-MCP-STDIO-CMD-INJ-001`, `AAK-MCP-STDIO-CMD-INJ-002`, `AAK-MCP-STDIO-CMD-INJ-003`, `AAK-MCP-STDIO-CMD-INJ-004`, `AAK-MCP-TOOL-UNSAFE-EVAL-001`, `AAK-MCPCALC-CVE-2026-44717-PIN-001`, `AAK-OAUTH-3P-001`, `AAK-OAUTH-SCOPE-001`, `AAK-POISON-001`, `AAK-POISON-002`, `AAK-POISON-003`, `AAK-POISON-004`, `AAK-POISON-005`, `AAK-POISON-006`, `AAK-RUGPULL-001`, `AAK-RUGPULL-002`, `AAK-RUGPULL-003`, `AAK-SKILL-001`, `AAK-SKILL-002`, `AAK-SKILL-003`, `AAK-SKILL-004`, `AAK-SKILL-UNTRUSTED-EXEC-PATH`, `AAK-SSRF-TOCTOU-001`, `AAK-TASKS-001`, `AAK-TASKS-002`, `AAK-TASKS-003`, `AAK-TRUST-001`, `AAK-TRUST-003`, `AAK-TRUST-004`, `AAK-TRUST-006`, `AAK-TRUST-007` |
18
18
  | **MCP06:2025** | Privilege Escalation | Full | 13 | `AAK-AGENT-SHARED-RES-AUTHZ-001`, `AAK-HOOK-003`, `AAK-HOOK-006`, `AAK-MCP-010`, `AAK-MCP-016`, `AAK-MCP-018`, `AAK-MCP-FHI-001`, `AAK-MCP-SANDBOX-SELFDISABLE-001`, `AAK-MCP-TOOLGATE-ASYMMETRY-001`, `AAK-MCP-TUNNEL-001`, `AAK-TAINT-003`, `AAK-TAINT-008`, `AAK-TOXICFLOW-001` |
19
19
  | **MCP07:2025** | Insufficient Authentication | Full | 25 | `AAK-A2A-002`, `AAK-A2A-004`, `AAK-A2A-006`, `AAK-A2A-007`, `AAK-DNS-REBIND-001`, `AAK-DNS-REBIND-002`, `AAK-MCP-001`, `AAK-MCP-011`, `AAK-MCP-017`, `AAK-MCP-ATTEST-001`, `AAK-MCP-AUTH-PATHTRAVERSAL-001`, `AAK-MCP-CARD-002`, `AAK-MCP-CARD-004`, `AAK-MCP-HTTP-NOAUTH-SERVER-001`, `AAK-MCP-NOAUTH-DEFAULT`, `AAK-MCP-SAMPLING-001`, `AAK-MCP-STATELESS-001`, `AAK-MCP-STATELESS-002`, `AAK-MCP-STATELESS-003`, `AAK-MCP-STATELESS-004`, `AAK-MCP-TUNNEL-002`, `AAK-MCP-TUNNEL-003`, `AAK-TRANSPORT-001`, `AAK-TRANSPORT-002`, `AAK-TRANSPORT-003` |
@@ -51,7 +51,7 @@ Add to `.pre-commit-config.yaml`:
51
51
  ```yaml
52
52
  repos:
53
53
  - repo: https://github.com/sattyamjjain/agent-audit-kit
54
- rev: v0.3.46
54
+ rev: v0.3.47
55
55
  hooks:
56
56
  - id: agent-audit-kit
57
57
  ```
@@ -59,7 +59,7 @@ repos:
59
59
  ## GitHub Action
60
60
 
61
61
  ```yaml
62
- - uses: sattyamjjain/agent-audit-kit@v0.3.46
62
+ - uses: sattyamjjain/agent-audit-kit@v0.3.47
63
63
  with:
64
64
  severity: low
65
65
  fail-on: high
@@ -23,7 +23,7 @@
23
23
  > evidence output** — SARIF + OWASP MCP Top 10 + EU AI Act Article 15
24
24
  > + SOC 2 + ISO 27001 / 42001 + HIPAA + NIST AI RMF in one scan.
25
25
  >
26
- > agent-audit-kit is that. 231 deterministic rules. Zero cloud
26
+ > agent-audit-kit is that. 232 deterministic rules. Zero cloud
27
27
  > dependencies, no auth required. MIT.
28
28
  >
29
29
  > The leaderboard: we run the scanner weekly against 500 public MCP
@@ -44,7 +44,7 @@
44
44
  - **"Does it use an LLM?"**
45
45
  → No. The moat is deterministic rules. We keep an optional
46
46
  `--llm-scan` flag for semantic tool-description checks, but the core
47
- 231 rules are regex + AST patterns that run in <50 ms on a normal
47
+ 232 rules are regex + AST patterns that run in <50 ms on a normal
48
48
  project.
49
49
  - **"What's your false-positive rate?"**
50
50
  → We scan 500 public MCP servers weekly. Ground-truth is unknown
@@ -19,7 +19,7 @@ the #1 channel for this repo.
19
19
  > that default to allow-all, path traversal in resource handlers,
20
20
  > SSRF in outbound-fetch tools, tokens in query params.
21
21
  >
22
- > We built agent-audit-kit, an OSS scanner: 231 deterministic rules,
22
+ > We built agent-audit-kit, an OSS scanner: 232 deterministic rules,
23
23
  > SARIF + OWASP MCP Top 10 + compliance report for EU AI Act /
24
24
  > SOC 2 / ISO 27001 / HIPAA / NIST AI RMF. No auth, no cloud. MIT.
25
25
  >
@@ -54,7 +54,7 @@ the #1 channel for this repo.
54
54
  > `pip install agent-audit-kit && agent-audit-kit scan .`
55
55
  > Finds misconfigured hooks (CVE-2025-59536 was the catalyst), MCP
56
56
  > servers without auth, skill poisoning in SKILL.md files, supply-chain
57
- > risks in marketplace manifests, missing OAuth 2.1 PKCE. 231 rules.
57
+ > risks in marketplace manifests, missing OAuth 2.1 PKCE. 232 rules.
58
58
  > Outputs SARIF for GitHub Security tab.
59
59
  >
60
60
  > Repo: https://github.com/sattyamjjain/agent-audit-kit
@@ -78,7 +78,7 @@ the #1 channel for this repo.
78
78
  > OWASP MCP Top 10 reference scanner — 10/10 coverage, SARIF, EU AI Act evidence
79
79
 
80
80
  **Body:** developer-audience, technical:
81
- > If you maintain an MCP server, this is the linter. 231 rules mapped
81
+ > If you maintain an MCP server, this is the linter. 232 rules mapped
82
82
  > to OWASP MCP Top 10 and OWASP Agentic 2026 (ASI01–ASI10). GitHub
83
83
  > Action that surfaces findings in the Security tab via SARIF. Docker
84
84
  > image at ghcr.io. VS Code extension with on-save diagnostics.
@@ -22,7 +22,7 @@ Post same Tuesday as HN, ~1h after HN submission.
22
22
 
23
23
  > agent-audit-kit — OSS static scanner for MCP-connected AI agents.
24
24
  >
25
- > 231 deterministic rules. SARIF → GitHub Security tab.
25
+ > 232 deterministic rules. SARIF → GitHub Security tab.
26
26
  > Compliance evidence for EU AI Act Article 15, SOC 2, ISO 27001/42001,
27
27
  > HIPAA, NIST AI RMF.
28
28
  >
@@ -92,7 +92,7 @@ Post same Tuesday as HN, ~1h after HN submission.
92
92
  > • Repo: github.com/sattyamjjain/agent-audit-kit
93
93
  > • Leaderboard: mcp-security-index.com
94
94
  > • VS Code Marketplace: agent-audit-kit
95
- > • GitHub Action: uses: sattyamjjain/agent-audit-kit@v0.3.46
95
+ > • GitHub Action: uses: sattyamjjain/agent-audit-kit@v0.3.47
96
96
  >
97
97
  > MIT. No strings.
98
98