agent-audit-kit 0.3.97__tar.gz → 0.3.99__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 (964) hide show
  1. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/CHANGELOG.cves.md +37 -0
  2. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/CHANGELOG.md +160 -0
  3. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/CITATION.cff +2 -2
  4. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/CLAUDE.md +6 -6
  5. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/CLAUDE_PROMPT.md +3 -3
  6. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/PKG-INFO +19 -19
  7. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/README.md +18 -18
  8. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/ROADMAP_2026.md +12 -4
  9. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/action.yml +1 -1
  10. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/__init__.py +3 -3
  11. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/engine.py +5 -0
  12. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/rules/builtin.py +132 -0
  13. agent_audit_kit-0.3.99/agent_audit_kit/scanners/denylist_sandbox.py +220 -0
  14. agent_audit_kit-0.3.99/agent_audit_kit/scanners/jvm_mcp_sdk_pins.py +225 -0
  15. agent_audit_kit-0.3.99/agent_audit_kit/scanners/mcp_destination_guard.py +225 -0
  16. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/determinism/RESULTS.md +2 -2
  17. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/STATE-OF-MCP-SECURITY-2026.md +1 -1
  18. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/ci-cd.md +2 -2
  19. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/comparisons.md +2 -2
  20. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/coverage/owasp-agentic-top10.md +3 -3
  21. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/coverage/owasp-mcp-top10.md +3 -3
  22. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/coverage.json +96 -25
  23. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/crosswalk/nsa-csi-owasp-agentic.md +1 -1
  24. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/cve-latency.md +2 -2
  25. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/getting-started.md +2 -2
  26. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/index.md +1 -1
  27. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/launch/hn.md +2 -2
  28. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/launch/reddit.md +3 -3
  29. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/launch/x-thread.md +1 -1
  30. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/owasp-agentic-coverage.md +3 -3
  31. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules.md +4 -4
  32. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/launch/awesome-list-prs/awesome-opensource-security.md +2 -2
  33. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/launch/awesome-list-prs/awesome-security.md +2 -2
  34. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/launch/owasp-outreach.md +3 -3
  35. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/public/owasp-agentic-coverage.json +36 -6
  36. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/pyproject.toml +1 -1
  37. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/blackhat-arsenal-abstract.md +2 -2
  38. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/rules.json +86 -0
  39. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scanners.json +13 -1
  40. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/site/coverage/index.html +4 -4
  41. agent_audit_kit-0.3.99/tests/fixtures/cves/cve-2026-53937-mcp-kotlin-sdk/patched/build.gradle.kts +8 -0
  42. agent_audit_kit-0.3.99/tests/fixtures/cves/cve-2026-53937-mcp-kotlin-sdk/patched/gradle/libs.versions.toml +6 -0
  43. agent_audit_kit-0.3.99/tests/fixtures/cves/cve-2026-53937-mcp-kotlin-sdk/patched/pom.xml +17 -0
  44. agent_audit_kit-0.3.99/tests/fixtures/cves/cve-2026-53937-mcp-kotlin-sdk/pre-range/build.gradle +5 -0
  45. agent_audit_kit-0.3.99/tests/fixtures/cves/cve-2026-53937-mcp-kotlin-sdk/vulnerable/build.gradle.kts +9 -0
  46. agent_audit_kit-0.3.99/tests/fixtures/cves/cve-2026-53937-mcp-kotlin-sdk/vulnerable/gradle/libs.versions.toml +7 -0
  47. agent_audit_kit-0.3.99/tests/fixtures/cves/cve-2026-53937-mcp-kotlin-sdk/vulnerable/pom.xml +17 -0
  48. agent_audit_kit-0.3.99/tests/test_cve_2026_53937_kotlin_sdk.py +188 -0
  49. agent_audit_kit-0.3.99/tests/test_denylist_sandbox.py +230 -0
  50. agent_audit_kit-0.3.99/tests/test_mcp_destination_guard.py +227 -0
  51. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.agent-audit-kit.yml +0 -0
  52. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.claude/auto-memory/config.json +0 -0
  53. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.editorconfig +0 -0
  54. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/FUNDING.yml +0 -0
  55. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  56. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  57. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  58. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/dependabot.yml +0 -0
  59. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/repo-metadata.yml +0 -0
  60. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/badge-ox-coverage.yml +0 -0
  61. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/ci.yml +0 -0
  62. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/codeql.yml +0 -0
  63. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/coverage-page.yml +0 -0
  64. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/cve-deferral-date.yml +0 -0
  65. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/cve-watcher.yml +0 -0
  66. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/description-liveness.yml +0 -0
  67. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/docker-nightly.yml +0 -0
  68. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/link-check.yml +0 -0
  69. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/mcp-security-index.yml +0 -0
  70. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/registry-parity.yml +0 -0
  71. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/release.yml +0 -0
  72. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/scorecard.yml +0 -0
  73. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/self-scan.yml +0 -0
  74. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/sync-repo-metadata.yml +0 -0
  75. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.github/workflows/sync-rule-count.yml +0 -0
  76. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.gitignore +0 -0
  77. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.pre-commit-config.yaml +0 -0
  78. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.pre-commit-hooks.yaml +0 -0
  79. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/.well-known/funding-manifest-urls +0 -0
  80. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/CODE_OF_CONDUCT.md +0 -0
  81. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/CONTRIBUTING.md +0 -0
  82. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/DEEP_ANALYSIS.md +0 -0
  83. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/Dockerfile +0 -0
  84. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/LICENSE +0 -0
  85. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/Makefile +0 -0
  86. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/SECURITY.md +0 -0
  87. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/advisories.py +0 -0
  88. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/autofix/__init__.py +0 -0
  89. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/autofix/langgraph_toolnode.py +0 -0
  90. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/autopr.py +0 -0
  91. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/bundle.py +0 -0
  92. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/checks/__init__.py +0 -0
  93. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/checks/economic_drift.py +0 -0
  94. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/checks/openclaw.py +0 -0
  95. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/cli.py +0 -0
  96. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/commands/__init__.py +0 -0
  97. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/commands/_common.py +0 -0
  98. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/commands/scan.py +0 -0
  99. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/corpus/__init__.py +0 -0
  100. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/corpus/manifest.py +0 -0
  101. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/coverage.py +0 -0
  102. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/data/aivss-v08-defaults.json +0 -0
  103. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/data/composition_boundaries.yaml +0 -0
  104. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/data/fhi_universal_suffixes.txt +0 -0
  105. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/data/ipi_wild_payloads_2026_04.json +0 -0
  106. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/data/ox-cve-manifest.json +0 -0
  107. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/data/prisma-airs-aak-map.json +0 -0
  108. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/data/prisma-airs-catalog.json +0 -0
  109. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/data/toxic_flow_pairs.yml +0 -0
  110. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/data/vuln_db.json +0 -0
  111. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/diff.py +0 -0
  112. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/discovery.py +0 -0
  113. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/feeds/__init__.py +0 -0
  114. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/fix.py +0 -0
  115. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/ide/__init__.py +0 -0
  116. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/ide/lsp_diag.py +0 -0
  117. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/integrations/__init__.py +0 -0
  118. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/integrations/notify.py +0 -0
  119. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/llm_scan.py +0 -0
  120. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/models.py +0 -0
  121. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/__init__.py +0 -0
  122. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/_rule_doc_pages.py +0 -0
  123. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/aicm.py +0 -0
  124. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/compliance.py +0 -0
  125. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/console.py +0 -0
  126. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/coverage_map.py +0 -0
  127. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/crosswalk.py +0 -0
  128. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/json_report.py +0 -0
  129. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/owasp_report.py +0 -0
  130. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/pdf_report.py +0 -0
  131. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/pr_summary.py +0 -0
  132. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/sarif.py +0 -0
  133. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/output/sbom.py +0 -0
  134. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/parity/__init__.py +0 -0
  135. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/pinning.py +0 -0
  136. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/presets/__init__.py +0 -0
  137. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/presets/mcp-2026-07-28.yaml +0 -0
  138. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/presets/mcp-ox-2026-04.yaml +0 -0
  139. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/proxy/__init__.py +0 -0
  140. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/proxy/interceptor.py +0 -0
  141. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/remediation/__init__.py +0 -0
  142. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/remediation/engine.py +0 -0
  143. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/rule_lint.py +0 -0
  144. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/rules/__init__.py +0 -0
  145. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/sanitizers/__init__.py +0 -0
  146. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/sanitizers/crewai.py +0 -0
  147. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/sanitizers/deepseek.py +0 -0
  148. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/sarif/__init__.py +0 -0
  149. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/sarif/diff.py +0 -0
  150. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/__init__.py +0 -0
  151. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/_helpers.py +0 -0
  152. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/_ssrf_reach.py +0 -0
  153. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/_ts_stdio_taint.py +0 -0
  154. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/a2a_protocol.py +0 -0
  155. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/agent_config.py +0 -0
  156. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/agent_harness_shared_state.py +0 -0
  157. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/agent_trust_surface.py +0 -0
  158. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/agentic_skills.py +0 -0
  159. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/approval_parser_desync.py +0 -0
  160. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/argv_toctou.py +0 -0
  161. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/composition.py +0 -0
  162. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/crewai_rce_chain.py +0 -0
  163. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/deepseek_v4_tool_injection.py +0 -0
  164. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/dns_rebind.py +0 -0
  165. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/docsgpt_transport_flip.py +0 -0
  166. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/eu_ai_act_art15_locale.py +0 -0
  167. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/gha_hardening.py +0 -0
  168. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/gpt_researcher_transport_flip.py +0 -0
  169. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/healthcare_ai.py +0 -0
  170. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/hook_injection.py +0 -0
  171. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/hook_rce.py +0 -0
  172. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/ide_task_rce.py +0 -0
  173. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/india_pii.py +0 -0
  174. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/ipi_wild_corpus.py +0 -0
  175. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/langchain_prompt_loader.py +0 -0
  176. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/langchain_vuln.py +0 -0
  177. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/langgraph_toolnode.py +0 -0
  178. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/legal_compliance.py +0 -0
  179. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/llm_sql_rce.py +0 -0
  180. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/log_injection.py +0 -0
  181. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/log_token_leak.py +0 -0
  182. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/marketplace_manifest.py +0 -0
  183. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_apps_ui.py +0 -0
  184. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_atlassian.py +0 -0
  185. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_auth_pathtraversal.py +0 -0
  186. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_auth_patterns.py +0 -0
  187. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_config.py +0 -0
  188. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_cve_pins_2026_07.py +0 -0
  189. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_deprecated_features.py +0 -0
  190. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_env_placeholder_exfil.py +0 -0
  191. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_fhi.py +0 -0
  192. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_http_noauth_server.py +0 -0
  193. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_inspector_cve.py +0 -0
  194. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_marketplace_fetch.py +0 -0
  195. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_middleware.py +0 -0
  196. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_noauth_default.py +0 -0
  197. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_routing_desync.py +0 -0
  198. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_sampling_capability.py +0 -0
  199. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_sdk_hardening.py +0 -0
  200. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_server_auth.py +0 -0
  201. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_server_card.py +0 -0
  202. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_sidecar_http.py +0 -0
  203. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_ssrf_toolarg.py +0 -0
  204. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_stateless_migration.py +0 -0
  205. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_stdio_launcher.py +0 -0
  206. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_stdio_params.py +0 -0
  207. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_tasks.py +0 -0
  208. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_tool_unsafe_eval.py +0 -0
  209. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_toolgate_asymmetry.py +0 -0
  210. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_tools_list_unbounded.py +0 -0
  211. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_transport_session_unauth.py +0 -0
  212. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/mcp_tunnel.py +0 -0
  213. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/metis_pomdp.py +0 -0
  214. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/neo4j_cve.py +0 -0
  215. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/oauth_misconfig.py +0 -0
  216. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/oauth_surface.py +0 -0
  217. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/openapi_smells.py +0 -0
  218. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/openclaw_privesc.py +0 -0
  219. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/pin_drift.py +0 -0
  220. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/policy_truncation.py +0 -0
  221. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/project_deal_drift.py +0 -0
  222. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/prtitle_ipi.py +0 -0
  223. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/quoted_shell_interp.py +0 -0
  224. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/routines.py +0 -0
  225. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/rust_pattern_scan.py +0 -0
  226. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/rust_scan.py +0 -0
  227. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/sandbox_self_disable.py +0 -0
  228. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/secret_exposure.py +0 -0
  229. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/session_splice.py +0 -0
  230. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/shared_resource_authz.py +0 -0
  231. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/skill_composition.py +0 -0
  232. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/skill_lifecycle_attribution.py +0 -0
  233. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/skill_poisoning.py +0 -0
  234. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/skill_untrusted_exec_path.py +0 -0
  235. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/social_agent_hijack.py +0 -0
  236. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/splunk_mcp_config.py +0 -0
  237. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/ssrf_bracketed_host.py +0 -0
  238. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/ssrf_patterns.py +0 -0
  239. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/ssrf_redirect.py +0 -0
  240. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/ssrf_toctou.py +0 -0
  241. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/stainless_lineage.py +0 -0
  242. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/state_privacy.py +0 -0
  243. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/stdio_injection.py +0 -0
  244. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/supply_chain.py +0 -0
  245. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/taint_analysis.py +0 -0
  246. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/tool_poisoning.py +0 -0
  247. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/toxic_flow.py +0 -0
  248. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/transport_limits.py +0 -0
  249. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/transport_security.py +0 -0
  250. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/trust_boundary.py +0 -0
  251. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/typescript_pattern_scan.py +0 -0
  252. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/typescript_scan.py +0 -0
  253. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scanners/ufo_mobile_mcp.py +0 -0
  254. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scoring/__init__.py +0 -0
  255. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scoring/aivss.py +0 -0
  256. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/scoring/aivss_schema.py +0 -0
  257. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/sessions/__init__.py +0 -0
  258. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/sessions/adapters.py +0 -0
  259. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/translators/__init__.py +0 -0
  260. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/translators/pipelock.py +0 -0
  261. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/translators/prisma_airs.py +0 -0
  262. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/verification.py +0 -0
  263. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/vuln_db.py +0 -0
  264. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/agent_audit_kit/watch.py +0 -0
  265. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/README.md +0 -0
  266. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/crawler.py +0 -0
  267. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/determinism/run.py +0 -0
  268. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/false_positive/RESULTS.md +0 -0
  269. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/false_positive/adjudication.json +0 -0
  270. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/false_positive/benign-slice.json +0 -0
  271. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/false_positive/corpus.py +0 -0
  272. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/false_positive/results.json +0 -0
  273. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/false_positive/run.py +0 -0
  274. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/false_positive/stats.py +0 -0
  275. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/false_positive/triage.md +0 -0
  276. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/index_builder.py +0 -0
  277. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/results-2026-06-13.json +0 -0
  278. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/run_benchmark.sh +0 -0
  279. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/sample_configs/sample_01_clean.json +0 -0
  280. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/sample_configs/sample_02_secrets.json +0 -0
  281. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/sample_configs/sample_03_no_auth.json +0 -0
  282. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/sample_configs/sample_04_shell_injection.json +0 -0
  283. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/sample_configs/sample_05_mixed.json +0 -0
  284. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/benchmarks/sources.py +0 -0
  285. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/ci/gitlab/agent-audit-kit.gitlab-ci.yml +0 -0
  286. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/DISTRIBUTION-CHECKLIST.md +0 -0
  287. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/RELEASING.md +0 -0
  288. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/azure-pipelines.md +0 -0
  289. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/benchmarks/third-party-grading.md +0 -0
  290. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/changelog/archive/CHANGELOG.cves.md +0 -0
  291. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/changelog/archive/CHANGELOG.md +0 -0
  292. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/circleci.md +0 -0
  293. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/comparison-gitlab-agentic-sast.md +0 -0
  294. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/comparison.md +0 -0
  295. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/cve-triage.md +0 -0
  296. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/data/cve-published.json +0 -0
  297. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/disclosure-policy.md +0 -0
  298. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/gitlab-ci.md +0 -0
  299. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/launch/CHECKLIST.md +0 -0
  300. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/launch/press.md +0 -0
  301. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/metrics.md +0 -0
  302. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/notes/adjudicator-pattern.md +0 -0
  303. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/owasp-mapping.md +0 -0
  304. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/presets/mcp-2026-07-28.md +0 -0
  305. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/presets/mcp-ox-2026-04.md +0 -0
  306. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/reports/mcp-2026-07-28-readiness.md +0 -0
  307. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/research/mcp-security-baseline-v1.0.md +0 -0
  308. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/research-log.md +0 -0
  309. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/roadmap/ox-mcp-2026-05-01-batch.md +0 -0
  310. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rule-schema.md +0 -0
  311. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-AZURE-MCP-001.md +0 -0
  312. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-AZURE-MCP-NOAUTH-001.md +0 -0
  313. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-LANGCHAIN-SSRF-REDIR-001.md +0 -0
  314. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-LMDEPLOY-VL-SSRF-001.md +0 -0
  315. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-MCP-AUTH-PATHTRAVERSAL-001.md +0 -0
  316. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-MCP-MARKETPLACE-CONFIG-FETCH-001.md +0 -0
  317. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-MCP-STDIO-CMD-INJ-001.md +0 -0
  318. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-MCP-STDIO-CMD-INJ-002.md +0 -0
  319. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-MCP-STDIO-CMD-INJ-003.md +0 -0
  320. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-MCP-STDIO-CMD-INJ-004.md +0 -0
  321. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-SPLUNK-MCP-TOKEN-LEAK-001.md +0 -0
  322. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-SSRF-TOCTOU-001.md +0 -0
  323. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/AAK-TOXICFLOW-001.md +0 -0
  324. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/index.md +0 -0
  325. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/rules/skill-composition.md +0 -0
  326. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/docs/session-transcripts.md +0 -0
  327. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/editors/zed/README.md +0 -0
  328. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/editors/zed/extension.toml +0 -0
  329. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/entrypoint.sh +0 -0
  330. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/README.md +0 -0
  331. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/case-studies/damn-vulnerable-mcp/README.md +0 -0
  332. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/case-studies/damn-vulnerable-mcp/configs/dvmcp-inspired.mcp.json +0 -0
  333. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/case-studies/damn-vulnerable-mcp/configs/dvmcp-settings.json +0 -0
  334. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/case-studies/damn-vulnerable-mcp/scan-results.json +0 -0
  335. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/case-studies/damn-vulnerable-mcp/scan-results.sarif +0 -0
  336. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/ci-integration/README.md +0 -0
  337. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/ci-integration/docker-one-liner.sh +0 -0
  338. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/ci-integration/github-actions-sarif.yml +0 -0
  339. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/ci-integration/gitlab-ci-scan.yml +0 -0
  340. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/ci-integration/pre-commit-config.yaml +0 -0
  341. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/run-all-examples.sh +0 -0
  342. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/01-no-auth-remote/.mcp.json +0 -0
  343. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/01-no-auth-remote/expected-findings.json +0 -0
  344. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/02-shell-injection/.mcp.json +0 -0
  345. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/02-shell-injection/expected-findings.json +0 -0
  346. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/03-hardcoded-secrets/.gitignore +0 -0
  347. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/03-hardcoded-secrets/.mcp.json +0 -0
  348. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/03-hardcoded-secrets/expected-findings.json +0 -0
  349. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/04-hook-exfiltration/.claude/settings.json +0 -0
  350. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/04-hook-exfiltration/expected-findings.json +0 -0
  351. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/05-trust-boundary-violations/.claude/settings.json +0 -0
  352. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/05-trust-boundary-violations/.mcp.json +0 -0
  353. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/05-trust-boundary-violations/expected-findings.json +0 -0
  354. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/06-tool-poisoning/.mcp.json +0 -0
  355. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/06-tool-poisoning/expected-findings.json +0 -0
  356. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/07-tainted-tool-function/expected-findings.json +0 -0
  357. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/07-tainted-tool-function/server.py +0 -0
  358. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/08-transport-insecurity/.mcp.json +0 -0
  359. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/08-transport-insecurity/expected-findings.json +0 -0
  360. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/09-a2a-insecure-agent/agent-card.json +0 -0
  361. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/09-a2a-insecure-agent/expected-findings.json +0 -0
  362. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/10-supply-chain-risks/.mcp.json +0 -0
  363. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/10-supply-chain-risks/expected-findings.json +0 -0
  364. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/10-supply-chain-risks/package.json +0 -0
  365. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/11-legal-compliance/expected-findings.json +0 -0
  366. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/11-legal-compliance/package.json +0 -0
  367. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/11-legal-compliance/subproject/package.json +0 -0
  368. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/examples/vulnerable-configs/README.md +0 -0
  369. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/funding.json +0 -0
  370. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/launch/MARKET-RESEARCH-2026-04-12.md +0 -0
  371. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/launch/blog-50-mcp-servers.md +0 -0
  372. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/launch/demo.cast +0 -0
  373. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/launch/state-of-mcp-security-2026.md +0 -0
  374. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/mkdocs.yml +0 -0
  375. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/openai-cybersecurity-grant-agent-audit-kit.md +0 -0
  376. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/openai-cybersecurity-grant-agent-audit-kit.pdf +0 -0
  377. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/public/badges/ox-coverage.json +0 -0
  378. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/public/corpora/manifest.json +0 -0
  379. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/releases/v0.3.10.md +0 -0
  380. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/releases/v0.3.5.md +0 -0
  381. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/releases/v0.3.6.md +0 -0
  382. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/releases/v0.3.7.md +0 -0
  383. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/releases/v0.3.8.md +0 -0
  384. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/releases/v0.3.9.md +0 -0
  385. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/remediation-key-corpus.json +0 -0
  386. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/requirements-lock.txt +0 -0
  387. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/.gitignore +0 -0
  388. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/PREVALENCE.md +0 -0
  389. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/REPORT.md +0 -0
  390. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/baseline/mcp-security-baseline-v1.0-2026-07-27.json +0 -0
  391. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/baseline/mcp-security-baseline-v1.0-2026-07-27.json.sha256 +0 -0
  392. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/baseline.py +0 -0
  393. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/blackhat-briefings-abstract.md +0 -0
  394. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/corpus/registry-manifest.json +0 -0
  395. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/fetch_registry.py +0 -0
  396. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/results.json +0 -0
  397. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/run_report.py +0 -0
  398. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/research/state-of-mcp-2026/state-of-mcp-security-2026.pdf +0 -0
  399. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/schema/ox-cve-manifest.schema.json +0 -0
  400. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/backfill_cve_property.py +0 -0
  401. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/build_coverage_page.py +0 -0
  402. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/check_counts.py +0 -0
  403. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/check_cve_ageing.py +0 -0
  404. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/check_cve_deferrals.py +0 -0
  405. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/check_registry_parity.py +0 -0
  406. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/check_report_figures.py +0 -0
  407. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/close_duplicate_cve_issues.py +0 -0
  408. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/cve_latency.py +0 -0
  409. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/cve_watcher.py +0 -0
  410. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/gen_coverage.py +0 -0
  411. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/gen_owasp_coverage.py +0 -0
  412. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/gen_remediation_key_corpus.py +0 -0
  413. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/generate_lockfile.py +0 -0
  414. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/index_cadence.py +0 -0
  415. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/install-pre-commit.sh +0 -0
  416. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/mcp_2026_07_28_readiness.py +0 -0
  417. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/render_repo_metadata.py +0 -0
  418. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/sync_fp_badge.py +0 -0
  419. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/sync_repo_metadata.py +0 -0
  420. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/sync_rule_count.py +0 -0
  421. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/sync_rule_doc_pages.py +0 -0
  422. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/sync_scanner_count.py +0 -0
  423. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/scripts/watch_csa_mcp_baseline.py +0 -0
  424. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/site/coverage/ox.json +0 -0
  425. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/site/coverage/prisma-airs.json +0 -0
  426. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/conftest.py +0 -0
  427. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/LICENSES.md +0 -0
  428. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agent_trust/clean/.claude/settings.json +0 -0
  429. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agent_trust/clean/.github/workflows/ci.yml +0 -0
  430. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agent_trust/clean/GEMINI.md +0 -0
  431. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agent_trust/gemini_shell/GEMINI.md +0 -0
  432. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agent_trust/headless_ci/.github/workflows/agent.yml +0 -0
  433. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agent_trust/headless_ci/.mcp.json +0 -0
  434. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agent_trust/pwn_request/.github/workflows/review.yml +0 -0
  435. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agent_trust/settings_bypass/.claude/settings.json +0 -0
  436. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agentic_skills/clean/skills/invoice-helper/SKILL.md +0 -0
  437. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agentic_skills/clean/skills/invoice-helper/manifest.json +0 -0
  438. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agentic_skills/clean/skills/invoice-helper/skill.json +0 -0
  439. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agentic_skills/malicious/skills/invoice-helper/SKILL.md +0 -0
  440. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agentic_skills/malicious/skills/invoice-helper/manifest.json +0 -0
  441. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/agentic_skills/malicious/skills/invoice-helper/skill.json +0 -0
  442. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/clean_mcp.json +0 -0
  443. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/clean_settings.json +0 -0
  444. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/already_reported/.mcp.json +0 -0
  445. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/already_reported/skills/inbox-triage/SKILL.md +0 -0
  446. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/benign_readonly/skills/layout-applier/SKILL.md +0 -0
  447. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/benign_readonly/skills/theme-applier/SKILL.md +0 -0
  448. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/chain_2node/.mcp.json +0 -0
  449. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/chain_2node/skills/inbox-triage/SKILL.md +0 -0
  450. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/chain_3node/.mcp.json +0 -0
  451. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/chain_3node/skills/config-loader/SKILL.md +0 -0
  452. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/chain_3node/skills/ticket-reader/SKILL.md +0 -0
  453. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/chain_4node_capped/.mcp.json +0 -0
  454. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/chain_4node_capped/skills/feed-reader/SKILL.md +0 -0
  455. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/chain_4node_capped/skills/normaliser/SKILL.md +0 -0
  456. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/chain_4node_capped/skills/profile-loader/SKILL.md +0 -0
  457. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/collusion_channel/skills/note-collector/SKILL.md +0 -0
  458. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/composition/collusion_channel/skills/note-publisher/SKILL.md +0 -0
  459. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/crewai/safe/full_chain.py +0 -0
  460. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/crewai/vulnerable/full_chain.py +0 -0
  461. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/a2a_2026/vulnerable_card.json +0 -0
  462. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/comment-and-control-2026-04-25/patched/review_agent.py +0 -0
  463. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/comment-and-control-2026-04-25/vulnerable/review_agent.py +0 -0
  464. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2025-51482-letta/negative/requirements.txt +0 -0
  465. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2025-51482-letta/vulnerable/requirements.txt +0 -0
  466. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2025-65720-gpt-researcher/config-safe-rejected/.mcp.json +0 -0
  467. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2025-65720-gpt-researcher/config-unsafe/.mcp.json +0 -0
  468. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2025-65720-gpt-researcher/pin-vulnerable-git/package.json +0 -0
  469. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2025-65720-gpt-researcher/pin-vulnerable-pypi/requirements.txt +0 -0
  470. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2025-66335/patched/requirements.txt +0 -0
  471. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2025-66335/vulnerable/requirements.txt +0 -0
  472. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-19337-mcp-google-search/negative/package.json +0 -0
  473. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-19337-mcp-google-search/vulnerable/package.json +0 -0
  474. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-19516-mcp-grafana/patched/.mcp.json +0 -0
  475. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-19516-mcp-grafana/vulnerable/.mcp.json +0 -0
  476. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-19984-mcp-florence2/negative/requirements.txt +0 -0
  477. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-19984-mcp-florence2/vulnerable/requirements.txt +0 -0
  478. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-20205/patched-splunk-pin/requirements.txt +0 -0
  479. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-20205/redacted-token-log/server.py +0 -0
  480. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-20205/vulnerable-splunk-pin/requirements.txt +0 -0
  481. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-20205/vulnerable-token-log/server.py +0 -0
  482. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-20205-config/patched-yaml/splunk-mcp.yaml +0 -0
  483. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-20205-config/vulnerable-inputs/inputs.conf +0 -0
  484. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-20205-config/vulnerable-yaml/splunk-mcp.yaml +0 -0
  485. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-23744-mcp-inspector/vendored-fork/vendor/mcpjam-inspector/server.ts +0 -0
  486. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-26015-docsgpt/config-safe-no-override/.mcp.json +0 -0
  487. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-26015-docsgpt/config-safe-rejected/.mcp.json +0 -0
  488. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-26015-docsgpt/config-unsafe/.mcp.json +0 -0
  489. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-26015-docsgpt/pin-safe/package.json +0 -0
  490. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-26015-docsgpt/pin-vulnerable/package.json +0 -0
  491. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-26015-docsgpt/pin-vulnerable-git/package.json +0 -0
  492. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-26030-semantic-kernel/pin-safe/requirements.txt +0 -0
  493. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-26030-semantic-kernel/pin-safe-floor/requirements.txt +0 -0
  494. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-26030-semantic-kernel/pin-vulnerable/requirements.txt +0 -0
  495. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-27825-atlassian/patched-pin/requirements.txt +0 -0
  496. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-27825-atlassian/vulnerable/agent.py +0 -0
  497. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30615/patched/py_argv_allowlist.py +0 -0
  498. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30615/vulnerable/py_os_system_stdin.py +0 -0
  499. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30615/vulnerable/py_subprocess_shell.py +0 -0
  500. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30615/vulnerable/ts_execa_shell.ts +0 -0
  501. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30623-litellm/patched/requirements-floor.txt +0 -0
  502. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30623-litellm/patched/requirements.txt +0 -0
  503. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30623-litellm/vulnerable/requirements.txt +0 -0
  504. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30624-agent-zero/negative/package.json +0 -0
  505. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30624-agent-zero/negative/requirements.txt +0 -0
  506. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30624-agent-zero/vulnerable/package.json +0 -0
  507. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-30624-agent-zero/vulnerable/requirements.txt +0 -0
  508. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-32211/patched-with-auth/.mcp.json +0 -0
  509. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-32211/vulnerable-no-auth/.mcp.json +0 -0
  510. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-32211-server/pyproject.toml +0 -0
  511. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-32211-server/server.py +0 -0
  512. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-33032/patched/router.go +0 -0
  513. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-33032/vulnerable/router.go +0 -0
  514. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-33032/vulnerable/server.py +0 -0
  515. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-33032/vulnerable/server.ts +0 -0
  516. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-33626/patched-pin/requirements.txt +0 -0
  517. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-33626/vulnerable/pipeline.py +0 -0
  518. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-39313/length-capped/http.ts +0 -0
  519. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-39313/patched/package.json +0 -0
  520. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-39313/vulnerable/http.ts +0 -0
  521. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-39313/vulnerable/package.json +0 -0
  522. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-40068-claudecode/pin-safe/package.json +0 -0
  523. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-40068-claudecode/pin-vulnerable/package.json +0 -0
  524. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-40933/vulnerable/flow.json +0 -0
  525. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-41481/patched-no-redirect/server.py +0 -0
  526. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-41481/patched-pin/requirements.txt +0 -0
  527. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-41481/vulnerable-pin/requirements.txt +0 -0
  528. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-41481/vulnerable-redirect/server.py +0 -0
  529. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-41488/patched-pin/requirements.txt +0 -0
  530. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-41488/patched-pinned/server.py +0 -0
  531. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-41488/vulnerable-pin/requirements.txt +0 -0
  532. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-41488/vulnerable-toctou/server.py +0 -0
  533. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-44717-mcp-calculate-server/pin-safe/requirements.txt +0 -0
  534. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-44717-mcp-calculate-server/pin-safe-floor/requirements.txt +0 -0
  535. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-44717-mcp-calculate-server/pin-vulnerable/requirements.txt +0 -0
  536. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-49856-jshook/negative/package.json +0 -0
  537. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-49856-jshook/vulnerable/package.json +0 -0
  538. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-49857-auth-fetch-mcp/negative/package.json +0 -0
  539. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-49857-auth-fetch-mcp/vulnerable/package.json +0 -0
  540. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-49986-neuro-cortex/negative/requirements.txt +0 -0
  541. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-49986-neuro-cortex/vulnerable/requirements.txt +0 -0
  542. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-50027-mcp-memory-service/negative/requirements.txt +0 -0
  543. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-50027-mcp-memory-service/vulnerable/requirements.txt +0 -0
  544. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-53708/patched-pinned/gateway.py +0 -0
  545. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-53708/vulnerable-rebind/gateway.py +0 -0
  546. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-7061-chatgpt-mcp/safe/package.json +0 -0
  547. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-7061-chatgpt-mcp/vulnerable-git/package.json +0 -0
  548. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-7061-chatgpt-mcp/vulnerable-shorthand/package.json +0 -0
  549. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-72768-n8n/negative/package.json +0 -0
  550. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-72768-n8n/vulnerable/package.json +0 -0
  551. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73222-claude-code-templates/negative/package.json +0 -0
  552. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73222-claude-code-templates/vulnerable/package.json +0 -0
  553. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73296-ufo/negative/mobile_mcp_server.py +0 -0
  554. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73296-ufo/negative/requirements.txt +0 -0
  555. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73296-ufo/vulnerable/mobile_mcp_server.py +0 -0
  556. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73296-ufo/vulnerable/requirements.txt +0 -0
  557. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73498-mcp-atlassian/negative/attachments.py +0 -0
  558. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73498-mcp-atlassian/negative/requirements.txt +0 -0
  559. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73498-mcp-atlassian/vulnerable/attachments.py +0 -0
  560. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73498-mcp-atlassian/vulnerable/requirements.txt +0 -0
  561. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73614-policy-truncation/negative/hook_bridge.js +0 -0
  562. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73614-policy-truncation/vulnerable/hook_bridge.js +0 -0
  563. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73846-ckan-mcp/negative/package.json +0 -0
  564. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-73846-ckan-mcp/vulnerable/package.json +0 -0
  565. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-7591-astro-mcp/source-safe/no_import.ts +0 -0
  566. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-7591-astro-mcp/source-safe/parametrized.ts +0 -0
  567. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-7591-astro-mcp/source-safe/tagged_template.ts +0 -0
  568. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-7591-astro-mcp/source-unsafe/index.ts +0 -0
  569. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-7591-astro-mcp/vulnerable/package.json +0 -0
  570. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-78430-mcp-ffmpeg-helper/negative/package.json +0 -0
  571. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-78430-mcp-ffmpeg-helper/negative/src/tools/handlers.ts +0 -0
  572. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-78430-mcp-ffmpeg-helper/vulnerable/package.json +0 -0
  573. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-78430-mcp-ffmpeg-helper/vulnerable/src/tools/handlers.ts +0 -0
  574. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/cve-2026-85166-n8n-branch/vulnerable/package.json +0 -0
  575. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/apollo-patched/package.json +0 -0
  576. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/apollo-vulnerable/package.json +0 -0
  577. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/java-patched/pom.xml +0 -0
  578. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/java-vulnerable/pom.xml +0 -0
  579. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-fastmcp-guarded/requirements.txt +0 -0
  580. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-fastmcp-guarded/server.py +0 -0
  581. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-fastmcp-stdio/requirements.txt +0 -0
  582. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-fastmcp-stdio/server.py +0 -0
  583. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-fastmcp-unguarded/requirements.txt +0 -0
  584. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-fastmcp-unguarded/server.py +0 -0
  585. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-patched/requirements.txt +0 -0
  586. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-pattern-guarded/requirements.txt +0 -0
  587. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-pattern-guarded/server.py +0 -0
  588. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-pattern-unguarded/requirements.txt +0 -0
  589. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-pattern-unguarded/server.py +0 -0
  590. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/dns-rebind-sdk-class/python-vulnerable/requirements.txt +0 -0
  591. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/healthcare_ai/safe_skill.md +0 -0
  592. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/healthcare_ai/vulnerable_skill.md +0 -0
  593. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/hook_rce/safe_settings.json +0 -0
  594. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/hook_rce/vulnerable_settings.json +0 -0
  595. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/india_pii/safe.txt +0 -0
  596. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/india_pii/vulnerable.txt +0 -0
  597. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/langchain/safe_requirements.txt +0 -0
  598. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/langchain/vulnerable_prompt.py +0 -0
  599. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/langchain/vulnerable_requirements.txt +0 -0
  600. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/marketplace/safe.json +0 -0
  601. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/marketplace/vulnerable.json +0 -0
  602. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/mcp_auth/safe_server.py +0 -0
  603. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/mcp_auth/vulnerable_server.py +0 -0
  604. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/oauth/safe.py +0 -0
  605. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/oauth/vulnerable.py +0 -0
  606. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ox-mcp-stdio-class/patched_java.java +0 -0
  607. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ox-mcp-stdio-class/patched_py.py +0 -0
  608. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ox-mcp-stdio-class/patched_rust.rs +0 -0
  609. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ox-mcp-stdio-class/patched_ts.ts +0 -0
  610. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ox-mcp-stdio-class/unconnected_ts.ts +0 -0
  611. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ox-mcp-stdio-class/vulnerable_java.java +0 -0
  612. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ox-mcp-stdio-class/vulnerable_py.py +0 -0
  613. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ox-mcp-stdio-class/vulnerable_rust.rs +0 -0
  614. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ox-mcp-stdio-class/vulnerable_ts.ts +0 -0
  615. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/routines/safe.json +0 -0
  616. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/routines/vulnerable.json +0 -0
  617. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/skills/safe.md +0 -0
  618. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/skills/vulnerable.md +0 -0
  619. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ssrf/safe.py +0 -0
  620. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/ssrf/vulnerable.py +0 -0
  621. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/state_privacy/safe_privacy.md +0 -0
  622. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/state_privacy/vulnerable_privacy.md +0 -0
  623. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/tasks/safe.py +0 -0
  624. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/tasks/vulnerable.py +0 -0
  625. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/websocket-transport/ws-cleartext/.mcp.json +0 -0
  626. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/websocket-transport/ws-loopback/.mcp.json +0 -0
  627. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/cves/websocket-transport/ws-secure/.mcp.json +0 -0
  628. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/deepseek/safe/agent.py +0 -0
  629. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/deepseek/vulnerable/agent.py +0 -0
  630. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/env_with_secrets +0 -0
  631. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/documented_risk/.agent-audit-kit.yml +0 -0
  632. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/documented_risk/agent.yaml +0 -0
  633. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/multilingual_en_only/agent.yaml +0 -0
  634. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/multilingual_en_only/evals/welcome.en.yaml +0 -0
  635. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/multilingual_internal_only/agent.yaml +0 -0
  636. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/multilingual_with_coverage/agent.yaml +0 -0
  637. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/multilingual_with_coverage/evals/welcome.de.yaml +0 -0
  638. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/multilingual_with_coverage/evals/welcome.en.yaml +0 -0
  639. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/multilingual_with_coverage/evals/welcome.fr.yaml +0 -0
  640. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/eu_ai_act_art15_locale/single_locale/agent.yaml +0 -0
  641. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/harness_shared_state/safe_multi_agent.py +0 -0
  642. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/harness_shared_state/unsafe_multi_agent.py +0 -0
  643. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/ide_task_rce/clean/.vscode/tasks.json +0 -0
  644. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/ide_task_rce/jsonc/.vscode/tasks.json +0 -0
  645. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/ide_task_rce/worm/.vscode/launch.json +0 -0
  646. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/ide_task_rce/worm/.vscode/tasks.json +0 -0
  647. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ipi-wild-2026-04-24/poisoned_template.md +0 -0
  648. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/mcp-fhi/clean/server.py +0 -0
  649. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/mcp-fhi/vulnerable/server.py +0 -0
  650. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/documented-risk/.agent-audit-kit.yml +0 -0
  651. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/documented-risk/requirements.txt +0 -0
  652. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/documented-risk/server.py +0 -0
  653. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/python/sanitized/requirements.txt +0 -0
  654. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/python/sanitized/server.py +0 -0
  655. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/python/vulnerable/requirements.txt +0 -0
  656. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/python/vulnerable/server.py +0 -0
  657. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/typescript/sanitized/package.json +0 -0
  658. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/typescript/sanitized/server.ts +0 -0
  659. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/typescript/vulnerable/package.json +0 -0
  660. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-2026-04-15/typescript/vulnerable/server.ts +0 -0
  661. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-marketplace-fetch/patched.py +0 -0
  662. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-marketplace-fetch/vulnerable.py +0 -0
  663. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/ox-mcp-marketplace-fetch/vulnerable.ts +0 -0
  664. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/incidents/vercel-2026-04-19/app.yaml +0 -0
  665. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/kong_konnect/.mcp.json +0 -0
  666. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/langchain_prompt_loader/constant_safe.py +0 -0
  667. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/langchain_prompt_loader/user_path_unsafe.py +0 -0
  668. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/langchain_prompt_loader/validated_safe.py +0 -0
  669. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/langgraph/safe/graph.py +0 -0
  670. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/langgraph/vulnerable/graph.py +0 -0
  671. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_deprecated/clean_migrated/server.py +0 -0
  672. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_deprecated/config_all/.mcp.json +0 -0
  673. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_deprecated/logging_py/server.py +0 -0
  674. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_deprecated/roots_py/server.py +0 -0
  675. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_deprecated/sampling_py/server.py +0 -0
  676. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_deprecated/stdlib_logging_fp/util.py +0 -0
  677. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/clean_python/requirements.txt +0 -0
  678. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/clean_python/server.py +0 -0
  679. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/config_clean/.mcp.json +0 -0
  680. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/config_vulnerable/.mcp.json +0 -0
  681. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/documented_risk/.agent-audit-kit.yml +0 -0
  682. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/documented_risk/requirements.txt +0 -0
  683. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/documented_risk/server.py +0 -0
  684. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/vulnerable_python/requirements.txt +0 -0
  685. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/vulnerable_python/server.py +0 -0
  686. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/vulnerable_typescript/package.json +0 -0
  687. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_sampling/vulnerable_typescript/server.ts +0 -0
  688. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_ssrf/safe_tool.py +0 -0
  689. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_ssrf/vulnerable_tool.py +0 -0
  690. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/clean_py/requirements.txt +0 -0
  691. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/clean_py/server.py +0 -0
  692. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/documented_risk/.agent-audit-kit.yml +0 -0
  693. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/documented_risk/requirements.txt +0 -0
  694. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/documented_risk/server.py +0 -0
  695. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_001_py/requirements.txt +0 -0
  696. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_001_py/server.py +0 -0
  697. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_001_ts/package.json +0 -0
  698. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_001_ts/server.ts +0 -0
  699. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_002_py/client.py +0 -0
  700. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_002_py/requirements.txt +0 -0
  701. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_003_k8s/service.yaml +0 -0
  702. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_003_nginx/nginx.conf +0 -0
  703. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_003_store_py/handlers.py +0 -0
  704. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_003_store_py/requirements.txt +0 -0
  705. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_004_client/client.py +0 -0
  706. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_stateless/vulnerable_004_client/requirements.txt +0 -0
  707. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_tool_unsafe_eval/eval_safe.py +0 -0
  708. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_tool_unsafe_eval/eval_unsafe.py +0 -0
  709. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/mcp_tool_unsafe_eval/no_tool_decorator.py +0 -0
  710. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/metis_pomdp/refusal_refeed_safe.py +0 -0
  711. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/metis_pomdp/refusal_refeed_unsafe.py +0 -0
  712. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/metis_pomdp/scoring_sink_unsafe.py +0 -0
  713. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/nvd/nvd_2_0_mcp_sample.json +0 -0
  714. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/openapi_smells/clean.openapi.yaml +0 -0
  715. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/openapi_smells/smelly.openapi.yaml +0 -0
  716. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/openclaw/role_default_admin_unsafe.py +0 -0
  717. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/openclaw/role_explicit_safe.py +0 -0
  718. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/package_with_risks.json +0 -0
  719. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/pipelock/policy_invalid.yaml +0 -0
  720. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/pipelock/policy_minimal.yaml +0 -0
  721. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/pipelock/policy_with_parity.yaml +0 -0
  722. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/project_deal/safe/pricer.py +0 -0
  723. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/project_deal/vulnerable/pricer.py +0 -0
  724. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/server_cards/clean.server-card.json +0 -0
  725. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/server_cards/poisoned.server-card.json +0 -0
  726. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/session_splice/benign/benign.session.json +0 -0
  727. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/session_splice/path/path_splice.session.json +0 -0
  728. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/session_splice/single/single_call_full.session.json +0 -0
  729. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/session_splice/url/url_splice.session.json +0 -0
  730. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/sessions/langgraph-checkpoint.json +0 -0
  731. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/sessions/openai-agents-trace.json +0 -0
  732. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/sessions/raw-calls.jsonl +0 -0
  733. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/skill_composition/benign/skills/code-formatter/SKILL.md +0 -0
  734. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/skill_composition/benign/skills/doc-writer/SKILL.md +0 -0
  735. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/skill_composition/benign/skills/project-reader/SKILL.md +0 -0
  736. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/skill_composition/collude/skills/credential-loader/SKILL.md +0 -0
  737. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/skill_composition/collude/skills/metrics-reporter/SKILL.md +0 -0
  738. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/skill_composition/collude/skills/project-reader/SKILL.md +0 -0
  739. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/skill_lifecycle/safe_skill.py +0 -0
  740. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/skill_lifecycle/unsafe_skill.py +0 -0
  741. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/social_agents/tiktok_human_in_loop.py +0 -0
  742. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/social_agents/tiktok_unsafe.py +0 -0
  743. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/stainless_lineage/config_root/stainless.yml +0 -0
  744. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/stainless_lineage/generated_python_sdk/client.py +0 -0
  745. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/stainless_lineage/generated_typescript_sdk/client.ts +0 -0
  746. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/stainless_lineage/handwritten/server.py +0 -0
  747. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/vulnerable_hooks.json +0 -0
  748. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/vulnerable_mcp.json +0 -0
  749. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/fixtures/vulnerable_settings.json +0 -0
  750. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_a2a_2026.py +0 -0
  751. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_a2a_protocol.py +0 -0
  752. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_action.py +0 -0
  753. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_agent_config.py +0 -0
  754. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_agent_trust_surface.py +0 -0
  755. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_agent_zero_pin.py +0 -0
  756. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_agentic_skills.py +0 -0
  757. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_aicm.py +0 -0
  758. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_anthropic_sdk_hardening.py +0 -0
  759. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_argv_toctou.py +0 -0
  760. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_autopr.py +0 -0
  761. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_changelog_tags_agree.py +0 -0
  762. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cli.py +0 -0
  763. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cli_scan_extraction.py +0 -0
  764. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_compliance_output.py +0 -0
  765. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_compliance_v2.py +0 -0
  766. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_composition.py +0 -0
  767. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_console_scripts.py +0 -0
  768. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_corpus_n_single_source.py +0 -0
  769. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_corpus_target_consistency.py +0 -0
  770. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_count_guards_are_complete.py +0 -0
  771. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_coverage_map.py +0 -0
  772. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_coverage_page_cve_latency.py +0 -0
  773. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_coverage_tables.py +0 -0
  774. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_crewai_nvd_and_evasion.py +0 -0
  775. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_crosswalk.py +0 -0
  776. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_csa_baseline_watcher.py +0 -0
  777. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2025_66335.py +0 -0
  778. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2025_66414_python_sdk.py +0 -0
  779. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_19591_approval_parser_desync.py +0 -0
  780. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_20205_config.py +0 -0
  781. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_20205_splunk.py +0 -0
  782. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_32211.py +0 -0
  783. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_32211_server.py +0 -0
  784. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_33626.py +0 -0
  785. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_35568_java.py +0 -0
  786. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_35577_apollo.py +0 -0
  787. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_37006_websocket_transport.py +0 -0
  788. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_39313.py +0 -0
  789. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_40576_excel.py +0 -0
  790. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_40608_next_ai_draw.py +0 -0
  791. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_41481.py +0 -0
  792. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_41488.py +0 -0
  793. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_53708.py +0 -0
  794. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_78430_tool_arg_oscmd.py +0 -0
  795. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_80347_ssrf_bracketed_host.py +0 -0
  796. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_81102_fastmcp_dns_rebind.py +0 -0
  797. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_82456_transport_session_unauth.py +0 -0
  798. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_2026_84289_tools_list_unbounded.py +0 -0
  799. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_ageing_gate.py +0 -0
  800. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_deferral_dates.py +0 -0
  801. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_deferral_queue_2026_09_04.py +0 -0
  802. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_deferral_queue_2026_09_08.py +0 -0
  803. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_fix_and_watch_and_advisories.py +0 -0
  804. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_latency.py +0 -0
  805. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_triage_2026_08_18.py +0 -0
  806. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_triage_2026_08_19.py +0 -0
  807. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_triage_2026_08_21.py +0 -0
  808. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_triage_2026_08_22.py +0 -0
  809. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_triage_2026_08_24.py +0 -0
  810. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_triage_2026_08_25.py +0 -0
  811. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_triage_2026_08_26.py +0 -0
  812. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_watcher_backpressure.py +0 -0
  813. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_watcher_dedup.py +0 -0
  814. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cve_watcher_relevance.py +0 -0
  815. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cves_2026.py +0 -0
  816. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_cyclonedx_aibom.py +0 -0
  817. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_determinism_benchmark.py +0 -0
  818. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_diff.py +0 -0
  819. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_discovery.py +0 -0
  820. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_docs_links.py +0 -0
  821. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_engine.py +0 -0
  822. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_engine_ignore_paths.py +0 -0
  823. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_eu_ai_act_art15_locale.py +0 -0
  824. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_examples.py +0 -0
  825. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_false_positive_artifacts_agree.py +0 -0
  826. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_false_positive_harness.py +0 -0
  827. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_fix.py +0 -0
  828. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_fix_recipe_coverage.py +0 -0
  829. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_flowise.py +0 -0
  830. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_funding_manifest.py +0 -0
  831. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_gha_immutable.py +0 -0
  832. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_healthcare_ai_and_state_privacy.py +0 -0
  833. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_hook_injection.py +0 -0
  834. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_ide_task_rce.py +0 -0
  835. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_index_builder.py +0 -0
  836. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_index_cadence_block.py +0 -0
  837. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_india_pii.py +0 -0
  838. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_integrations_notify.py +0 -0
  839. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_json_report_counts.py +0 -0
  840. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_kong_konnect_cve_2026_13341.py +0 -0
  841. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_legal_compliance.py +0 -0
  842. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_llm_scan.py +0 -0
  843. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_llm_scan_mod.py +0 -0
  844. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_llm_sql_rce.py +0 -0
  845. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_marketplace_manifest.py +0 -0
  846. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_marketplace_sources.py +0 -0
  847. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_apps_ui.py +0 -0
  848. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_atlassian_cve_2026_73498.py +0 -0
  849. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_attestation.py +0 -0
  850. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_auth_header_family.py +0 -0
  851. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_auth_pathtraversal.py +0 -0
  852. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_config.py +0 -0
  853. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_cve_pins_2026_07.py +0 -0
  854. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_deprecated_features.py +0 -0
  855. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_env_placeholder_exfil.py +0 -0
  856. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_gateway_registry_cve_2026_14471.py +0 -0
  857. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_http_noauth_server.py +0 -0
  858. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_marketplace_fetch.py +0 -0
  859. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_noauth_default.py +0 -0
  860. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_routing_desync.py +0 -0
  861. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_sampling_capability.py +0 -0
  862. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_security_baseline.py +0 -0
  863. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_server_card.py +0 -0
  864. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_sidecar_http.py +0 -0
  865. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_ssrf_toolarg.py +0 -0
  866. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_stateless_migration.py +0 -0
  867. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_stdio_cmd_inj_java.py +0 -0
  868. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_stdio_cmd_inj_python.py +0 -0
  869. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_stdio_cmd_inj_rust.py +0 -0
  870. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_stdio_cmd_inj_typescript.py +0 -0
  871. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_stdio_launcher.py +0 -0
  872. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_toolgate_asymmetry.py +0 -0
  873. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcp_tunnel.py +0 -0
  874. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_mcpwn.py +0 -0
  875. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_no_placeholder_cves.py +0 -0
  876. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_nsa_mcp_csi.py +0 -0
  877. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_oauth_resource_indicators.py +0 -0
  878. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_oauth_surface.py +0 -0
  879. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_owasp_agentic_coverage.py +0 -0
  880. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_owasp_public_json.py +0 -0
  881. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_owasp_report.py +0 -0
  882. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_owasp_report_output.py +0 -0
  883. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_parity_region_drift.py +0 -0
  884. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_phase3.py +0 -0
  885. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_phase5.py +0 -0
  886. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_pin_drift.py +0 -0
  887. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_pinning.py +0 -0
  888. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_pinning_mod.py +0 -0
  889. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_policy_truncation.py +0 -0
  890. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_pr_summary.py +0 -0
  891. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_preset_mcp_2026_07_28.py +0 -0
  892. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_preset_mcp_ox_2026_04.py +0 -0
  893. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_proxy.py +0 -0
  894. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_quoted_shell_interp.py +0 -0
  895. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_readiness_report_is_current.py +0 -0
  896. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_registry_corpus_auth_consistency.py +0 -0
  897. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_registry_parity.py +0 -0
  898. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_remediation_keys_are_real.py +0 -0
  899. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_repo_metadata_matches_code.py +0 -0
  900. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_repo_metadata_sync.py +0 -0
  901. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_report_headline_numbers.py +0 -0
  902. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_report_unmarked_figures.py +0 -0
  903. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_rule_count_sync.py +0 -0
  904. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_rule_doc_pages_sync.py +0 -0
  905. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_sandbox_self_disable.py +0 -0
  906. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_sarif_fingerprints.py +0 -0
  907. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_sarif_github_upload.py +0 -0
  908. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_sarif_output.py +0 -0
  909. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_scanner_manifest.py +0 -0
  910. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_scoring.py +0 -0
  911. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_secret_exposure.py +0 -0
  912. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_serena_cve_2026_49471.py +0 -0
  913. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_session_adapters.py +0 -0
  914. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_session_splice.py +0 -0
  915. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_shared_resource_authz.py +0 -0
  916. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_skill_composition.py +0 -0
  917. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_skill_poisoning.py +0 -0
  918. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_skill_untrusted_exec_path.py +0 -0
  919. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_ssrf_reachability.py +0 -0
  920. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_state_of_mcp_report.py +0 -0
  921. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_stdio_injection.py +0 -0
  922. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_suggest_apply_trivial.py +0 -0
  923. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_supply_chain.py +0 -0
  924. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_taint_analysis.py +0 -0
  925. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_tool_poisoning.py +0 -0
  926. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_toxic_flow.py +0 -0
  927. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_transport_flip_remediation.py +0 -0
  928. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_transport_security.py +0 -0
  929. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_trust_boundary.py +0 -0
  930. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_ts_stdio_taint.py +0 -0
  931. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_typescript_pattern_scan_sql.py +0 -0
  932. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_ufo_mobile_mcp.py +0 -0
  933. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_10_features.py +0 -0
  934. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_10_rules.py +0 -0
  935. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_11_rules.py +0 -0
  936. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_13_rules.py +0 -0
  937. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_14_rules.py +0 -0
  938. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_15_rules.py +0 -0
  939. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_16_rules.py +0 -0
  940. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_17_rules.py +0 -0
  941. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_18_rules.py +0 -0
  942. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_19_rules.py +0 -0
  943. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_1_cve_rules.py +0 -0
  944. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_20_rules.py +0 -0
  945. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_21_rules.py +0 -0
  946. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_22_rules.py +0 -0
  947. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_8_features.py +0 -0
  948. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_8_rules.py +0 -0
  949. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_9_features.py +0 -0
  950. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_9_features_p1.py +0 -0
  951. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_v0_3_9_rules.py +0 -0
  952. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_verification.py +0 -0
  953. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_verification_mod.py +0 -0
  954. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_version_consistency.py +0 -0
  955. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_vuln_db.py +0 -0
  956. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/tests/test_watch_cve_feeds.py +0 -0
  957. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/vscode-extension/.gitignore +0 -0
  958. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/vscode-extension/.vscodeignore +0 -0
  959. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/vscode-extension/CLAUDE.md +0 -0
  960. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/vscode-extension/README.md +0 -0
  961. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/vscode-extension/package.json +0 -0
  962. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/vscode-extension/src/extension.ts +0 -0
  963. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/vscode-extension/src/sarifReader.ts +0 -0
  964. {agent_audit_kit-0.3.97 → agent_audit_kit-0.3.99}/vscode-extension/tsconfig.json +0 -0
