attackmap 0.6.4__tar.gz → 0.6.5__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 (213) hide show
  1. {attackmap-0.6.4/src/attackmap.egg-info → attackmap-0.6.5}/PKG-INFO +20 -21
  2. {attackmap-0.6.4 → attackmap-0.6.5}/README.md +2 -2
  3. {attackmap-0.6.4 → attackmap-0.6.5}/pyproject.toml +17 -17
  4. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/__init__.py +1 -1
  5. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/plugins_lock.py +30 -30
  6. {attackmap-0.6.4 → attackmap-0.6.5/src/attackmap.egg-info}/PKG-INFO +20 -21
  7. attackmap-0.6.5/src/attackmap.egg-info/requires.txt +33 -0
  8. attackmap-0.6.4/src/attackmap.egg-info/requires.txt +0 -33
  9. {attackmap-0.6.4 → attackmap-0.6.5}/LICENSE +0 -0
  10. {attackmap-0.6.4 → attackmap-0.6.5}/setup.cfg +0 -0
  11. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/analyzer.py +0 -0
  12. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/analyzer_contracts.py +0 -0
  13. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/analyzers.py +0 -0
  14. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/anomalies.py +0 -0
  15. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/asset_model.py +0 -0
  16. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/attack_taxonomy.py +0 -0
  17. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/auth_protocol.py +0 -0
  18. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/authz.py +0 -0
  19. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/bench.py +0 -0
  20. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/cli.py +0 -0
  21. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/config_scanner.py +0 -0
  22. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/context_pack.py +0 -0
  23. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/contracts.py +0 -0
  24. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/control_model.py +0 -0
  25. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/crossrepo.py +0 -0
  26. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/crypto.py +0 -0
  27. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/cve.py +0 -0
  28. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/defensive_review.py +0 -0
  29. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detection_opportunities.py +0 -0
  30. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/__init__.py +0 -0
  31. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/bola.yml +0 -0
  32. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/cloud.yml +0 -0
  33. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/injection.yml +0 -0
  34. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/secrets.yml +0 -0
  35. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/sigma.py +0 -0
  36. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/ssrf.yml +0 -0
  37. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/weakness.yml +0 -0
  38. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/webhook.yml +0 -0
  39. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/detections/workflow.yml +0 -0
  40. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/diagrams.py +0 -0
  41. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/diff.py +0 -0
  42. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/exploitability.py +0 -0
  43. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/fingerprint.py +0 -0
  44. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/fleet.py +0 -0
  45. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/gitref.py +0 -0
  46. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/graph.py +0 -0
  47. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/handler_auth.py +0 -0
  48. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/handler_span.py +0 -0
  49. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/hunt_harness.py +0 -0
  50. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/insights.py +0 -0
  51. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/llm_review.py +0 -0
  52. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/lockfiles.py +0 -0
  53. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/mass_assignment.py +0 -0
  54. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/md.py +0 -0
  55. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/merge.py +0 -0
  56. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/models.py +0 -0
  57. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/popular_packages.py +0 -0
  58. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/progress.py +0 -0
  59. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/recon_models.py +0 -0
  60. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/recon_to_analysis.py +0 -0
  61. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/redact.py +0 -0
  62. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/report.py +0 -0
  63. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/review_eval.py +0 -0
  64. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/review_json.py +0 -0
  65. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/review_prompts.py +0 -0
  66. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/route_auth_fusion.py +0 -0
  67. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/safe_fs.py +0 -0
  68. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/sarif.py +0 -0
  69. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/sbom.py +0 -0
  70. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/scanner.py +0 -0
  71. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/sdk/__init__.py +0 -0
  72. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/sdk/contracts.py +0 -0
  73. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/sdk/fs.py +0 -0
  74. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/sdk/models.py +0 -0
  75. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/secrets_history.py +0 -0
  76. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/security_overlay.py +0 -0
  77. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/srcpaths.py +0 -0
  78. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/suggest.py +0 -0
  79. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/supply_chain.py +0 -0
  80. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/suppress.py +0 -0
  81. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/taint.py +0 -0
  82. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/taint_flow.py +0 -0
  83. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/taint_sinks.py +0 -0
  84. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/taint_sinks.yaml +0 -0
  85. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/taint_sources.py +0 -0
  86. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/taxonomy.py +0 -0
  87. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/threat_model.py +0 -0
  88. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/topology.py +0 -0
  89. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/triage.py +0 -0
  90. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/weaknesses.py +0 -0
  91. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/webhardening.py +0 -0
  92. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/webhook_verification.py +0 -0
  93. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap/workflow_scanner.py +0 -0
  94. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap.egg-info/SOURCES.txt +0 -0
  95. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap.egg-info/dependency_links.txt +0 -0
  96. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap.egg-info/entry_points.txt +0 -0
  97. {attackmap-0.6.4 → attackmap-0.6.5}/src/attackmap.egg-info/top_level.txt +0 -0
  98. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_analyzer.py +0 -0
  99. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_analyzer_isolation.py +0 -0
  100. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_analyzer_metadata_schema.py +0 -0
  101. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_analyzer_order.py +0 -0
  102. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_analyzers.py +0 -0
  103. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_anomalies.py +0 -0
  104. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_app_surface.py +0 -0
  105. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_artifact_schemas.py +0 -0
  106. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_auth_protocol.py +0 -0
  107. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_auth_route_category.py +0 -0
  108. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_authz.py +0 -0
  109. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_bench.py +0 -0
  110. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_capabilities.py +0 -0
  111. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_cli_validation.py +0 -0
  112. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_cloud_misconfig.py +0 -0
  113. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_config_scanner.py +0 -0
  114. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_context_pack.py +0 -0
  115. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_contracts.py +0 -0
  116. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_crossrepo.py +0 -0
  117. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_crypto.py +0 -0
  118. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_cve.py +0 -0
  119. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_defensive_review.py +0 -0
  120. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_detection_rules.py +0 -0
  121. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_detection_rules_cloud.py +0 -0
  122. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_detection_rules_part2.py +0 -0
  123. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_determinism.py +0 -0
  124. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_diagrams.py +0 -0
  125. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_diff.py +0 -0
  126. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_exploitability.py +0 -0
  127. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_finding_locations.py +0 -0
  128. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_fleet.py +0 -0
  129. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_gitref_hardening.py +0 -0
  130. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_graph.py +0 -0
  131. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_handler_session_gate.py +0 -0
  132. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_handler_span.py +0 -0
  133. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_hunt.py +0 -0
  134. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_hunt_harness.py +0 -0
  135. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_injection_sinks.py +0 -0
  136. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_inline_scope.py +0 -0
  137. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_install_isolation.py +0 -0
  138. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_instance_diff.py +0 -0
  139. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_js_suffixes.py +0 -0
  140. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_llm_cli_isolation.py +0 -0
  141. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_llm_markdown_sanitizer.py +0 -0
  142. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_llm_review.py +0 -0
  143. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_lockfiles.py +0 -0
  144. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_markdown_escaping.py +0 -0
  145. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_mass_assignment.py +0 -0
  146. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_merge.py +0 -0
  147. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_modules_cli.py +0 -0
  148. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_native_weaknesses.py +0 -0
  149. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_oauth_session.py +0 -0
  150. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_output_exclusion.py +0 -0
  151. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_output_format.py +0 -0
  152. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_pr_comment.py +0 -0
  153. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_progress.py +0 -0
  154. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_prompt_injection.py +0 -0
  155. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_provenance.py +0 -0
  156. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_recall.py +0 -0
  157. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_recon_to_analysis.py +0 -0
  158. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_redact.py +0 -0
  159. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_regex_budget.py +0 -0
  160. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_remediate.py +0 -0
  161. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_report.py +0 -0
  162. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_review_eval.py +0 -0
  163. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_review_json.py +0 -0
  164. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_review_prompts.py +0 -0
  165. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_route_auth_contract.py +0 -0
  166. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_route_auth_fusion.py +0 -0
  167. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_route_twins.py +0 -0
  168. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_rule_ids.py +0 -0
  169. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_safe_fs.py +0 -0
  170. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_sarif.py +0 -0
  171. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_sarif_identity.py +0 -0
  172. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_sbom.py +0 -0
  173. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_scan_limits.py +0 -0
  174. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_scanner.py +0 -0
  175. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_sdk_fs.py +0 -0
  176. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_secret_precision.py +0 -0
  177. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_secrets_deep.py +0 -0
  178. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_security_overlay.py +0 -0
  179. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_severity_tiers.py +0 -0
  180. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_shared_contract_imports.py +0 -0
  181. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_signal_v2.py +0 -0
  182. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_signal_v2_core.py +0 -0
  183. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_single_pass.py +0 -0
  184. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_sink_args.py +0 -0
  185. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_skip_dirs.py +0 -0
  186. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_srcpaths.py +0 -0
  187. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_suggest.py +0 -0
  188. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_supply_chain.py +0 -0
  189. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_supply_chain_risk.py +0 -0
  190. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_suppress.py +0 -0
  191. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_suppress_file_validation.py +0 -0
  192. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_suppression_governance.py +0 -0
  193. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_taint.py +0 -0
  194. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_taint_flow.py +0 -0
  195. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_taint_sanitizer.py +0 -0
  196. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_taint_sinks.py +0 -0
  197. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_taint_urlconf.py +0 -0
  198. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_taxonomy.py +0 -0
  199. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_threat_intel.py +0 -0
  200. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_threat_model.py +0 -0
  201. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_topology.py +0 -0
  202. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_triage.py +0 -0
  203. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_type_hints.py +0 -0
  204. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_unreadable_and_fleet_failures.py +0 -0
  205. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_weaknesses.py +0 -0
  206. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_web_api_hardening.py +0 -0
  207. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_webhardening.py +0 -0
  208. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_webhook_management.py +0 -0
  209. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_webhook_reach.py +0 -0
  210. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_webhook_reach_frameworks.py +0 -0
  211. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_webhook_verification.py +0 -0
  212. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_workflow_rules.py +0 -0
  213. {attackmap-0.6.4 → attackmap-0.6.5}/tests/test_workflow_scanner.py +0 -0