@@ -16,6 +16,43 @@ open.
16
16
  > issue. The per-CVE latency figures in the tables are **measurements recorded at
17
17
  > the time**, kept as dated facts, not a standing promise.
18
18
 
19
+ ## 2026-09-09: the first JVM entry in the pin surface
20
+
21
+ CVE-2026-53937 is the first CVE this repository has covered on a Gradle/Maven
22
+ coordinate, and the reason it took a new module rather than a new row is worth
23
+ recording. `mcp_cve_pins_2026_07` is the pin table, and its `_CANDIDATE_NAMES`
24
+ reads Python and npm manifests only — its own docstring records the cost of that
25
+ ("the crates.io twin `codewhale-tui` has the same defect but Cargo manifests are
26
+ not in `_CANDIDATE_NAMES`", and "ArcadeDB on Maven" sits in the handled-elsewhere
27
+ list). Widening that tuple would put roughly sixty unrelated package regexes to
28
+ work against `pom.xml` and `build.gradle` for the sake of one CVE, which buys
29
+ false-positive surface rather than coverage. `jvm_mcp_sdk_pins.py` is the narrow
30
+ alternative: JVM manifests, MCP SDK coordinates, nothing else.
31
+
32
+ **Version resolution was the actual work.** A JVM coordinate rarely carries its
33
+ version inline any more, so a matcher that only reads `group:artifact:version`
34
+ would miss most real projects. Four forms are resolved: a Gradle KTS `val`, a
35
+ Groovy inline coordinate, a version catalog's `version.ref` against
36
+ `[versions]`, and Maven's `${property}` against `<properties>`. The catalog arm
37
+ shipped broken in its first draft and was caught by the fixtures — one regex with
38
+ a lazy `[^\n]*?` and an optional trailing version group matches happily with that
39
+ group empty, so every catalog resolved to "no version" and the arm silently never
40
+ fired. Splitting coordinate-match from version-match removed the ambiguity. That
41
+ is the failure mode a fixture exists to catch, and it did.
42
+
43
+ **Range boundaries came from Maven Central, not from the advisory prose.** NVD
44
+ says "0.7.0 through 0.12.0"; `io.modelcontextprotocol:kotlin-sdk-core` publishes
45
+ 0.7.0 as its *first* release. The range does not start at 0.7.0 because the bug
46
+ was introduced there — it starts there because that is where the module
47
+ containing `ReadBuffer.kt` was split out. Recorded in the rule so nobody later
48
+ "corrects" the floor down to 0.1.0 on the theory that older releases must also be
49
+ affected. There are no releases between 0.12.0 and 0.13.0, so one floor covers
50
+ the range with no second arm needed.
51
+
52
+ | CVE | Reference | AAK rule / disposition | Triaged |
53
+ |---|---|---|---|
54
+ | CVE-2026-53937 (MCP Kotlin SDK 0.7.0–0.12.0, CVSS 6.2 - `ReadBuffer.append` writes every stdio chunk into a `kotlinx.io.Buffer` with no size cap and only extracts a frame on `\n`, so a peer that never sends a newline grows it until the JVM is OOM-killed; `StdioServerTransport` / `StdioClientTransport` amplify it by queueing raw chunks through a `Channel<ByteArray>(Channel.UNLIMITED)` with no backpressure) | [NVD](https://nvd.nist.gov/vuln/detail/CVE-2026-53937) | **In scope, rule shipped** `AAK-MCP-STDIO-UNBOUNDED-BUFFER-001` (SUPPLY_CHAIN, **MEDIUM**): floor `io.modelcontextprotocol:kotlin-sdk >= 0.13.0`, `introduced=0.7.0`, matching `kotlin-sdk`, `kotlin-sdk-core` and `kotlin-sdk-jvm` and reporting once per manifest. First JVM pin in the repository; new scanner `jvm_mcp_sdk_pins.py` reads `build.gradle`, `build.gradle.kts`, `gradle/libs.versions.toml` and `pom.xml`. (#705) | 2026-09-09 |
55
+
19
56
  ## 2026-09-08: nine issues close on five pins, and three registry checks changed the fix
20
57
 
21
58
  The queue carried twelve open `cve-response` issues, eleven of them dated
@@ -7,6 +7,166 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.99] - 2026-09-09
11
+
12
+ ### Added
13
+
14
+ - **`AAK-MCP-STDIO-UNBOUNDED-BUFFER-001`** (MEDIUM, SUPPLY_CHAIN) — CVE-2026-53937,
15
+ closes #705. MCP Kotlin SDK 0.7.0–0.12.0 appends every stdio chunk into a
16
+ `kotlinx.io.Buffer` with no size cap and only extracts a frame once it sees a
17
+ `\n`, so a peer that streams bytes without ever sending a newline grows the
18
+ buffer until the JVM is OOM-killed. `StdioServerTransport` and
19
+ `StdioClientTransport` amplify it by queueing raw chunks through a
20
+ `Channel<ByteArray>(Channel.UNLIMITED)` with no backpressure. Fixed in 0.13.0.
21
+
22
+ **This is the repository's first JVM pin**, and it needed a new scanner rather
23
+ than a new row. `mcp_cve_pins_2026_07`'s `_CANDIDATE_NAMES` reads Python and npm
24
+ manifests only — its own docstring records what that costs, with the crates.io
25
+ twin of `codewhale` and "ArcadeDB on Maven" both listed as out of reach.
26
+ Widening that tuple would set roughly sixty unrelated package regexes loose on
27
+ `pom.xml` and `build.gradle` for one CVE. `jvm_mcp_sdk_pins.py` is the narrow
28
+ alternative: JVM manifests, MCP SDK coordinates, nothing else.
29
+
30
+ Version resolution is the substance. A JVM coordinate rarely carries its version
31
+ inline, so four forms resolve: a Gradle KTS `val`, a Groovy inline coordinate, a
32
+ version catalog's `version.ref` against `[versions]`, and Maven's `${property}`
33
+ against `<properties>`. The catalog arm shipped broken in its first draft and
34
+ the fixtures caught it — one regex with a lazy `[^\n]*?` and an optional
35
+ trailing version group matches with that group empty, so every catalog resolved
36
+ to "no version" and the arm silently never fired.
37
+
38
+ Boundaries came from Maven Central, not from advisory prose:
39
+ `io.modelcontextprotocol:kotlin-sdk-core` publishes **0.7.0 as its first
40
+ release**, so NVD's range start is a module-split boundary rather than the
41
+ commit that introduced the defect. Recorded in the rule so nobody later
42
+ "corrects" the floor down. No releases exist between 0.12.0 and 0.13.0, so one
43
+ floor covers the range with no second arm.
44
+
45
+ All three artifact names that publish the same code (`kotlin-sdk`,
46
+ `kotlin-sdk-core`, `kotlin-sdk-jvm`) are matched, and a manifest naming two of
47
+ them reports **once** — one dependency, not two.
48
+
49
+ Deliberately conservative: a finding requires a version that actually resolved
50
+ into 0.7.0–0.12.0. A dynamic version (`0.+`, `latest.release`) or a
51
+ `version.ref` pointing outside the scanned tree is not reported, and the rule's
52
+ `limitations` says so rather than leaving the reader to discover it.
53
+
54
+ Rules 339 → 340, scanners 100 → 101.
55
+
56
+ ### Fixed
57
+
58
+ - **`Link check` had been red on `main` since 2026-09-06 and three releases
59
+ shipped over it.** Not a broken link — the same workflow carries the MCP
60
+ Security Index staleness guard, and `scripts/index_cadence.py --check` was
61
+ failing because the README's rendered cadence line said "2026-08-31 (4
62
+ snapshots)" while the live history had published a fifth on 2026-09-07. The
63
+ guard fires on the *mismatch*, not only on age, which is why 8 days inside a
64
+ 10-day tolerance still failed.
65
+
66
+ Regenerated. Worth naming the reason it went unnoticed: the release workflow
67
+ gates on its own job list and does not depend on `Link check`, so a red
68
+ workflow on `main` never blocked a tag. Three releases went out with it red
69
+ because nothing looked, which is the same "a check nobody reads is not a check"
70
+ problem the CVE ageing gate was designed around.
71
+
72
+ - `CLAUDE_PROMPT.md`'s note about the unregistered index domain rewritten to stop
73
+ restating the dead hostname; it points at `SECURITY.md` instead.
74
+
75
+
76
+ ## [0.3.98] - 2026-09-08
77
+
78
+ Clears the standing backlog: both deferred rule tasks are built, and the four
79
+ loose ends flagged over the last two releases are closed. 337 → 339 rules,
80
+ 98 → 100 scanners. Both rules came out of the 2026-09-08 NVD triage and carry the
81
+ fixtures that triage specified — neither is net-new surface invented to fill a
82
+ release.
83
+
84
+ ### Added
85
+
86
+ - **`AAK-MCP-DEST-UNVALIDATED-001`** (HIGH, MCP_CONFIG) — closes #693 and #699,
87
+ eight days ahead of their 2026-09-20 target. One rule, two arms, because
88
+ re-reading NVD showed the pair are the two ends of one defect rather than
89
+ duplicates:
90
+
91
+ - **Asymmetry** (CVE-2026-85666, OGX, 7.5): the guard *exists* and is called —
92
+ OGX applies `validate_url_not_private()` to its other URL inputs — and simply
93
+ is not applied to `server_url`. That is a within-file inconsistency, and the
94
+ same class this scanner already detects at two other layers (`AAK-MCPWN-001`,
95
+ `AAK-MCP-TOOLGATE-ASYMMETRY-001`). It is the higher-precision arm: the
96
+ negative case is a module that guards every destination, which is exactly
97
+ what it passes.
98
+ - **Absence** (CVE-2026-86122, Rowboat, 5.0): nothing guards anything, so there
99
+ is no correct sibling call to compare against and the asymmetry arm can never
100
+ fire.
101
+
102
+ Deliberately narrow, because ten `AAK-SSRF-*` rules already exist: the
103
+ destination must be configuration-shaped (`server_url`, `webhook_url`, …), the
104
+ file must be MCP-relevant, and guard recognition is *imported* from
105
+ `ssrf_toctou` rather than re-listed, so the two scanners cannot drift apart. A
106
+ caller-supplied URL arriving as a tool argument stays `AAK-MCP-SSRF-001`'s
107
+ surface, and the rule says so in its `limitations`.
108
+
109
+ `base_url` was in the destination vocabulary until the first self-scan fired it
110
+ on a `negative/` fixture whose whole job is to be clean. The fixture was right:
111
+ `base_url` in an API client is the service's own address, configured once and
112
+ not caller-steerable. Dropped rather than special-cased.
113
+
114
+ - **`AAK-SANDBOX-DENYLIST-001`** (CRITICAL, TRUST_BOUNDARY) — closes #704, the
115
+ detector #656 was actually deferred for. Fires only when four signals combine:
116
+ a deny-list of dangerous *names* held as strings, checked against a value, an
117
+ in-process exec of that value, **and** a still-reachable lookup primitive
118
+ (`getattr`, `__getattribute__`, `vars`, `globals`). The fourth is what makes it
119
+ a defect rather than a style choice — a deny-list that also denies the lookups
120
+ is merely fragile; one that leaves them reachable is bypassable by construction.
121
+
122
+ The blocker named on #656 was precision: telling a deny-list sandbox from a
123
+ real one *without firing on every codebase that mentions `eval`*. Four
124
+ negatives hold that line, three of them #704's own acceptance list — an
125
+ allow-list sandbox, a subprocess-isolated executor, ordinary `eval` on trusted
126
+ input — plus the one that matters most here: a module that merely *mentions*
127
+ the vocabulary, which is what a security scanner's own rule text does. A test
128
+ runs the scanner over `agent_audit_kit/` itself and asserts zero findings.
129
+
130
+ Covers CVE-2026-81096 (ToolUniverse, CVSS 10) and CVE-2026-53710
131
+ (RestrictedPython `getattr` bypass in mcp-context-forge) — two products, which
132
+ is what makes it a class.
133
+
134
+ ### Fixed
135
+
136
+ - **The documented scanner contract in `CLAUDE.md` was wrong.** It said `scan()`
137
+ returns `(findings, evaluated_rule_ids)`. The engine does
138
+ `all_scanned_files.update(files)` and reports `len(all_scanned_files)` as
139
+ `files_scanned`, so a scanner written to that contract would have inflated the
140
+ file count with rule-id strings. It returns **scanned file paths**.
141
+ `rules_evaluated` is computed separately from the active rule set and no
142
+ scanner contributes to it. Caught while writing the two scanners above, which
143
+ is exactly the audience the line misleads.
144
+
145
+ - **`ROADMAP_2026.md`'s banner overstated its own discipline.** It said "not
146
+ updated"; §2 item 2 was amended at v0.3.0 and now carries a dated annotation.
147
+ Narrowed to what is true — nobody re-plans the file, and its figures and goals
148
+ are left as authored, but factual corrections are appended in place and dated.
149
+ A banner that overstates its own honesty is the same class of defect as the
150
+ ones it exists to disclose.
151
+
152
+ - **`CLAUDE_PROMPT.md` offered `index.agentauditkit.dev` as an alternative host.**
153
+ Same unregistered-domain family as the security contact retired in v0.3.97.
154
+ Struck, pointing at the Pages origin that actually resolves.
155
+
156
+ ### Changed
157
+
158
+ - **Branch cleanup: 17 stale branches removed, 5 of them after verifying their
159
+ content had landed.** Twelve were fully merged into `main`. The other five
160
+ showed as unmerged only because they were squash-merged, and each was checked
161
+ by artifact before deletion rather than by title — `.well-known/funding-manifest-urls`
162
+ and `scripts/check_cve_ageing.py` for `chore/cve-ageing-gate`, `scanners.json`
163
+ for `fix/release-unblock-and-derivable-claims`, and so on. That last one was
164
+ the reason this mattered: its head commit was "bump to 0.3.70", and merging it
165
+ would have walked the published version backwards by 27 releases.
166
+
167
+ `origin` now carries `main` and `gh-pages` and nothing else.
168
+
169
+
10
170
  ## [0.3.97] - 2026-09-08
11
171
 
12
172
  ### Fixed
@@ -34,8 +34,8 @@ authors:
34
34
  repository-code: "https://github.com/sattyamjjain/agent-audit-kit"
35
35
  url: "https://github.com/sattyamjjain/agent-audit-kit"
36
36
  license: Apache-2.0
37
- version: "0.3.97"
38
- date-released: "2026-09-08"
37
+ version: "0.3.99"
38
+ date-released: "2026-09-09"
39
39
  keywords:
40
40
  - model-context-protocol
41
41
  - mcp
@@ -5,8 +5,8 @@
5
5
 
6
6
  **AgentAuditKit** (version tracked in `pyproject.toml` / `agent_audit_kit.__version__`) — Security scanner for MCP-connected AI agent pipelines. The "npm audit" for AI agents.
7
7
 
8
- - **337 rules** across 14 security categories
9
- - **98 scanner modules** including AST-based Python taint analysis plus regex dangerous-sink pattern scanners for TypeScript/JavaScript and Rust (pattern matching, not taint flow)
8
+ - **340 rules** across 14 security categories
9
+ - **101 scanner modules** including AST-based Python taint analysis plus regex dangerous-sink pattern scanners for TypeScript/JavaScript and Rust (pattern matching, not taint flow)
10
10
  - **26 CLI commands**: `scan`, `discover`, `pin`, `verify`, `fix`, `score`, `update`, `proxy`, `kill`, `diff`, `suggest`, `watch`, `watch-cve`, `notify`, `install-precommit`, `export-rules`, `verify-bundle`, `sbom`, `report`, `coverage`, `inspect-ide`, `parity`, `corpus`, `pipelock`, `rule`, `scanners`