@@ -1,10 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: attackmap
3
- Version: 0.6.4
3
+ Version: 0.6.5
4
4
  Summary: AI-assisted defensive security analyzer for codebases — scans a repository, models assets and controls, finds cross-cutting weaknesses, and generates an evidence-grounded review with MITRE ATT&CK mappings and detection-engineering hints.
5
- Author: AttackMap Contributors
6
- Author-email: Matthew Davis <mlaify@mlaify.io>
7
- Maintainer-email: Matthew Davis <mlaify@mlaify.io>
5
+ Author: Matthew Davis, AttackMap Contributors
6
+ Maintainer: Matthew Davis
8
7
  License: MIT
9
8
  Project-URL: Homepage, https://github.com/mlaify/AttackMap
10
9
  Project-URL: Documentation, https://github.com/mlaify/AttackMap/wiki
@@ -40,21 +39,21 @@ Requires-Dist: anthropic>=0.40.0; extra == "llm"
40
39
  Requires-Dist: openai>=1.60.0; extra == "llm"
41
40
  Provides-Extra: all
42
41
  Requires-Dist: attackmap[llm]; extra == "all"
43
- Requires-Dist: attackmap-analyzer-python==0.2.0; extra == "all"
44
- Requires-Dist: attackmap-analyzer-rust==0.2.0; extra == "all"
45
- Requires-Dist: attackmap-analyzer-go==0.2.0; extra == "all"
46
- Requires-Dist: attackmap-analyzer-java-spring==0.2.0; extra == "all"
47
- Requires-Dist: attackmap-analyzer-dotnet==0.2.0; extra == "all"
48
- Requires-Dist: attackmap-analyzer-terraform==0.2.1; extra == "all"
49
- Requires-Dist: attackmap-analyzer-c==0.2.0; extra == "all"
50
- Requires-Dist: attackmap-analyzer-cpp==0.2.0; extra == "all"
51
- Requires-Dist: attackmap-analyzer-swift==0.2.0; extra == "all"
52
- Requires-Dist: attackmap-analyzer-node-service==0.3.0; extra == "all"
53
- Requires-Dist: attackmap-analyzer-atproto==0.2.0; extra == "all"
54
- Requires-Dist: attackmap-analyzer-php-web==0.2.0; extra == "all"
55
- Requires-Dist: attackmap-analyzer-php-laminas==0.2.0; extra == "all"
56
- Requires-Dist: attackmap-analyzer-omeka-s==0.2.0; extra == "all"
57
- Requires-Dist: attackmap-analyzer-iac==0.2.0; extra == "all"
42
+ Requires-Dist: attackmap-analyzer-python==0.2.1; extra == "all"
43
+ Requires-Dist: attackmap-analyzer-rust==0.2.1; extra == "all"
44
+ Requires-Dist: attackmap-analyzer-go==0.2.1; extra == "all"
45
+ Requires-Dist: attackmap-analyzer-java-spring==0.2.1; extra == "all"
46
+ Requires-Dist: attackmap-analyzer-dotnet==0.2.1; extra == "all"
47
+ Requires-Dist: attackmap-analyzer-terraform==0.2.2; extra == "all"
48
+ Requires-Dist: attackmap-analyzer-c==0.2.1; extra == "all"
49
+ Requires-Dist: attackmap-analyzer-cpp==0.2.1; extra == "all"
50
+ Requires-Dist: attackmap-analyzer-swift==0.2.1; extra == "all"
51
+ Requires-Dist: attackmap-analyzer-node-service==0.3.1; extra == "all"
52
+ Requires-Dist: attackmap-analyzer-atproto==0.2.1; extra == "all"
53
+ Requires-Dist: attackmap-analyzer-php-web==0.2.1; extra == "all"
54
+ Requires-Dist: attackmap-analyzer-php-laminas==0.2.1; extra == "all"
55
+ Requires-Dist: attackmap-analyzer-omeka-s==0.2.1; extra == "all"
56
+ Requires-Dist: attackmap-analyzer-iac==0.2.1; extra == "all"
58
57
  Provides-Extra: dev