11
11
  - **OWASP coverage**: Agentic Top 10 (10/10), MCP Top 10 (10/10), Adversa AI Top 25
12
12
  - **Compliance mapping** (12 frameworks): EU AI Act, SOC 2, ISO 27001/42001, HIPAA, NIST AI RMF, NSA MCP CSI, + regional (India DPDP, Singapore, Alabama, Tennessee)
@@ -87,8 +87,8 @@ agent_audit_kit/
87
87
  vuln_db.py, advisories.py, feeds/, watch.py # CVE DB, advisories, live feeds, watch/watch-cve
88
88
  coverage.py, bundle.py # Framework coverage; signed rule-bundle export/verify
89
89
  rules/
90
- builtin.py # 337 RuleDefinition entries (rule registry)
91
- scanners/ # 98 registered scanners (100 .py files on disk — the registry is authoritative)
90
+ builtin.py # 340 RuleDefinition entries (rule registry)
91
+ scanners/ # 101 registered scanners (103 .py files on disk — the registry is authoritative)
92
92
  mcp_config.py # MCP configuration checks
93
93
  hook_injection.py # Hook injection detection
94
94
  trust_boundary.py # Trust boundary violations
@@ -127,7 +127,7 @@ vscode-extension/ # VS Code extension (TypeScript) — separate subtree, ha
127
127
 
128
128
  **Data flow**: CLI (cli.py) → engine.run_scan() → scanner registry → each scanner's `scan(project_root)` → `list[Finding]` → scoring → output formatter
129
129
 
130
- **Scanner contract**: Every scanner module exports `scan(project_root: Path, ...) -> tuple[list[Finding], set[str]]` where the tuple is (findings, evaluated_rule_ids).
130
+ **Scanner contract**: Every scanner module exports `scan(project_root: Path, ...) -> tuple[list[Finding], set[str]]` where the tuple is **(findings, scanned file paths relative to `project_root`)**. This line used to say `evaluated_rule_ids`, which is wrong and is the kind of wrong that costs an afternoon: `engine.run_scan` does `all_scanned_files.update(files)` and reports `len(all_scanned_files)` as `files_scanned`, so a scanner that returned rule ids would inflate the file count with rule-id strings. `rules_evaluated` is computed separately, from the active rule set, and no scanner contributes to it.
131
131
 
132
132
  <!-- END AUTO-MANAGED -->
133
133
 
@@ -151,7 +151,7 @@ vscode-extension/ # VS Code extension (TypeScript) — separate subtree, ha
151
151
  ## Detected Patterns
152
152
 
153
153
  - **Scanner registry**: `engine.py` lazy-builds a list of `ScannerRegistration` dataclasses; each wraps a `scan_fn` callable. New scanners are registered via try/except ImportError blocks for backward compatibility.