59
58
  Requires-Dist: pytest>=8.0.0; extra == "dev"
60
59
  Requires-Dist: build>=1.2.0; extra == "dev"
@@ -71,7 +70,7 @@ Dynamic: license-file
71
70
  > very welcome with the core engine, an analyzer, the macOS app, or the docs —
72
71
  > see [CONTRIBUTING.md](https://github.com/mlaify/AttackMap/blob/main/CONTRIBUTING.md) or open an issue on
73
72
  > [mlaify/AttackMap](https://github.com/mlaify/AttackMap/issues) to say hello.
74
- > Security reports are still welcome at [security@mlaify.io](mailto:security@mlaify.io).
73
+ > Report vulnerabilities through this repository's **Security** tab using **Report a vulnerability**. Report ordinary bugs and incorrect results in public issues.
75
74
 
76
75
  **Local-first, AI-assisted defensive security analysis for codebases.** AttackMap
77
76
  reads a repository (or a whole fleet of them), reconstructs the attack surface —
@@ -83,7 +82,7 @@ sends your code anywhere.
83
82
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/mlaify/AttackMap/blob/main/LICENSE)
84
83
  [![Python: 3.11+](https://img.shields.io/badge/Python-3.11%2B-blue.svg)](https://www.python.org/)
85
84
 
86
- > **Status: beta (v0.6.4).** Core engine + 15 analyzer plugins, published on
85
+ > **Status: beta (v0.6.5).** Core engine + 15 analyzer plugins, published on
87
86
  > [PyPI](https://pypi.org/project/attackmap/) and validated on real codebases. AttackMap is heuristic by
88
87
  > design — findings are confidence-tiered evidence, not proof. Roadmap to 1.0:
89
88
  > [issue #209](https://github.com/mlaify/AttackMap/issues/209).
@@ -6,7 +6,7 @@
6
6
  > very welcome with the core engine, an analyzer, the macOS app, or the docs —
7
7
  > see [CONTRIBUTING.md](https://github.com/mlaify/AttackMap/blob/main/CONTRIBUTING.md) or open an issue on
8
8
  > [mlaify/AttackMap](https://github.com/mlaify/AttackMap/issues) to say hello.
9
- > Security reports are still welcome at [security@mlaify.io](mailto:security@mlaify.io).
9
+ > Report vulnerabilities through this repository's **Security** tab using **Report a vulnerability**. Report ordinary bugs and incorrect results in public issues.
10
10
 
11
11
  **Local-first, AI-assisted defensive security analysis for codebases.** AttackMap
12
12
  reads a repository (or a whole fleet of them), reconstructs the attack surface —
@@ -18,7 +18,7 @@ sends your code anywhere.
18
18
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/mlaify/AttackMap/blob/main/LICENSE)
19
19
  [![Python: 3.11+](https://img.shields.io/badge/Python-3.11%2B-blue.svg)](https://www.python.org/)
20
20
 
21
- > **Status: beta (v0.6.4).** Core engine + 15 analyzer plugins, published on
21
+ > **Status: beta (v0.6.5).** Core engine + 15 analyzer plugins, published on
22
22
  > [PyPI](https://pypi.org/project/attackmap/) and validated on real codebases. AttackMap is heuristic by
23
23
  > design — findings are confidence-tiered evidence, not proof. Roadmap to 1.0:
24
24
  > [issue #209](https://github.com/mlaify/AttackMap/issues/209).
@@ -11,11 +11,11 @@ readme = "README.md"
11
11
  requires-python = ">=3.11"
12
12
  license = {text = "MIT"}
13
13
  authors = [
14
- {name = "Matthew Davis", email = "mlaify@mlaify.io"},
14
+ {name = "Matthew Davis"},
15
15
  {name = "AttackMap Contributors"},
16
16
  ]
17
17
  maintainers = [
18
- {name = "Matthew Davis", email = "mlaify@mlaify.io"},
18
+ {name = "Matthew Davis"},
19
19
  ]
20
20
  keywords = [
21
21
  "security",
@@ -62,21 +62,21 @@ llm = [
62
62
  ]
63
63
  all = [
64
64
  "attackmap[llm]",
65
- "attackmap-analyzer-python==0.2.0",
66
- "attackmap-analyzer-rust==0.2.0",
67
- "attackmap-analyzer-go==0.2.0",
68
- "attackmap-analyzer-java-spring==0.2.0",
69
- "attackmap-analyzer-dotnet==0.2.0",
70
- "attackmap-analyzer-terraform==0.2.1",
71
- "attackmap-analyzer-c==0.2.0",
72
- "attackmap-analyzer-cpp==0.2.0",
73
- "attackmap-analyzer-swift==0.2.0",
74
- "attackmap-analyzer-node-service==0.3.0",
75
- "attackmap-analyzer-atproto==0.2.0",
76
- "attackmap-analyzer-php-web==0.2.0",
77
- "attackmap-analyzer-php-laminas==0.2.0",
78
- "attackmap-analyzer-omeka-s==0.2.0",
79
- "attackmap-analyzer-iac==0.2.0",
65
+ "attackmap-analyzer-python==0.2.1",
66
+ "attackmap-analyzer-rust==0.2.1",
67
+ "attackmap-analyzer-go==0.2.1",
68
+ "attackmap-analyzer-java-spring==0.2.1",
69
+ "attackmap-analyzer-dotnet==0.2.1",
70
+ "attackmap-analyzer-terraform==0.2.2",
71
+ "attackmap-analyzer-c==0.2.1",
72
+ "attackmap-analyzer-cpp==0.2.1",
73
+ "attackmap-analyzer-swift==0.2.1",
74
+ "attackmap-analyzer-node-service==0.3.1",
75
+ "attackmap-analyzer-atproto==0.2.1",
76
+ "attackmap-analyzer-php-web==0.2.1",
77
+ "attackmap-analyzer-php-laminas==0.2.1",
78
+ "attackmap-analyzer-omeka-s==0.2.1",
79
+ "attackmap-analyzer-iac==0.2.1",
80
80
  ]
81
81
  dev = [
82
82
  "pytest>=8.0.0",
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "0.6.4"
2
+ __version__ = "0.6.5"
@@ -9,106 +9,106 @@ OFFICIAL_PLUGINS: list[dict] = [
9
9
  {
10
10
  'repo': 'attackmap-analyzer-python',
11
11
  'package': 'attackmap-analyzer-python',
12
- 'version': '0.2.0',
13
- 'git_sha': '9888be5c8f8e9127686e0ed98af9425a34bc7b8c',
12
+ 'version': '0.2.1',
13
+ 'git_sha': '280cb9ca851d467de4d28a1f0d89a92388b956f8',
14
14
  'entry_points': ['python'],
15
15
  },
16
16
  {
17
17
  'repo': 'attackmap-analyzer-rust',
18
18
  'package': 'attackmap-analyzer-rust',
19
- 'version': '0.2.0',
20
- 'git_sha': 'ba6cce7ec1b8055b27c3aa2ddd8884ae410b8ba0',
19
+ 'version': '0.2.1',
20
+ 'git_sha': '6da4016f8826c6634fdc025145308ce0b06390b2',
21
21
  'entry_points': ['rust'],
22
22
  },
23
23
  {
24
24
  'repo': 'attackmap-analyzer-go',
25
25
  'package': 'attackmap-analyzer-go',
26
- 'version': '0.2.0',
27
- 'git_sha': '8570338fc67198770b3185633bb0fc35d7db5deb',
26
+ 'version': '0.2.1',
27
+ 'git_sha': '64b425f9b14c97705173b9543ea21d4f612e98a3',
28
28
  'entry_points': ['go'],
29
29
  },
30
30
  {
31
31
  'repo': 'attackmap-analyzer-java-spring',
32
32
  'package': 'attackmap-analyzer-java-spring',
33
- 'version': '0.2.0',
34
- 'git_sha': '82e23461f6c075d17a709c29c9349a1076d1bafa',
33
+ 'version': '0.2.1',
34
+ 'git_sha': '3aa4290f109f6de86049d81d8637040abdb3a789',
35
35
  'entry_points': ['java_spring'],
36
36
  },
37
37
  {
38
38
  'repo': 'attackmap-analyzer-dotnet',
39
39
  'package': 'attackmap-analyzer-dotnet',
40
- 'version': '0.2.0',
41
- 'git_sha': 'fd08a2899f81c7173e257e892fb3914704244f3d',
40
+ 'version': '0.2.1',
41
+ 'git_sha': 'd940638fafde355ff4a0c22439389baefc3003c8',
42
42
  'entry_points': ['dotnet'],
43
43
  },
44
44
  {
45
45
  'repo': 'attackmap-analyzer-terraform',
46
46
  'package': 'attackmap-analyzer-terraform',
47
- 'version': '0.2.1',
48
- 'git_sha': '1dfbce9a32c9a2fd6fc1b80f976ea86f69d82cd1',
47
+ 'version': '0.2.2',
48
+ 'git_sha': '8856e56969e8e4ace98a0a395417fa5899a71151',
49
49
  'entry_points': ['terraform'],
50
50
  },
51
51
  {
52
52
  'repo': 'attackmap-analyzer-c',
53
53
  'package': 'attackmap-analyzer-c',
54
- 'version': '0.2.0',
55
- 'git_sha': '00f7615a75df47e4ea1a084af562b4cf2e037ef1',
54
+ 'version': '0.2.1',
55
+ 'git_sha': 'e6abfcb8634826347243ecb477f7c63b2cbdb337',
56
56
  'entry_points': ['c'],
57
57
  },
58
58
  {
59
59
  'repo': 'attackmap-analyzer-cpp',
60
60
  'package': 'attackmap-analyzer-cpp',
61
- 'version': '0.2.0',
62
- 'git_sha': 'cae9511e8db3ae192af9189a5d15d889e7fd18a8',
61
+ 'version': '0.2.1',
62
+ 'git_sha': '4d9d98edbb3ef03f7d9fa27fd4437b2c4002d7af',
63
63
  'entry_points': ['cpp'],
64
64
  },
65
65
  {
66
66
  'repo': 'attackmap-analyzer-swift',
67
67
  'package': 'attackmap-analyzer-swift',
68
- 'version': '0.2.0',
69
- 'git_sha': 'eb56ca09c642e580c5cd73391d602f555d429a4b',
68
+ 'version': '0.2.1',
69
+ 'git_sha': '7e7808d3575f50fdc2106a793011825672e5326f',
70
70
  'entry_points': ['objc', 'swift'],
71
71
  },
72
72
  {
73
73
  'repo': 'attackmap-analyzer-node-service',
74
74
  'package': 'attackmap-analyzer-node-service',
75
- 'version': '0.3.0',
76
- 'git_sha': '949269777c020e7a6265fb1436cf1be2fe5004be',
75
+ 'version': '0.3.1',
76
+ 'git_sha': '744101eeb9d1b4eae0c8e718e5af531ea33872af',
77
77
  'entry_points': ['node_service'],
78
78
  },
79
79
  {
80
80
  'repo': 'attackmap-analyzer-atproto',
81
81
  'package': 'attackmap-analyzer-atproto',
82
- 'version': '0.2.0',
83
- 'git_sha': '34b7616d5428549d39848dc4db1af7a71d6e0b56',
82
+ 'version': '0.2.1',
83
+ 'git_sha': 'd94f7ab3673cb062f1f2d6d731abb03cea8a2034',
84
84
  'entry_points': ['atproto'],
85
85
  },
86
86
  {
87
87
  'repo': 'attackmap-analyzer-php-web',
88
88
  'package': 'attackmap-analyzer-php-web',
89
- 'version': '0.2.0',
90
- 'git_sha': '65a5f098c40ae64d3ec3b5d20777eac640fb743b',
89
+ 'version': '0.2.1',
90
+ 'git_sha': 'bcae04c48f3f4bb359b3cb68d93521f277b939ab',
91
91
  'entry_points': ['php_web'],
92
92
  },
93
93
  {
94
94
  'repo': 'attackmap-analyzer-php-laminas',
95
95
  'package': 'attackmap-analyzer-php-laminas',
96
- 'version': '0.2.0',
97
- 'git_sha': '9046ff6256338850574ee781b69bd2e3f09d2ab2',
96
+ 'version': '0.2.1',
97
+ 'git_sha': '7a0b3945470eece08ce36f2821ff25765a113b4f',
98
98
  'entry_points': ['php_laminas'],
99
99
  },
100
100
  {
101
101
  'repo': 'attackmap-analyzer-omeka-s',
102
102
  'package': 'attackmap-analyzer-omeka-s',
103
- 'version': '0.2.0',
104
- 'git_sha': '9759c163e30c35256558188cff30dc1cf1331cd5',
103
+ 'version': '0.2.1',
104
+ 'git_sha': 'becc3f86a516d43036e3e42d72bcde4bbac85176',
105
105
  'entry_points': ['omeka_s'],
106
106
  },
107
107
  {
108
108
  'repo': 'attackmap-analyzer-iac',
109
109
  'package': 'attackmap-analyzer-iac',
110
- 'version': '0.2.0',
111
- 'git_sha': 'ef7811cb500b40535740fc104a3d2b29ef627141',
110
+ 'version': '0.2.1',
111
+ 'git_sha': '6e598f7a783aab4cdc0defa6ec2f9016fc6b0643',
112
112
  'entry_points': ['iac'],
113
113
  },
114
114
  ]
@@ -1,10 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: attackmap
3
- Version: 0.6.4
3
+ Version: 0.6.5
4
4
  Summary: AI-assisted defensive security analyzer for codebases — scans a repository, models assets and controls, finds cross-cutting weaknesses, and generates an evidence-grounded review with MITRE ATT&CK mappings and detection-engineering hints.
5
- Author: AttackMap Contributors
6
- Author-email: Matthew Davis <mlaify@mlaify.io>
7
- Maintainer-email: Matthew Davis <mlaify@mlaify.io>
5
+ Author: Matthew Davis, AttackMap Contributors
6
+ Maintainer: Matthew Davis
8
7
  License: MIT
9
8
  Project-URL: Homepage, https://github.com/mlaify/AttackMap
10
9
  Project-URL: Documentation, https://github.com/mlaify/AttackMap/wiki
@@ -40,21 +39,21 @@ Requires-Dist: anthropic>=0.40.0; extra == "llm"
40
39
  Requires-Dist: openai>=1.60.0; extra == "llm"
41
40
  Provides-Extra: all
42
41
  Requires-Dist: attackmap[llm]; extra == "all"
43
- Requires-Dist: attackmap-analyzer-python==0.2.0; extra == "all"
44
- Requires-Dist: attackmap-analyzer-rust==0.2.0; extra == "all"
45
- Requires-Dist: attackmap-analyzer-go==0.2.0; extra == "all"
46
- Requires-Dist: attackmap-analyzer-java-spring==0.2.0; extra == "all"
47
- Requires-Dist: attackmap-analyzer-dotnet==0.2.0; extra == "all"
48
- Requires-Dist: attackmap-analyzer-terraform==0.2.1; extra == "all"
49
- Requires-Dist: attackmap-analyzer-c==0.2.0; extra == "all"
50
- Requires-Dist: attackmap-analyzer-cpp==0.2.0; extra == "all"
51
- Requires-Dist: attackmap-analyzer-swift==0.2.0; extra == "all"
52
- Requires-Dist: attackmap-analyzer-node-service==0.3.0; extra == "all"
53
- Requires-Dist: attackmap-analyzer-atproto==0.2.0; extra == "all"
54
- Requires-Dist: attackmap-analyzer-php-web==0.2.0; extra == "all"
55
- Requires-Dist: attackmap-analyzer-php-laminas==0.2.0; extra == "all"
56
- Requires-Dist: attackmap-analyzer-omeka-s==0.2.0; extra == "all"
57
- Requires-Dist: attackmap-analyzer-iac==0.2.0; extra == "all"
42
+ Requires-Dist: attackmap-analyzer-python==0.2.1; extra == "all"
43
+ Requires-Dist: attackmap-analyzer-rust==0.2.1; extra == "all"
44
+ Requires-Dist: attackmap-analyzer-go==0.2.1; extra == "all"
45
+ Requires-Dist: attackmap-analyzer-java-spring==0.2.1; extra == "all"
46
+ Requires-Dist: attackmap-analyzer-dotnet==0.2.1; extra == "all"
47
+ Requires-Dist: attackmap-analyzer-terraform==0.2.2; extra == "all"
48
+ Requires-Dist: attackmap-analyzer-c==0.2.1; extra == "all"
49
+ Requires-Dist: attackmap-analyzer-cpp==0.2.1; extra == "all"
50
+ Requires-Dist: attackmap-analyzer-swift==0.2.1; extra == "all"
51
+ Requires-Dist: attackmap-analyzer-node-service==0.3.1; extra == "all"
52
+ Requires-Dist: attackmap-analyzer-atproto==0.2.1; extra == "all"
53
+ Requires-Dist: attackmap-analyzer-php-web==0.2.1; extra == "all"
54
+ Requires-Dist: attackmap-analyzer-php-laminas==0.2.1; extra == "all"
55
+ Requires-Dist: attackmap-analyzer-omeka-s==0.2.1; extra == "all"
56
+ Requires-Dist: attackmap-analyzer-iac==0.2.1; extra == "all"
58
57
  Provides-Extra: dev
59
58
  Requires-Dist: pytest>=8.0.0; extra == "dev"
60
59
  Requires-Dist: build>=1.2.0; extra == "dev"
@@ -71,7 +70,7 @@ Dynamic: license-file
71
70
  > very welcome with the core engine, an analyzer, the macOS app, or the docs —
72
71
  > see [CONTRIBUTING.md](https://github.com/mlaify/AttackMap/blob/main/CONTRIBUTING.md) or open an issue on
73
72
  > [mlaify/AttackMap](https://github.com/mlaify/AttackMap/issues) to say hello.
74
- > Security reports are still welcome at [security@mlaify.io](mailto:security@mlaify.io).
73
+ > Report vulnerabilities through this repository's **Security** tab using **Report a vulnerability**. Report ordinary bugs and incorrect results in public issues.
75
74
 
76
75
  **Local-first, AI-assisted defensive security analysis for codebases.** AttackMap
77
76
  reads a repository (or a whole fleet of them), reconstructs the attack surface —
@@ -83,7 +82,7 @@ sends your code anywhere.
83
82
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/mlaify/AttackMap/blob/main/LICENSE)
84
83
  [![Python: 3.11+](https://img.shields.io/badge/Python-3.11%2B-blue.svg)](https://www.python.org/)
85
84
 
86
- > **Status: beta (v0.6.4).** Core engine + 15 analyzer plugins, published on
85
+ > **Status: beta (v0.6.5).** Core engine + 15 analyzer plugins, published on
87
86
  > [PyPI](https://pypi.org/project/attackmap/) and validated on real codebases. AttackMap is heuristic by
88
87
  > design — findings are confidence-tiered evidence, not proof. Roadmap to 1.0:
89
88
  > [issue #209](https://github.com/mlaify/AttackMap/issues/209).
@@ -0,0 +1,33 @@
1
+ typer>=0.12.3
2
+ pydantic>=2.7.0
3
+ networkx>=3.3
4
+ PyYAML>=6.0
5
+
6
+ [all]
7
+ attackmap[llm]
8
+ attackmap-analyzer-python==0.2.1
9
+ attackmap-analyzer-rust==0.2.1
10
+ attackmap-analyzer-go==0.2.1
11
+ attackmap-analyzer-java-spring==0.2.1
12
+ attackmap-analyzer-dotnet==0.2.1
13
+ attackmap-analyzer-terraform==0.2.2
14
+ attackmap-analyzer-c==0.2.1
15
+ attackmap-analyzer-cpp==0.2.1
16
+ attackmap-analyzer-swift==0.2.1
17
+ attackmap-analyzer-node-service==0.3.1
18
+ attackmap-analyzer-atproto==0.2.1
19
+ attackmap-analyzer-php-web==0.2.1
20
+ attackmap-analyzer-php-laminas==0.2.1
21
+ attackmap-analyzer-omeka-s==0.2.1
22
+ attackmap-analyzer-iac==0.2.1
23
+
24
+ [dev]
25
+ pytest>=8.0.0
26
+ build>=1.2.0
27
+ jsonschema>=4.0
28
+ pysigma>=2.0
29
+ ruff>=0.6
30
+
31
+ [llm]
32
+ anthropic>=0.40.0
33
+ openai>=1.60.0
@@ -1,33 +0,0 @@
1
- typer>=0.12.3
2
- pydantic>=2.7.0
3
- networkx>=3.3
4
- PyYAML>=6.0
5
-
6
- [all]
7
- attackmap[llm]
8
- attackmap-analyzer-python==0.2.0
9
- attackmap-analyzer-rust==0.2.0
10
- attackmap-analyzer-go==0.2.0
11
- attackmap-analyzer-java-spring==0.2.0
12
- attackmap-analyzer-dotnet==0.2.0
13
- attackmap-analyzer-terraform==0.2.1
14
- attackmap-analyzer-c==0.2.0
15
- attackmap-analyzer-cpp==0.2.0
16
- attackmap-analyzer-swift==0.2.0
17
- attackmap-analyzer-node-service==0.3.0
18
- attackmap-analyzer-atproto==0.2.0
19
- attackmap-analyzer-php-web==0.2.0
20
- attackmap-analyzer-php-laminas==0.2.0
21
- attackmap-analyzer-omeka-s==0.2.0
22
- attackmap-analyzer-iac==0.2.0
23
-
24
- [dev]
25
- pytest>=8.0.0
26
- build>=1.2.0
27
- jsonschema>=4.0
28
- pysigma>=2.0
29
- ruff>=0.6
30
-
31
- [llm]
32
- anthropic>=0.40.0
33
- openai>=1.60.0
File without changes
File without changes
File without changes