154
- - **Rule registry**: `rules/builtin.py` defines all 337 rules as `RuleDefinition` dataclasses in a global `RULES` dict, populated by `_r()` helper.
154
+ - **Rule registry**: `rules/builtin.py` defines all 340 rules as `RuleDefinition` dataclasses in a global `RULES` dict, populated by `_r()` helper.
155
155
  - **Counts are generated, never hand-typed**: `agent_audit_kit/__init__.py` holds `RULE_COUNT` / `SCANNER_COUNT`; `scripts/sync_rule_count.py` and `scripts/sync_scanner_count.py` regenerate them. `scripts/check_counts.py` (`make count-check`) fails if any tracked `*.md` — **including this file** — carries a stale count. Regenerate; do not hand-fix. Dated/historical docs are exempted via the exclusion list in `check_counts.py`.
156
156
  - **The guard is phrase-based, not number-based**: `check_counts.py` only checks counts written in one of its `PATTERNS` phrasings (`"N rules across"`, `"N scanner modules"`, `"N registered scanners"`, `"N CLI commands"`, ...). A count phrased any other way is never looked at and rots silently while `make count-check` reports clean — the `registered scanners` line in this file sat at a stale value for exactly that reason until its pattern was added. When prose needs a new count phrasing, reuse a guarded one or add it to `PATTERNS` in `scripts/check_counts.py`; that tuple is the single source, and `tests/test_rule_count_sync.py` imports `find_stale_counts()` rather than mirroring it.
157
157
  - **Count invariants under test**: `tests/test_repo_metadata_sync.py` asserts `SCANNER_COUNT` equals the real `engine._build_registry()` size, so the scanner constant tracks the registry, not the file count in `scanners/`.
@@ -22,8 +22,8 @@ Read in order:
22
22
  2. `../agent-airlock/ECOSYSTEM_STATE_2026-04.md` — shared ecosystem brief
23
23
  3. `ROADMAP_2026.md` — 90-day plan for this repo
24
24
  4. `../agent-airlock/LAUNCH_PLAYBOOK_2026.md` — shared growth tactics
25
- 5. `agent_audit_kit/rules/builtin.py` — understand the 337 existing rules
26
- 6. `agent_audit_kit/scanners/*.py` — understand the 98 scanner modules
25
+ 5. `agent_audit_kit/rules/builtin.py` — understand the 340 existing rules
26
+ 6. `agent_audit_kit/scanners/*.py` — understand the 101 scanner modules
27
27
  7. `tests/conftest.py` — fixture patterns
28
28
  8. Run `pytest -v` and `agent-audit-kit scan .` on the repo's own fixtures to confirm baseline
29
29
 
@@ -81,7 +81,7 @@ This is the leaderboard-ownership growth play.
81
81
 
82
82
  1. **Crawler**: discovers MCP servers from `anthropics/claude-plugins-official`, `claudemarketplaces.com`, `aitmpl.com`, `buildwithclaude.com`, and the top 500 GitHub results for `topic:mcp-server`. Store in `benchmarks/crawler/`.
83
83
  2. **Scanner runner**: runs the full agent-audit-kit rule catalog against each MCP server weekly.
84
- 3. **Index site**: publish `sattyamjjain.github.io/agent-audit-kit` (or `index.agentauditkit.dev`) as a static site with per-server grades A–F, rule-hit breakdown, and week-over-week trends. Hosted on Cloudflare Pages.
84
+ 3. **Index site**: publish `sattyamjjain.github.io/agent-audit-kit` as a static site (this line used to offer a custom-domain alternative; that domain was never registered — see `SECURITY.md` — and the Pages origin is the one that resolves) with per-server grades A–F, rule-hit breakdown, and week-over-week trends. Hosted on Cloudflare Pages.
85
85
  4. **Disclosure policy**: every discovered vuln goes to the maintainer first with a 90-day disclosure window. Publish the policy at `docs/disclosure-policy.md` before crawling.
86
86
  5. **Weekly State of MCP Security** blog post summarizing new findings, trends, and the worst-graded servers. This is the Aider-leaderboard play.
87
87
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agent-audit-kit
3
- Version: 0.3.97
3
+ Version: 0.3.99
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
@@ -50,7 +50,7 @@ Description-Content-Type: text/markdown
50
50
  <a href="benchmarks/determinism/RESULTS.md"><img src="https://img.shields.io/badge/determinism-0%25%20variance%20(20%2F20)-brightgreen.svg" alt="Determinism: 0% variance across 20/20 runs"></a>
51
51
  <!-- fp-badge --><a href="benchmarks/false_positive/RESULTS.md"><img src="https://img.shields.io/badge/benign--slice%20536%20configs-HIGH%2FCRIT%20FP%200%2F1-brightgreen.svg" alt="Benign-slice false-positive measurement: 536 configs scanned, 0 of 1 HIGH/CRITICAL findings were false positives (0.0%)"></a><!-- /fp-badge -->
52
52
  <a href="docs/benchmarks/third-party-grading.md"><img src="https://img.shields.io/badge/third--party%20grade-see%20notes-lightgrey.svg" alt="Third-party grading notes"></a>
53
- <a href="#what-it-scans"><img src="https://img.shields.io/badge/rules-337-blue.svg" alt="Rules: 337"></a>
53
+ <a href="#what-it-scans"><img src="https://img.shields.io/badge/rules-340-blue.svg" alt="Rules: 340"></a>
54
54
  <a href="#frameworks--standards"><img src="https://img.shields.io/badge/OWASP_Agentic-10%2F10-green.svg" alt="OWASP Agentic: 10/10"></a>
55
55
  <a href="#frameworks--standards"><img src="https://img.shields.io/badge/OWASP_MCP-10%2F10-green.svg" alt="OWASP MCP: 10/10"></a>
56
56
  <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>
@@ -78,11 +78,11 @@ These are regenerated from `research/state-of-mcp-2026/results.json` by `scripts
78
78
  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. Precision is measured the same way, not asserted: we publish a reproducible, hand-adjudicated [benign-slice HIGH/CRITICAL false-positive rate](benchmarks/false_positive/RESULTS.md) — with a Wilson confidence interval and any offending rule filed as an issue.
79
79
  2. **Produces auditor-ready compliance-evidence packs.** SARIF for the GitHub Security tab plus PDF evidence reports mapped to 12 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.
80
80
 
81
- - **<!-- rule-count:total -->337<!-- /rule-count --> rules** across 14 security categories, covering the 2026 CVE wave
81
+ - **<!-- rule-count:total -->340<!-- /rule-count --> rules** across 14 security categories, covering the 2026 CVE wave
82
82
  - Rule count is computed from the registry and verified in CI (`test_rule_count_is_canonical`).
83
- - **<!-- scanner-count:total -->98<!-- /scanner-count --> scanner modules** including AST-based Python taint analysis and regex pattern scanners for TypeScript/JavaScript and Rust
84
- - **Remediation guidance: all <!-- rule-count:total -->337<!-- /rule-count --> of <!-- rule-count:total -->337<!-- /rule-count --> rules.** Every finding tells you what to change and why — that is the product, and it has no gap.
85
- - **Mechanical fix recipes: <!-- fix-recipe-coverage:count -->11<!-- /fix-recipe-coverage --> of <!-- rule-count:total -->337<!-- /rule-count --> rules (<!-- fix-recipe-coverage:pct -->3.3<!-- /fix-recipe-coverage -->%).** This is a scope decision, not coverage: **a recipe ships only where the remediation is deterministic and one-line** — exactly one correct edit, confirmable from the diff. Everything else stays advisory on purpose, because a fix that needs judgement is a fix that can be wrong silently. `agent-audit-kit fix` applies these; the narrower `suggest --auto-pr` allow-list is the subset AAK will open a PR for.
83
+ - **<!-- scanner-count:total -->101<!-- /scanner-count --> scanner modules** including AST-based Python taint analysis and regex pattern scanners for TypeScript/JavaScript and Rust
84
+ - **Remediation guidance: all <!-- rule-count:total -->340<!-- /rule-count --> of <!-- rule-count:total -->340<!-- /rule-count --> rules.** Every finding tells you what to change and why — that is the product, and it has no gap.
85
+ - **Mechanical fix recipes: <!-- fix-recipe-coverage:count -->11<!-- /fix-recipe-coverage --> of <!-- rule-count:total -->340<!-- /rule-count --> rules (<!-- fix-recipe-coverage:pct -->3.2<!-- /fix-recipe-coverage -->%).** This is a scope decision, not coverage: **a recipe ships only where the remediation is deterministic and one-line** — exactly one correct edit, confirmable from the diff. Everything else stays advisory on purpose, because a fix that needs judgement is a fix that can be wrong silently. `agent-audit-kit fix` applies these; the narrower `suggest --auto-pr` allow-list is the subset AAK will open a PR for.
86
86
  <br>The rules with the most findings are the ones that fail that bar hardest, and the reasons are written down per fix shape in [`autopr.py`](agent_audit_kit/autopr.py): splitting a shell string into argv needs the shell's own parse; flipping a transport needs to know the server speaks the replacement; declaring RFC 9728 metadata needs an endpoint stood up on a different machine than the one being scanned. [`AAK-OAUTH-008` is the worked example](agent_audit_kit/autopr.py): the only edit that silences it leaves the credential in place, and a test performs that edit to prove it.
87
87
  - Coverage is computed from the registry and verified in CI (`test_fix_recipe_coverage_is_canonical`), which also asserts every rule marked `auto_fixable` has a recipe that actually runs.
88
88
  - **26 CLI commands**: `scan`, `discover`, `pin`, `verify`, `fix`, `score`, `update`, `proxy`, `kill`, `diff`, `suggest`, `watch`, `watch-cve`, `notify`, `install-precommit`, `export-rules`, `verify-bundle`, `sbom`, `report`, `coverage`, `inspect-ide`, `parity`, `corpus`, `pipelock`, `rule`, `scanners`
@@ -123,7 +123,7 @@ jobs:
123
123
  runs-on: ubuntu-latest
124
124
  steps:
125
125
  - uses: actions/checkout@v4
126
- - uses: sattyamjjain/agent-audit-kit@v0.3.97
126
+ - uses: sattyamjjain/agent-audit-kit@v0.3.99
127
127
  id: scan
128
128
  with:
129
129
  fail-on: high
@@ -153,7 +153,7 @@ aak scan .
153
153
  # .pre-commit-config.yaml
154
154
  repos:
155
155
  - repo: https://github.com/sattyamjjain/agent-audit-kit
156
- rev: v0.3.97
156
+ rev: v0.3.99
157
157
  hooks:
158
158
  - id: agent-audit-kit
159
159
  ```
@@ -177,8 +177,8 @@ agent-audit-kit scan examples/vulnerable-configs/04-hook-exfiltration/
177
177
 
178
178
  | Category | Rules | What It Detects |
179
179
  |----------|:-----:|-----------------|
180
- | **MCP Configuration** | <!-- category-count:MCP_CONFIG -->66<!-- /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), MCP tool-argument URL SSRF (an MCP tool handler passing a caller-supplied `url`/`endpoint`/`target` argument straight into an outbound `requests`/`httpx`/`urllib`/`aiohttp` fetch with no host/scheme allow-list — `ast` parameter→fetch taint for Python, regex fallback for TS/JS/Rust — `AAK-MCP-SSRF-001`, **CWE-918 / CVE-2026-14748**, AIAnytime Awesome-MCP-Server `mcp-wiki/wiki-summary`), Serena MCP toolkit unauthenticated-dashboard RCE (`serena-agent` < 1.5.2 — an unauthenticated Flask dashboard on a fixed port reachable via DNS rebinding writes the agent's persistent memory, chained with `execute_shell_command` `shell=True` to remote code execution — `AAK-MCP-SERENA-CVE-2026-49471-001`, **CWE-306 + CWE-352 / CVE-2026-49471**, HIGH 8.3), MCP 2026-07-28 deprecated features (the `roots` / `sampling` / `logging` capabilities annotation-deprecated under the RC's new 12-month deprecation policy — flagged across config + server source so authors migrate before removal — `AAK-MCP-DEPRECATED-001..003`, **SEP-2577 / SEP-2596**), OAuth `iss`-validation gap (an authorization-code client that handles the auth response but never validates the RFC 9207 `iss` parameter, the RC's actual new OAuth requirement — `AAK-OAUTH-006`, **RFC 9207 / SEP-2468**), RFC 8707 Resource-Indicator absence (an OAuth 2.1 flow / MCP client config that never sets the `resource` parameter, so issued tokens aren't audience-bound and a token minted for one MCP server can be replayed at another — the confused-deputy / audience-confusion class; mandatory in the **ratified** MCP 2025-11-25 auth spec, independent of the 2026-07-28 RC — `AAK-OAUTH-007`, **RFC 8707 / RFC 9728 §7.4**), RFC 9728 Protected-Resource-Metadata discovery gap (a remote MCP server config that embeds a static `Authorization`/`Bearer`/`auth` credential with no `/.well-known/oauth-protected-resource` discovery path, or server source enforcing bearer auth without serving PRM — the resource-discovery arm of the 2026-07-28 auth profile — `AAK-OAUTH-008`, **RFC 9728**) |
181
- | **Supply Chain** | <!-- category-count:SUPPLY_CHAIN -->108<!-- /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**), and the **2026-07 MCP/agent CVE disclosure wave** — verified PyPI/npm version-pins for `litellm` < 1.84.0 (MCP auth bypass + skills-archive traversal, **CVE-2026-59822/59820**), `cline` < 3.0.30 (Hub-dashboard WS origin bypass → RCE, **CVE-2026-59723**), `mcp-text-editor` ≤ 1.0.2 (path traversal, **CVE-2026-15138**), `n8n` < 2.27.4/2.28.1 (MCP tool credential-domain bypass, **CVE-2026-59207**), `ruflo` < 3.16.3 (unauth MCP bridge RCE, **CVE-2026-59726**, CVSS 10), `@arikusi/deepseek-mcp-server` < 1.8.0 (unbound session IDs + unauth HTTP transport, **CVE-2026-55604/55605**), `mcp-server-kubernetes` < 3.9.0 (kubectl `--server` argument injection, **CVE-2026-61459**, CVSS 9.8), and `astrbot` ≤ 4.25.2 (MCP-test-endpoint SSRF, **CVE-2026-15501**) |
180
+ | **MCP Configuration** | <!-- category-count:MCP_CONFIG -->67<!-- /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), MCP tool-argument URL SSRF (an MCP tool handler passing a caller-supplied `url`/`endpoint`/`target` argument straight into an outbound `requests`/`httpx`/`urllib`/`aiohttp` fetch with no host/scheme allow-list — `ast` parameter→fetch taint for Python, regex fallback for TS/JS/Rust — `AAK-MCP-SSRF-001`, **CWE-918 / CVE-2026-14748**, AIAnytime Awesome-MCP-Server `mcp-wiki/wiki-summary`), Serena MCP toolkit unauthenticated-dashboard RCE (`serena-agent` < 1.5.2 — an unauthenticated Flask dashboard on a fixed port reachable via DNS rebinding writes the agent's persistent memory, chained with `execute_shell_command` `shell=True` to remote code execution — `AAK-MCP-SERENA-CVE-2026-49471-001`, **CWE-306 + CWE-352 / CVE-2026-49471**, HIGH 8.3), MCP 2026-07-28 deprecated features (the `roots` / `sampling` / `logging` capabilities annotation-deprecated under the RC's new 12-month deprecation policy — flagged across config + server source so authors migrate before removal — `AAK-MCP-DEPRECATED-001..003`, **SEP-2577 / SEP-2596**), OAuth `iss`-validation gap (an authorization-code client that handles the auth response but never validates the RFC 9207 `iss` parameter, the RC's actual new OAuth requirement — `AAK-OAUTH-006`, **RFC 9207 / SEP-2468**), RFC 8707 Resource-Indicator absence (an OAuth 2.1 flow / MCP client config that never sets the `resource` parameter, so issued tokens aren't audience-bound and a token minted for one MCP server can be replayed at another — the confused-deputy / audience-confusion class; mandatory in the **ratified** MCP 2025-11-25 auth spec, independent of the 2026-07-28 RC — `AAK-OAUTH-007`, **RFC 8707 / RFC 9728 §7.4**), RFC 9728 Protected-Resource-Metadata discovery gap (a remote MCP server config that embeds a static `Authorization`/`Bearer`/`auth` credential with no `/.well-known/oauth-protected-resource` discovery path, or server source enforcing bearer auth without serving PRM — the resource-discovery arm of the 2026-07-28 auth profile — `AAK-OAUTH-008`, **RFC 9728**) |
181
+ | **Supply Chain** | <!-- category-count:SUPPLY_CHAIN -->109<!-- /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**), and the **2026-07 MCP/agent CVE disclosure wave** — verified PyPI/npm version-pins for `litellm` < 1.84.0 (MCP auth bypass + skills-archive traversal, **CVE-2026-59822/59820**), `cline` < 3.0.30 (Hub-dashboard WS origin bypass → RCE, **CVE-2026-59723**), `mcp-text-editor` ≤ 1.0.2 (path traversal, **CVE-2026-15138**), `n8n` < 2.27.4/2.28.1 (MCP tool credential-domain bypass, **CVE-2026-59207**), `ruflo` < 3.16.3 (unauth MCP bridge RCE, **CVE-2026-59726**, CVSS 10), `@arikusi/deepseek-mcp-server` < 1.8.0 (unbound session IDs + unauth HTTP transport, **CVE-2026-55604/55605**), `mcp-server-kubernetes` < 3.9.0 (kubectl `--server` argument injection, **CVE-2026-61459**, CVSS 9.8), and `astrbot` ≤ 4.25.2 (MCP-test-endpoint SSRF, **CVE-2026-15501**) |
182
182
  | **Tool Poisoning** | <!-- category-count:TOOL_POISONING -->30<!-- /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 |
183
183
  | **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) |
184
184
  | **Agent Config** | <!-- category-count:AGENT_CONFIG -->18<!-- /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 |
@@ -187,12 +187,12 @@ agent-audit-kit scan examples/vulnerable-configs/04-hook-exfiltration/
187
187
  | **Taint Analysis** | <!-- category-count:TAINT_ANALYSIS -->14<!-- /category-count --> | `@tool` param flows to shell/eval/SQL/SSRF/file/deserialization sinks (Python AST), `load_prompt()` user-path reachability, transport-flip MITM (DocsGPT + GPT-Researcher). SQL-injection sinks (`AAK-TAINT-005`) now detected in TypeScript/JS MCP servers too — interpolated/concatenated `.query()`/`.execute()`, `knex.raw`, Prisma `$queryRawUnsafe` — matching the Python + Rust scanners (OX MCP-SDK disclosure class). LLM-generated SQL executed on an RCE-capable DB role (`AAK-LLM-SQL-RCE-001`, **CVE-2026-25879**) — model output reaching `cursor.execute`/`text(...)`/`.query()` as the query itself with no allow-list, plus superuser/`COPY ... FROM PROGRAM`/`xp_cmdshell`/`FILE`-privilege connection roles that turn SQL injection into shell |
188
188
  | **Transport Security** | <!-- category-count:TRANSPORT_SECURITY -->15<!-- /category-count --> | HTTP endpoints, TLS disabled, deprecated SSE, tokens in URL query strings, transport body-size limits (CVE-2026-39313), SSRF redirect bypass (CVE-2026-41481), DNS-rebinding (CVE-2025-66414/66416, CVE-2026-35568/35577) |
189
189
  | **Legal Compliance** | <!-- category-count:LEGAL_COMPLIANCE -->12<!-- /category-count --> | Copyleft licenses (AGPL/SSPL), missing licenses, DMCA-flagged packages, India PII surface, US-state consumer privacy (Alabama HB 351, Tennessee SB 1580), Singapore Agentic AI, healthcare AI triggers, EU AI Act Article 15 multilingual-eval coverage advisory (Annex III high-risk binding 2027-12-02, Annex I 2028-08-02 — AI Omnibus) |
190
- | **Trust Boundaries** | <!-- category-count:TRUST_BOUNDARY -->16<!-- /category-count --> | `enableAllProjectMcpServers`, API URL redirects, wildcard permissions, missing deny rules, missing allowlists, Claude Code folder-trust bypass (CVE-2026-40068) |
190
+ | **Trust Boundaries** | <!-- category-count:TRUST_BOUNDARY -->17<!-- /category-count --> | `enableAllProjectMcpServers`, API URL redirects, wildcard permissions, missing deny rules, missing allowlists, Claude Code folder-trust bypass (CVE-2026-40068) |
191
191
  | **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`) |
192
192
  | **Composition** | <!-- category-count:COMPOSITION -->3<!-- /category-count --> | Risk that exists only between components, where each one passes on its own. An ordered 2- or 3-component path carrying untrusted input to network egress through something that reads secrets or local state, while no single component spans it (`AAK-COMPOSE-001`, CompoSkill **arXiv:2608.16246**); two or more skills sharing a writable path neither declares, which is the collusion channel a declared-capability union cannot see by construction (`AAK-COMPOSE-002`, ColluSkill **arXiv:2608.09732**); and a skill whose body or adjacent scripts exercise a wider capability than its manifest declares, which makes every chain through it look narrower than it is (`AAK-COMPOSE-003`). Paths are capped at three components, where CompoSkill's own attack-success numbers concentrate. Distinct from `AAK-AGENT-COMPOSE-001`, which is an unordered capability union over one container of skills; a composition finding stands down when any component is already reported at the same severity, so a chain is never reported twice |
193
193
  | **Agentic Skills (AST10)** | <!-- category-count:AGENTIC_SKILL -->3<!-- /category-count --> | The statically decidable subset of the [OWASP Agentic Skills Top 10](#owasp-agentic-skills-top-10-ast10). A skill bundle pulling an external resource that nothing pins, so what it runs is whatever the source serves at the time (`AAK-AST02-001`, **AST02** + the pinning half of **AST07**); a deserialization tag in skill frontmatter that constructs an object while parsing, before any field is read and before the skill is invoked (`AAK-AST04-001`, **AST04** parsing layer, distinct from `AAK-SKILL-005` which reads frontmatter *values*); and a bundle whose platform manifests disagree about security metadata, so the platform loading the weaker one runs without a control the other declares (`AAK-AST10-001`, **AST10**). Three rules, not ten: AST06, AST08 and AST09 need runtime or organisational evidence a static scan cannot supply |
194
194
 
195
- **<!-- rule-count:total -->337<!-- /rule-count --> rules total.** Every finding includes severity, evidence, remediation, OWASP references, Adversa references, and CVE links where applicable.
195
+ **<!-- rule-count:total -->340<!-- /rule-count --> rules total.** Every finding includes severity, evidence, remediation, OWASP references, Adversa references, and CVE links where applicable.
196
196
 
197
197
  ### MCP Server Card scanning (SEP-1649)
198
198
 
@@ -345,7 +345,7 @@ permissions:
345
345
 
346
346
  steps:
347
347
  - uses: actions/checkout@v4
348
- - uses: sattyamjjain/agent-audit-kit@v0.3.97
348
+ - uses: sattyamjjain/agent-audit-kit@v0.3.99
349
349
  id: scan
350
350
  with:
351
351
  fail-on: high
@@ -468,9 +468,9 @@ cross-reference, not a head-to-head benchmark.
468
468
  | **ASI01** | Goal Hijack | 14 |
469
469
  | **ASI02** | Tool Misuse | 48 |
470
470
  | **ASI03** | Memory Poisoning | 73 |
471
- | **ASI04** | Identity & Privilege Abuse | 72 |
472
- | **ASI05** | Cascading Failures | 55 |
473
- | **ASI06** | Unauthorized Capability Acquisition | 47 |
471
+ | **ASI04** | Identity & Privilege Abuse | 73 |
472
+ | **ASI05** | Cascading Failures | 56 |
473
+ | **ASI06** | Unauthorized Capability Acquisition | 48 |
474
474
  | **ASI07** | Plan Injection | 9 |
475
475
  | **ASI08** | Agent Communication Poisoning | 5 |
476
476
  | **ASI09** | Resource Abuse | 18 |
@@ -531,7 +531,7 @@ See [`docs/comparisons.md`](docs/comparisons.md) for a fully-sourced version. Ve
531
531
  | Feature | AgentAuditKit | Microsoft AGT | Snyk Agent Scan | Semgrep Multimodal |
532
532
  |---------|:---:|:---:|:---:|:---:|
533
533
  | Scope | Static scanner + compliance PDFs | Runtime governance | Static + runtime | Multimodal SAST |
534
- | Detection rules (static) | **<!-- rule-count:total -->337<!-- /rule-count -->** | Runtime policies, not rules | ~30 | LLM-assisted |
534
+ | Detection rules (static) | **<!-- rule-count:total -->340<!-- /rule-count -->** | Runtime policies, not rules | ~30 | LLM-assisted |
535
535
  | OWASP Agentic 10/10 | **Yes** | Yes | Partial | Partial |
536
536
  | OWASP MCP 10/10 | **Yes** | No (runtime-focused) | No | No |
537
537
  | Auditor-ready PDF compliance | **12 frameworks** | No | 0 | 0 |
@@ -575,7 +575,7 @@ Provides inline diagnostics on file save with quick-fix suggestions.
575
575
  Public leaderboard of MCP servers, published at
576
576
  **[sattyamjjain.github.io/agent-audit-kit](https://sattyamjjain.github.io/agent-audit-kit/)**.
577
577
 
578
- <!-- index-cadence -->Last published snapshot: **2026-08-31** (4 snapshots in [`history.json`](https://sattyamjjain.github.io/agent-audit-kit/data/history.json)). The build fails if this date falls more than 10 days behind, so a stalled index reports itself.<!-- /index-cadence -->
578
+ <!-- index-cadence -->Last published snapshot: **2026-09-07** (5 snapshots in [`history.json`](https://sattyamjjain.github.io/agent-audit-kit/data/history.json)). The build fails if this date falls more than 10 days behind, so a stalled index reports itself.<!-- /index-cadence -->
579
579
 
580
580
  > **On the schedule.** The Monday crawl was dying on `HTTP 429` — the status the
581
581
  > GitHub Search API returns for a secondary rate limit, and the one its retry path
@@ -694,7 +694,7 @@ agent-audit-kit verify-bundle rules.json --signature rules.json.sigstore
694
694
  git clone https://github.com/sattyamjjain/agent-audit-kit
695
695
  cd agent-audit-kit
696
696
  pip install -e ".[dev]"
697
- pytest -v # <!-- test-count:total -->2,202<!-- /test-count --> test functions
697
+ pytest -v # <!-- test-count:total -->2,253<!-- /test-count --> test functions
698
698
  ruff check . # Lint
699
699
  mypy agent_audit_kit/ # Type check
700
700
  agent-audit-kit scan . # Self-scan