actshield 0.9.0__tar.gz → 0.9.1__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 (405) hide show
  1. actshield-0.9.1/PKG-INFO +266 -0
  2. actshield-0.9.1/README.md +208 -0
  3. {actshield-0.9.0 → actshield-0.9.1}/actshield/__init__.py +1 -1
  4. {actshield-0.9.0 → actshield-0.9.1}/actshield/cli/main.py +5 -3
  5. actshield-0.9.1/actshield.egg-info/PKG-INFO +266 -0
  6. {actshield-0.9.0 → actshield-0.9.1}/actshield.egg-info/SOURCES.txt +1 -0
  7. {actshield-0.9.0 → actshield-0.9.1}/pyproject.toml +1 -1
  8. {actshield-0.9.0 → actshield-0.9.1}/tests/test_enterprise_hardening_master.py +1 -1
  9. actshield-0.9.0/PKG-INFO +0 -57
  10. actshield-0.9.0/actshield.egg-info/PKG-INFO +0 -57
  11. {actshield-0.9.0 → actshield-0.9.1}/MANIFEST.in +0 -0
  12. {actshield-0.9.0 → actshield-0.9.1}/actshield/__main__.py +0 -0
  13. {actshield-0.9.0 → actshield-0.9.1}/actshield/agents/__init__.py +0 -0
  14. {actshield-0.9.0 → actshield-0.9.1}/actshield/agents/agent.py +0 -0
  15. {actshield-0.9.0 → actshield-0.9.1}/actshield/agents/identity.py +0 -0
  16. {actshield-0.9.0 → actshield-0.9.1}/actshield/api/__init__.py +0 -0
  17. {actshield-0.9.0 → actshield-0.9.1}/actshield/api/models.py +0 -0
  18. {actshield-0.9.0 → actshield-0.9.1}/actshield/api/server.py +0 -0
  19. {actshield-0.9.0 → actshield-0.9.1}/actshield/api/service.py +0 -0
  20. {actshield-0.9.0 → actshield-0.9.1}/actshield/approval/__init__.py +0 -0
  21. {actshield-0.9.0 → actshield-0.9.1}/actshield/approval/approval.py +0 -0
  22. {actshield-0.9.0 → actshield-0.9.1}/actshield/cli/__init__.py +0 -0
  23. {actshield-0.9.0 → actshield-0.9.1}/actshield/cli/graph.py +0 -0
  24. {actshield-0.9.0 → actshield-0.9.1}/actshield/cli/shell.py +0 -0
  25. {actshield-0.9.0 → actshield-0.9.1}/actshield/cli/theme.py +0 -0
  26. {actshield-0.9.0 → actshield-0.9.1}/actshield/client.py +0 -0
  27. {actshield-0.9.0 → actshield-0.9.1}/actshield/config.py +0 -0
  28. {actshield-0.9.0 → actshield-0.9.1}/actshield/context/__init__.py +0 -0
  29. {actshield-0.9.0 → actshield-0.9.1}/actshield/context/context.py +0 -0
  30. {actshield-0.9.0 → actshield-0.9.1}/actshield/context/provenance.py +0 -0
  31. {actshield-0.9.0 → actshield-0.9.1}/actshield/context/taint.py +0 -0
  32. {actshield-0.9.0 → actshield-0.9.1}/actshield/decisions/decision.py +0 -0
  33. {actshield-0.9.0 → actshield-0.9.1}/actshield/delegation/__init__.py +0 -0
  34. {actshield-0.9.0 → actshield-0.9.1}/actshield/delegation/authority.py +0 -0
  35. {actshield-0.9.0 → actshield-0.9.1}/actshield/delegation/delegation.py +0 -0
  36. {actshield-0.9.0 → actshield-0.9.1}/actshield/demo.py +0 -0
  37. {actshield-0.9.0 → actshield-0.9.1}/actshield/doctor.py +0 -0
  38. {actshield-0.9.0 → actshield-0.9.1}/actshield/drift/__init__.py +0 -0
  39. {actshield-0.9.0 → actshield-0.9.1}/actshield/drift/drift_engine.py +0 -0
  40. {actshield-0.9.0 → actshield-0.9.1}/actshield/drift/drift_models.py +0 -0
  41. {actshield-0.9.0 → actshield-0.9.1}/actshield/evaluation/__init__.py +0 -0
  42. {actshield-0.9.0 → actshield-0.9.1}/actshield/evaluation/cases/__init__.py +0 -0
  43. {actshield-0.9.0 → actshield-0.9.1}/actshield/evaluation/eval_suite.py +0 -0
  44. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/__init__.py +0 -0
  45. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/access_graph.py +0 -0
  46. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/authority_graph.py +0 -0
  47. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/delegation_graph.py +0 -0
  48. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/explanation.py +0 -0
  49. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/models.py +0 -0
  50. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/queries.py +0 -0
  51. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/serializers.py +0 -0
  52. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/service.py +0 -0
  53. {actshield-0.9.0 → actshield-0.9.1}/actshield/forensics/snapshots.py +0 -0
  54. {actshield-0.9.0 → actshield-0.9.1}/actshield/gates/__init__.py +0 -0
  55. {actshield-0.9.0 → actshield-0.9.1}/actshield/gates/gate_models.py +0 -0
  56. {actshield-0.9.0 → actshield-0.9.1}/actshield/gates/security_gate.py +0 -0
  57. {actshield-0.9.0 → actshield-0.9.1}/actshield/gateway/__init__.py +0 -0
  58. {actshield-0.9.0 → actshield-0.9.1}/actshield/gateway/http.py +0 -0
  59. {actshield-0.9.0 → actshield-0.9.1}/actshield/gateway/mcp.py +0 -0
  60. {actshield-0.9.0 → actshield-0.9.1}/actshield/incidents/__init__.py +0 -0
  61. {actshield-0.9.0 → actshield-0.9.1}/actshield/incidents/incident.py +0 -0
  62. {actshield-0.9.0 → actshield-0.9.1}/actshield/incidents/incident_engine.py +0 -0
  63. {actshield-0.9.0 → actshield-0.9.1}/actshield/incidents/incident_rules.py +0 -0
  64. {actshield-0.9.0 → actshield-0.9.1}/actshield/incidents/incident_state.py +0 -0
  65. {actshield-0.9.0 → actshield-0.9.1}/actshield/integrations/__init__.py +0 -0
  66. {actshield-0.9.0 → actshield-0.9.1}/actshield/integrations/ai_secura.py +0 -0
  67. {actshield-0.9.0 → actshield-0.9.1}/actshield/integrations/ai_secura_analysis.py +0 -0
  68. {actshield-0.9.0 → actshield-0.9.1}/actshield/integrations/apiris.py +0 -0
  69. {actshield-0.9.0 → actshield-0.9.1}/actshield/integrations/few_shot.py +0 -0
  70. {actshield-0.9.0 → actshield-0.9.1}/actshield/integrations/ollama_adapter.py +0 -0
  71. {actshield-0.9.0 → actshield-0.9.1}/actshield/integrations/prompts/__init__.py +0 -0
  72. {actshield-0.9.0 → actshield-0.9.1}/actshield/integrations/prompts/examples/__init__.py +0 -0
  73. {actshield-0.9.0 → actshield-0.9.1}/actshield/integrations/security_packet.py +0 -0
  74. {actshield-0.9.0 → actshield-0.9.1}/actshield/llm_config.py +0 -0
  75. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/__init__.py +0 -0
  76. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/adaptive/__init__.py +0 -0
  77. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/adaptive/adaptive_engine.py +0 -0
  78. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/adaptive/attack_selector.py +0 -0
  79. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/adaptive/boundary_search.py +0 -0
  80. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/adaptive/campaign_memory.py +0 -0
  81. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/adaptive/feedback.py +0 -0
  82. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/adaptive/mutation_planner.py +0 -0
  83. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/attack.py +0 -0
  84. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/campaign.py +0 -0
  85. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/corpus.py +0 -0
  86. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/engine.py +0 -0
  87. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/evaluator.py +0 -0
  88. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/evidence.py +0 -0
  89. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/generator.py +0 -0
  90. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/mutation.py +0 -0
  91. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/results.py +0 -0
  92. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/safety.py +0 -0
  93. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/strategies/__init__.py +0 -0
  94. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/strategies/authority_escalation.py +0 -0
  95. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/strategies/base.py +0 -0
  96. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/strategies/context_manipulation.py +0 -0
  97. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/strategies/data_exfiltration.py +0 -0
  98. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/strategies/delegation_attacks.py +0 -0
  99. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/strategies/mcp_attacks.py +0 -0
  100. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/strategies/prompt_injection.py +0 -0
  101. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/strategies/tool_poisoning.py +0 -0
  102. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/target.py +0 -0
  103. {actshield-0.9.0 → actshield-0.9.1}/actshield/offensive/vulnerable_target.py +0 -0
  104. {actshield-0.9.0 → actshield-0.9.1}/actshield/persistence/__init__.py +0 -0
  105. {actshield-0.9.0 → actshield-0.9.1}/actshield/persistence/siem.py +0 -0
  106. {actshield-0.9.0 → actshield-0.9.1}/actshield/persistence/storage.py +0 -0
  107. {actshield-0.9.0 → actshield-0.9.1}/actshield/policy/__init__.py +0 -0
  108. {actshield-0.9.0 → actshield-0.9.1}/actshield/policy/evaluator.py +0 -0
  109. {actshield-0.9.0 → actshield-0.9.1}/actshield/policy/intent.py +0 -0
  110. {actshield-0.9.0 → actshield-0.9.1}/actshield/policy/policy.py +0 -0
  111. {actshield-0.9.0 → actshield-0.9.1}/actshield/posture/__init__.py +0 -0
  112. {actshield-0.9.0 → actshield-0.9.1}/actshield/posture/posture_engine.py +0 -0
  113. {actshield-0.9.0 → actshield-0.9.1}/actshield/posture/posture_models.py +0 -0
  114. {actshield-0.9.0 → actshield-0.9.1}/actshield/posture/posture_rules.py +0 -0
  115. {actshield-0.9.0 → actshield-0.9.1}/actshield/providers/__init__.py +0 -0
  116. {actshield-0.9.0 → actshield-0.9.1}/actshield/providers/anthropic_provider.py +0 -0
  117. {actshield-0.9.0 → actshield-0.9.1}/actshield/providers/base.py +0 -0
  118. {actshield-0.9.0 → actshield-0.9.1}/actshield/providers/gemini_provider.py +0 -0
  119. {actshield-0.9.0 → actshield-0.9.1}/actshield/providers/null_provider.py +0 -0
  120. {actshield-0.9.0 → actshield-0.9.1}/actshield/providers/ollama_provider.py +0 -0
  121. {actshield-0.9.0 → actshield-0.9.1}/actshield/providers/openai_provider.py +0 -0
  122. {actshield-0.9.0 → actshield-0.9.1}/actshield/providers/registry.py +0 -0
  123. {actshield-0.9.0 → actshield-0.9.1}/actshield/py.typed +0 -0
  124. {actshield-0.9.0 → actshield-0.9.1}/actshield/response/__init__.py +0 -0
  125. {actshield-0.9.0 → actshield-0.9.1}/actshield/response/response_actions.py +0 -0
  126. {actshield-0.9.0 → actshield-0.9.1}/actshield/response/response_audit.py +0 -0
  127. {actshield-0.9.0 → actshield-0.9.1}/actshield/response/response_engine.py +0 -0
  128. {actshield-0.9.0 → actshield-0.9.1}/actshield/risk/models.py +0 -0
  129. {actshield-0.9.0 → actshield-0.9.1}/actshield/serve.py +0 -0
  130. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/404.html +0 -0
  131. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/__next.__PAGE__.txt +0 -0
  132. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/__next._full.txt +0 -0
  133. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/__next._tree.txt +0 -0
  134. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_buildManifest.js +0 -0
  135. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_clientMiddlewareManifest.js +0 -0
  136. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_ssgManifest.js +0 -0
  137. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/09kny2eqjc2or.js +0 -0
  138. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0c1zba1u9whdp.js +0 -0
  139. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0cz1d0mv5g_q7.js +0 -0
  140. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0dbjjeg01x25o.js +0 -0
  141. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0duobs55ne238.js +0 -0
  142. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0iaz41l6068e4.js +0 -0
  143. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0mjhyv72x2idp.js +0 -0
  144. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0nelpqfu_ciq6.js +0 -0
  145. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0p1bci9ch797v.js +0 -0
  146. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0tld_ygho5tgm.js +0 -0
  147. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/0w1-y7oni66j9.js +0 -0
  148. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/10537zyl427zj.js +0 -0
  149. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/11pc_jkl3aggn.js +0 -0
  150. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/16k7nw0b3t8ys.js +0 -0
  151. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/19mx3mg6lkumu.js +0 -0
  152. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1_8p47b-kxg2a.js +0 -0
  153. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1dszjozwfqegx.js +0 -0
  154. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1h43jcb90-m2r.js +0 -0
  155. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1ly04cvt_wh_j.js +0 -0
  156. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1odxrypuwuwp_.js +0 -0
  157. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1oes4c35qz5ku.js +0 -0
  158. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1ow883jl4ln-r.js +0 -0
  159. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1po7bna1as8tc.js +0 -0
  160. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1rsh0og8ifkzx.js +0 -0
  161. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/1v0lwzv-859z_.js +0 -0
  162. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/25iat2epwx25a.js +0 -0
  163. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/25uvt4s2f39a4.js +0 -0
  164. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/27t_qfc-3_lzs.js +0 -0
  165. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/28bkmy8mez7gm.js +0 -0
  166. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/2b6brmw_drw1p.js +0 -0
  167. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/2fnhtxi4j6vge.js +0 -0
  168. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/2p087eftxemg4.js +0 -0
  169. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/2s8pao_z8pgtq.js +0 -0
  170. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/2yj7ooc2c-zpg.js +0 -0
  171. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/3-mrrr8udt5tk.js +0 -0
  172. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/310vm2bl3xxpt.js +0 -0
  173. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/35mvsv251jx1r.css +0 -0
  174. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/370vf0oetlsx9.js +0 -0
  175. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/3e-2m72tyo556.js +0 -0
  176. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/3fntmmi971322.js +0 -0
  177. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/3fzw-g0hycl2c.js +0 -0
  178. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/3lopq3lhmcjxg.js +0 -0
  179. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/3mpe2jejel0v2.css +0 -0
  180. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/3t8o4f2lzr2sf.js +0 -0
  181. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/3y-v1neyllne5.js +0 -0
  182. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/43oiwy8mx6cs1.js +0 -0
  183. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/chunks/turbopack-23wzuebcy_lxm.js +0 -0
  184. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 +0 -0
  185. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 +0 -0
  186. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2 +0 -0
  187. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/media/5476f68d60460930-s.2uwcyprjm3xu3.woff2 +0 -0
  188. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 +0 -0
  189. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 +0 -0
  190. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2 +0 -0
  191. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  192. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_not-found/__next._full.txt +0 -0
  193. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_not-found/__next._not-found/__PAGE__.txt +0 -0
  194. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_not-found/__next._tree.txt +0 -0
  195. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_not-found.html +0 -0
  196. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/_not-found.txt +0 -0
  197. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/access/matrix/__next._full.txt +0 -0
  198. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/access/matrix/__next._tree.txt +0 -0
  199. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/access/matrix/__next.access/matrix/__PAGE__.txt +0 -0
  200. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/access/matrix.html +0 -0
  201. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/access/matrix.txt +0 -0
  202. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/activity/__next._full.txt +0 -0
  203. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/activity/__next._tree.txt +0 -0
  204. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/activity/__next.activity/__PAGE__.txt +0 -0
  205. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/activity.html +0 -0
  206. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/activity.txt +0 -0
  207. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/agents/__next._full.txt +0 -0
  208. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/agents/__next._tree.txt +0 -0
  209. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/agents/__next.agents/__PAGE__.txt +0 -0
  210. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/agents.html +0 -0
  211. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/agents.txt +0 -0
  212. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/ai-secura/__next._full.txt +0 -0
  213. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/ai-secura/__next._tree.txt +0 -0
  214. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/ai-secura/__next.ai-secura/__PAGE__.txt +0 -0
  215. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/ai-secura.html +0 -0
  216. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/ai-secura.txt +0 -0
  217. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/api/__next._full.txt +0 -0
  218. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/api/__next._tree.txt +0 -0
  219. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/api/__next.api/__PAGE__.txt +0 -0
  220. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/api.html +0 -0
  221. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/api.txt +0 -0
  222. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/apiris/__next._full.txt +0 -0
  223. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/apiris/__next._tree.txt +0 -0
  224. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/apiris/__next.apiris/__PAGE__.txt +0 -0
  225. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/apiris.html +0 -0
  226. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/apiris.txt +0 -0
  227. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/attack-graph/__next._full.txt +0 -0
  228. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/attack-graph/__next._tree.txt +0 -0
  229. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/attack-graph/__next.attack-graph/__PAGE__.txt +0 -0
  230. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/attack-graph.html +0 -0
  231. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/attack-graph.txt +0 -0
  232. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/campaigns/__next._full.txt +0 -0
  233. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/campaigns/__next._tree.txt +0 -0
  234. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/campaigns/__next.campaigns/__PAGE__.txt +0 -0
  235. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/campaigns.html +0 -0
  236. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/campaigns.txt +0 -0
  237. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/context/__next._full.txt +0 -0
  238. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/context/__next._tree.txt +0 -0
  239. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/context/__next.context/__PAGE__.txt +0 -0
  240. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/context.html +0 -0
  241. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/context.txt +0 -0
  242. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/dashboard/__next._full.txt +0 -0
  243. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/dashboard/__next._tree.txt +0 -0
  244. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/dashboard/__next.dashboard/__PAGE__.txt +0 -0
  245. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/dashboard.html +0 -0
  246. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/dashboard.txt +0 -0
  247. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/delegations/__next._full.txt +0 -0
  248. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/delegations/__next._tree.txt +0 -0
  249. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/delegations/__next.delegations/__PAGE__.txt +0 -0
  250. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/delegations.html +0 -0
  251. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/delegations.txt +0 -0
  252. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/demo/__next._full.txt +0 -0
  253. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/demo/__next._tree.txt +0 -0
  254. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/demo/__next.demo/__PAGE__.txt +0 -0
  255. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/demo.html +0 -0
  256. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/demo.txt +0 -0
  257. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/drift/__next._full.txt +0 -0
  258. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/drift/__next._tree.txt +0 -0
  259. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/drift/__next.drift/__PAGE__.txt +0 -0
  260. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/drift.html +0 -0
  261. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/drift.txt +0 -0
  262. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/favicon.ico +0 -0
  263. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/file.svg +0 -0
  264. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/forensics/__next._full.txt +0 -0
  265. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/forensics/__next._tree.txt +0 -0
  266. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/forensics/__next.forensics/__PAGE__.txt +0 -0
  267. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/forensics.html +0 -0
  268. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/forensics.txt +0 -0
  269. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/globe.svg +0 -0
  270. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/incidents/__next._full.txt +0 -0
  271. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/incidents/__next._tree.txt +0 -0
  272. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/incidents/__next.incidents/__PAGE__.txt +0 -0
  273. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/incidents.html +0 -0
  274. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/incidents.txt +0 -0
  275. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/index.html +0 -0
  276. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/index.txt +0 -0
  277. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/logo.png +0 -0
  278. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/metrics/__next._full.txt +0 -0
  279. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/metrics/__next._tree.txt +0 -0
  280. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/metrics/__next.metrics/__PAGE__.txt +0 -0
  281. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/metrics.html +0 -0
  282. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/metrics.txt +0 -0
  283. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/next.svg +0 -0
  284. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/offensive/__next._full.txt +0 -0
  285. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/offensive/__next._tree.txt +0 -0
  286. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/offensive/__next.offensive/__PAGE__.txt +0 -0
  287. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/offensive.html +0 -0
  288. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/offensive.txt +0 -0
  289. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/policies/__next._full.txt +0 -0
  290. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/policies/__next._tree.txt +0 -0
  291. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/policies/__next.policies/__PAGE__.txt +0 -0
  292. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/policies.html +0 -0
  293. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/policies.txt +0 -0
  294. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/posture/__next._full.txt +0 -0
  295. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/posture/__next._tree.txt +0 -0
  296. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/posture/__next.posture/__PAGE__.txt +0 -0
  297. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/posture.html +0 -0
  298. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/posture.txt +0 -0
  299. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/regressions/__next._full.txt +0 -0
  300. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/regressions/__next._tree.txt +0 -0
  301. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/regressions/__next.regressions/__PAGE__.txt +0 -0
  302. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/regressions.html +0 -0
  303. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/regressions.txt +0 -0
  304. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/reports/__next._full.txt +0 -0
  305. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/reports/__next._tree.txt +0 -0
  306. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/reports/__next.reports/__PAGE__.txt +0 -0
  307. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/reports.html +0 -0
  308. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/reports.txt +0 -0
  309. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/resources/__next._full.txt +0 -0
  310. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/resources/__next._tree.txt +0 -0
  311. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/resources/__next.resources/__PAGE__.txt +0 -0
  312. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/resources.html +0 -0
  313. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/resources.txt +0 -0
  314. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/security-gates/__next._full.txt +0 -0
  315. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/security-gates/__next._tree.txt +0 -0
  316. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/security-gates/__next.security-gates/__PAGE__.txt +0 -0
  317. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/security-gates.html +0 -0
  318. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/security-gates.txt +0 -0
  319. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/settings/__next._full.txt +0 -0
  320. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/settings/__next._tree.txt +0 -0
  321. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/settings/__next.settings/__PAGE__.txt +0 -0
  322. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/settings.html +0 -0
  323. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/settings.txt +0 -0
  324. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tasks/__next._full.txt +0 -0
  325. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tasks/__next._tree.txt +0 -0
  326. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tasks/__next.tasks/__PAGE__.txt +0 -0
  327. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tasks.html +0 -0
  328. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tasks.txt +0 -0
  329. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/threats/__next._full.txt +0 -0
  330. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/threats/__next._tree.txt +0 -0
  331. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/threats/__next.threats/__PAGE__.txt +0 -0
  332. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/threats.html +0 -0
  333. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/threats.txt +0 -0
  334. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tools/__next._full.txt +0 -0
  335. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tools/__next._tree.txt +0 -0
  336. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tools/__next.tools/__PAGE__.txt +0 -0
  337. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tools.html +0 -0
  338. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/tools.txt +0 -0
  339. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/traces/__next._full.txt +0 -0
  340. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/traces/__next._tree.txt +0 -0
  341. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/traces/__next.traces/__PAGE__.txt +0 -0
  342. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/traces.html +0 -0
  343. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/traces.txt +0 -0
  344. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/vercel.svg +0 -0
  345. {actshield-0.9.0 → actshield-0.9.1}/actshield/static/window.svg +0 -0
  346. {actshield-0.9.0 → actshield-0.9.1}/actshield/tasks/__init__.py +0 -0
  347. {actshield-0.9.0 → actshield-0.9.1}/actshield/tasks/task.py +0 -0
  348. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/__init__.py +0 -0
  349. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/actors.py +0 -0
  350. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/analyzer.py +0 -0
  351. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/assets.py +0 -0
  352. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/boundaries.py +0 -0
  353. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/exporters.py +0 -0
  354. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/mitigations.py +0 -0
  355. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/models.py +0 -0
  356. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/report.py +0 -0
  357. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/scenarios.py +0 -0
  358. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/scoring.py +0 -0
  359. {actshield-0.9.0 → actshield-0.9.1}/actshield/threatmodel/threats.py +0 -0
  360. {actshield-0.9.0 → actshield-0.9.1}/actshield/tools/__init__.py +0 -0
  361. {actshield-0.9.0 → actshield-0.9.1}/actshield/tools/interceptor.py +0 -0
  362. {actshield-0.9.0 → actshield-0.9.1}/actshield/tools/tool.py +0 -0
  363. {actshield-0.9.0 → actshield-0.9.1}/actshield/tracing/__init__.py +0 -0
  364. {actshield-0.9.0 → actshield-0.9.1}/actshield/tracing/correlation.py +0 -0
  365. {actshield-0.9.0 → actshield-0.9.1}/actshield/tracing/events.py +0 -0
  366. {actshield-0.9.0 → actshield-0.9.1}/actshield/tracing/tracer.py +0 -0
  367. {actshield-0.9.0 → actshield-0.9.1}/actshield/watch.py +0 -0
  368. {actshield-0.9.0 → actshield-0.9.1}/actshield.egg-info/dependency_links.txt +0 -0
  369. {actshield-0.9.0 → actshield-0.9.1}/actshield.egg-info/entry_points.txt +0 -0
  370. {actshield-0.9.0 → actshield-0.9.1}/actshield.egg-info/requires.txt +0 -0
  371. {actshield-0.9.0 → actshield-0.9.1}/actshield.egg-info/top_level.txt +0 -0
  372. {actshield-0.9.0 → actshield-0.9.1}/agentguard/__init__.py +0 -0
  373. {actshield-0.9.0 → actshield-0.9.1}/agentguard/__main__.py +0 -0
  374. {actshield-0.9.0 → actshield-0.9.1}/agentguard/py.typed +0 -0
  375. {actshield-0.9.0 → actshield-0.9.1}/setup.cfg +0 -0
  376. {actshield-0.9.0 → actshield-0.9.1}/tests/test_agents.py +0 -0
  377. {actshield-0.9.0 → actshield-0.9.1}/tests/test_cli_threat.py +0 -0
  378. {actshield-0.9.0 → actshield-0.9.1}/tests/test_context_taint.py +0 -0
  379. {actshield-0.9.0 → actshield-0.9.1}/tests/test_delegation.py +0 -0
  380. {actshield-0.9.0 → actshield-0.9.1}/tests/test_e2e_causal_chain.py +0 -0
  381. {actshield-0.9.0 → actshield-0.9.1}/tests/test_embedded_dashboard.py +0 -0
  382. {actshield-0.9.0 → actshield-0.9.1}/tests/test_integrations.py +0 -0
  383. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase2_hardening.py +0 -0
  384. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase2_multi_agent.py +0 -0
  385. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase35_ollama_config.py +0 -0
  386. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase35_ollama_live.py +0 -0
  387. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase35_prompt_injection.py +0 -0
  388. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase3_gateway.py +0 -0
  389. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase3_hitl_and_intelligence.py +0 -0
  390. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase3_persistence.py +0 -0
  391. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase4_attack_models.py +0 -0
  392. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase4_cli.py +0 -0
  393. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase4_engine_and_evaluator.py +0 -0
  394. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase4_safety.py +0 -0
  395. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase4_strategies.py +0 -0
  396. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase4_vulnerable_remediation.py +0 -0
  397. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase5_adaptive.py +0 -0
  398. {actshield-0.9.0 → actshield-0.9.1}/tests/test_phase65_forensics.py +0 -0
  399. {actshield-0.9.0 → actshield-0.9.1}/tests/test_policy.py +0 -0
  400. {actshield-0.9.0 → actshield-0.9.1}/tests/test_providers_and_platform.py +0 -0
  401. {actshield-0.9.0 → actshield-0.9.1}/tests/test_sdk_platform_complete.py +0 -0
  402. {actshield-0.9.0 → actshield-0.9.1}/tests/test_tasks.py +0 -0
  403. {actshield-0.9.0 → actshield-0.9.1}/tests/test_threat_model.py +0 -0
  404. {actshield-0.9.0 → actshield-0.9.1}/tests/test_tools.py +0 -0
  405. {actshield-0.9.0 → actshield-0.9.1}/tests/test_tracing.py +0 -0
@@ -0,0 +1,266 @@
1
+ Metadata-Version: 2.4
2
+ Name: actshield
3
+ Version: 0.9.1
4
+ Summary: Enterprise Security Control Plane SDK for Autonomous and Multi-Agent AI Systems
5
+ Author: ActShield Security Team
6
+ License: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/agentguard/agentguard
8
+ Project-URL: Documentation, https://agentguard.dev/docs
9
+ Project-URL: Repository, https://github.com/agentguard/agentguard
10
+ Project-URL: Issue Tracker, https://github.com/agentguard/agentguard/issues
11
+ Project-URL: Changelog, https://github.com/agentguard/agentguard/blob/main/CHANGELOG.md
12
+ Keywords: ai-security,multi-agent,provenance,causal-tracing,policy-enforcement,llm-security,taint-tracking,threat-modeling,sdk,cli,security-control-plane,agent-security
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Information Technology
16
+ Classifier: Intended Audience :: System Administrators
17
+ Classifier: Topic :: Security
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: Topic :: System :: Monitoring
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Operating System :: OS Independent
25
+ Classifier: License :: OSI Approved :: Apache Software License
26
+ Classifier: Typing :: Typed
27
+ Requires-Python: >=3.11
28
+ Description-Content-Type: text/markdown
29
+ Requires-Dist: pydantic>=2.5.0
30
+ Requires-Dist: typing-extensions>=4.8.0
31
+ Provides-Extra: cli
32
+ Requires-Dist: rich>=13.7.0; extra == "cli"
33
+ Requires-Dist: typer>=0.12.0; extra == "cli"
34
+ Requires-Dist: click>=8.1.0; extra == "cli"
35
+ Provides-Extra: dev
36
+ Requires-Dist: pytest>=8.0.0; extra == "dev"
37
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
38
+ Requires-Dist: ruff>=0.4.0; extra == "dev"
39
+ Requires-Dist: mypy>=1.10.0; extra == "dev"
40
+ Requires-Dist: build>=1.0.0; extra == "dev"
41
+ Provides-Extra: server
42
+ Requires-Dist: fastapi>=0.110.0; extra == "server"
43
+ Requires-Dist: uvicorn[standard]>=0.29.0; extra == "server"
44
+ Requires-Dist: httpx>=0.27.0; extra == "server"
45
+ Requires-Dist: pydantic-settings>=2.0.0; extra == "server"
46
+ Provides-Extra: dashboard
47
+ Requires-Dist: actshield[cli,server]; extra == "dashboard"
48
+ Provides-Extra: openai
49
+ Requires-Dist: openai>=1.30.0; extra == "openai"
50
+ Provides-Extra: gemini
51
+ Requires-Dist: google-generativeai>=0.7.0; extra == "gemini"
52
+ Provides-Extra: anthropic
53
+ Requires-Dist: anthropic>=0.28.0; extra == "anthropic"
54
+ Provides-Extra: ollama
55
+ Requires-Dist: httpx>=0.27.0; extra == "ollama"
56
+ Provides-Extra: all
57
+ Requires-Dist: actshield[anthropic,cli,gemini,ollama,openai,server]; extra == "all"
58
+
59
+ # ActShield
60
+
61
+ **The Deterministic AI Security Control Plane & Zero-Trust Reference Monitor for Autonomous and Multi-Agent Systems**
62
+
63
+ [![PyPI Version](https://img.shields.io/pypi/v/actshield.svg)](https://pypi.org/project/actshield/)
64
+ [![Python Version](https://img.shields.io/pypi/pyversions/actshield.svg)](https://pypi.org/project/actshield/)
65
+ [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://github.com/agentguard/agentguard/blob/main/LICENSE)
66
+ [![Security Invariant](https://img.shields.io/badge/Security_Invariant-Deterministic_Enforcement-emerald.svg)](https://github.com/agentguard/agentguard)
67
+
68
+ ---
69
+
70
+ ## 1. Executive Summary
71
+
72
+ **ActShield** is an open-source, enterprise-grade **AI Security Control Plane and Zero-Trust Reference Monitor** designed specifically for autonomous and multi-agent AI ecosystems (LangChain, CrewAI, AutoGen, LlamaIndex, and custom agent runtimes).
73
+
74
+ As AI agents evolve from passive conversational bots into autonomous software actors capable of reading arbitrary documents, querying production databases, browsing the open web, invoking APIs, and delegating sub-tasks, standard application security controls (firewalls, WAFs, and static IAM) become insufficient.
75
+
76
+ ActShield bridges this fundamental security gap by establishing an active runtime control boundary around agents, ensuring that:
77
+ - **Every action is authenticated** against the agent's explicit, declared capabilities.
78
+ - **Privileges strictly diminish** across delegation trees (monotonicity).
79
+ - **Context tainted by untrusted sources** cannot flow into sensitive execution sinks.
80
+ - **Decisions are deterministic**: Advisory AI reasoners provide risk scores, but **deterministic policy code** renders the final authorization.
81
+
82
+ ---
83
+
84
+ ## 2. The Core Invariant
85
+
86
+ $$\mathbf{LLMs\ Reason;\ Deterministic\ Policies\ Enforce.}$$
87
+
88
+ ActShield enforces a strict architectural division:
89
+
90
+ - **The Advisory Intelligence Layer (AI Secura / Pluggable LLMs)**: Evaluates semantic intent, calculates APIRIS risk metrics, and detects behavioral drift across OpenAI, Gemini, Anthropic, Ollama, Hugging Face, and custom models.
91
+ - **The Deterministic Policy Layer**: Checks capability tokens, verifies context taint markers, assesses delegation boundaries, and enforces binary execution decisions (`ALLOW`, `MONITOR`, `HITL`, `QUARANTINE`, `BLOCK`, `REVOKE`).
92
+
93
+ > **Fail-Safe Guarantee**: If an AI provider encounters a timeout, network failure, or malformed response, ActShield deterministically falls back to **FAIL_CLOSED** (or triggers Human-in-the-Loop review). An AI failure never defaults to an open execution grant.
94
+
95
+ ---
96
+
97
+ ## 3. The 4 MANTA Foundational Principles
98
+
99
+ | Principle | Description |
100
+ |---|---|
101
+ | **1. Monotonic Authority** | $\text{Authority}(\text{Child}) \subseteq \text{Authority}(\text{Parent}) \subseteq \text{DeclaredAuthority}$. Privileges strictly diminish down delegation trees. |
102
+ | **2. Attributable Context Taint** | Untrusted context is tagged `TAINTED`. Tainted contexts cannot trigger sensitive database sinks, shells, or credential access without sanitization. |
103
+ | **3. Non-Bypassable Interception** | Reference monitor intercepts all tool invocations before execution. |
104
+ | **4. Transparent Forensic Causality** | Immutable, correlated traces recording who, what, when, why across 5 stages: `INTENDED` → `REQUESTED` → `ALLOWED` → `ATTEMPTED` → `EXECUTED`. |
105
+
106
+ ---
107
+
108
+ ## 4. Architecture Overview
109
+
110
+ ```
111
+ Autonomous AI Agents
112
+ (LangChain, CrewAI, AutoGen, LlamaIndex, Custom)
113
+ │
114
+ ▼
115
+ ┌──────────────────────────────────────────────────────────────────────────┐
116
+ │ ActShield Core SDK │
117
+ │ ┌───────────────────────┐ ┌──────────────────────┐ ┌──────────────────┐ │
118
+ │ │ Agent Registry │ │ Delegation Monotonic │ │ Context Taint │ │
119
+ │ │ (Cryptographic ID) │ │ Authority Manager │ │ Provenance │ │
120
+ │ └───────────────────────┘ └──────────────────────┘ └──────────────────┘ │
121
+ │ ┌───────────────────────┐ ┌──────────────────────┐ ┌──────────────────┐ │
122
+ │ │ MCP Security Gateway │ │ HTTP Security Proxy │ │ Tool Interceptor │ │
123
+ │ └───────────────────────┘ └──────────────────────┘ └──────────────────┘ │
124
+ └─────────────────────────────────────┬────────────────────────────────────┘
125
+ │
126
+ ▼
127
+ ┌──────────────────────────────────────────────────────────────────────────┐
128
+ │ Security Intelligence Layer │
129
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
130
+ │ │ Pluggable AI Secura Reasoners (OpenAI / Gemini / Anthropic / Ollama)│ │
131
+ │ └────────────────────────────────────────────────────────────────────┘ │
132
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
133
+ │ │ APIRIS (API Risk Intelligence Engine) + Baseline Drift Tracker │ │
134
+ │ └────────────────────────────────────────────────────────────────────┘ │
135
+ └─────────────────────────────────────┬────────────────────────────────────┘
136
+ │
137
+ ▼
138
+ ┌──────────────────────────────────────────────────────────────────────────┐
139
+ │ Deterministic Policy Evaluator │
140
+ │ │
141
+ │ ALLOW │ MONITOR │ HITL │ QUARANTINE │ BLOCK │ REVOKE │
142
+ └─────────────────────────────────────┬────────────────────────────────────┘
143
+ │
144
+ ▼
145
+ ┌──────────────────────────────────────────────────────────────────────────┐
146
+ │ Evidence & Operational Plane │
147
+ │ ┌───────────────────┐ ┌──────────────────┐ ┌───────────────────────┐ │
148
+ │ │ Causal Forensics │ │ Incident Engine │ │ Continuous Posture │ │
149
+ │ │ & Trace Replay │ │ (7-Stage Cycle) │ │ Scorecard (6 Dims) │ │
150
+ │ └───────────────────┘ └──────────────────┘ └───────────────────────┘ │
151
+ │ ┌───────────────────┐ ┌──────────────────┐ ┌───────────────────────┐ │
152
+ │ │ Threat Modeling │ │ CI/CD Quality │ │ Embedded Next.js │ │
153
+ │ │ (STRIDE + AI) │ │ Security Gates │ │ Control Plane UI │ │
154
+ │ └───────────────────┘ └──────────────────┘ └───────────────────────┘ │
155
+ └──────────────────────────────────────────────────────────────────────────┘
156
+ ```
157
+
158
+ ---
159
+
160
+ ## 5. Installation
161
+
162
+ ```bash
163
+ # Core package
164
+ pip install actshield
165
+
166
+ # With optional AI intelligence provider support
167
+ pip install actshield[openai]
168
+ pip install actshield[gemini]
169
+ pip install actshield[anthropic]
170
+ pip install actshield[ollama]
171
+
172
+ # Full enterprise suite (CLI + FastAPI Server + All Providers)
173
+ pip install actshield[all]
174
+ ```
175
+
176
+ ---
177
+
178
+ ## 6. Quick Start
179
+
180
+ ### Python SDK
181
+
182
+ ```python
183
+ import asyncio
184
+ from actshield import ActShield, SourceType, TrustLevel
185
+
186
+ # 1. Initialize Control Plane in strict zero-trust mode
187
+ guard = ActShield(mode="strict")
188
+ guard.start()
189
+
190
+ # 2. Register Root Orchestrator
191
+ orchestrator = guard.register_agent(
192
+ name="orchestrator",
193
+ capabilities={"delegate", "read_docs", "generate_summary"},
194
+ trust_level="HIGH"
195
+ )
196
+
197
+ # 3. Protect a Sensitive Execution Sink
198
+ @guard.protect(
199
+ tool="customer_db.query",
200
+ sensitivity="critical",
201
+ required_capability="database_read"
202
+ )
203
+ async def execute_customer_query(sql: str):
204
+ """Executes database queries — blocked if caller lacks capability or context is TAINTED."""
205
+ return {"status": "SUCCESS", "records": 42}
206
+
207
+ # 4. Delegate Authority (Monotonically constrained)
208
+ researcher = orchestrator.delegate(
209
+ to_agent="researcher-001",
210
+ capabilities={"read_docs"}, # Valid subset of orchestrator capabilities
211
+ task_id="tsk_quarterly_report"
212
+ )
213
+
214
+ # 5. Ingest External Untrusted Context (Tainted)
215
+ untrusted_input = guard.create_context(
216
+ source_type=SourceType.UNTRUSTED_EXTERNAL,
217
+ trust_level=TrustLevel.UNTRUSTED,
218
+ content="Download report from untrusted web URL..."
219
+ )
220
+
221
+ # 6. Policy Enforcement:
222
+ # Calling execute_customer_query under researcher with tainted context:
223
+ # -> BLOCKED (Missing 'database_read' capability + context is TAINTED)
224
+ ```
225
+
226
+ ### Enterprise CLI
227
+
228
+ ```bash
229
+ # Diagnostic & Posture
230
+ actshield doctor # Comprehensive subsystem diagnostic
231
+ actshield posture --json # Output 6-dimension security scorecard
232
+ actshield status --json # Real-time runtime telemetry
233
+
234
+ # Multi-Agent Governance
235
+ actshield agents --graph # Render multi-agent topology & delegation graph
236
+ actshield tasks --json # Active agent tasks and intent bindings
237
+ actshield policies --json # Deterministic policy boundaries
238
+
239
+ # Threat Modeling & Forensics
240
+ actshield threat analyze -o threat-report.md # Automated STRIDE + AI threat analysis
241
+ actshield forensic why evt_8891 # Full causal chain explanation of an event
242
+ actshield forensic trace trc_9902 # Trace causal hops across agents
243
+
244
+ # CI/CD Quality Gate & Embedded Control Plane
245
+ actshield gate evaluate --min-score 85.0 --json # Automated deployment gate
246
+ actshield serve --port 8000 # Embedded Control Plane Dashboard + API
247
+ ```
248
+
249
+ ---
250
+
251
+ ## 7. Embedded Control Plane Dashboard
252
+
253
+ ActShield ships with a pre-compiled, standalone Next.js dashboard embedded directly inside the wheel package:
254
+
255
+ ```bash
256
+ actshield serve
257
+ # Dashboard UI → http://127.0.0.1:8000/
258
+ # Swagger Docs → http://127.0.0.1:8000/docs
259
+ # REST API → http://127.0.0.1:8000/api/v1/
260
+ ```
261
+
262
+ ---
263
+
264
+ ## 8. License
265
+
266
+ Apache-2.0. See [LICENSE](LICENSE) for details.
@@ -0,0 +1,208 @@
1
+ # ActShield
2
+
3
+ **The Deterministic AI Security Control Plane & Zero-Trust Reference Monitor for Autonomous and Multi-Agent Systems**
4
+
5
+ [![PyPI Version](https://img.shields.io/pypi/v/actshield.svg)](https://pypi.org/project/actshield/)
6
+ [![Python Version](https://img.shields.io/pypi/pyversions/actshield.svg)](https://pypi.org/project/actshield/)
7
+ [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://github.com/agentguard/agentguard/blob/main/LICENSE)
8
+ [![Security Invariant](https://img.shields.io/badge/Security_Invariant-Deterministic_Enforcement-emerald.svg)](https://github.com/agentguard/agentguard)
9
+
10
+ ---
11
+
12
+ ## 1. Executive Summary
13
+
14
+ **ActShield** is an open-source, enterprise-grade **AI Security Control Plane and Zero-Trust Reference Monitor** designed specifically for autonomous and multi-agent AI ecosystems (LangChain, CrewAI, AutoGen, LlamaIndex, and custom agent runtimes).
15
+
16
+ As AI agents evolve from passive conversational bots into autonomous software actors capable of reading arbitrary documents, querying production databases, browsing the open web, invoking APIs, and delegating sub-tasks, standard application security controls (firewalls, WAFs, and static IAM) become insufficient.
17
+
18
+ ActShield bridges this fundamental security gap by establishing an active runtime control boundary around agents, ensuring that:
19
+ - **Every action is authenticated** against the agent's explicit, declared capabilities.
20
+ - **Privileges strictly diminish** across delegation trees (monotonicity).
21
+ - **Context tainted by untrusted sources** cannot flow into sensitive execution sinks.
22
+ - **Decisions are deterministic**: Advisory AI reasoners provide risk scores, but **deterministic policy code** renders the final authorization.
23
+
24
+ ---
25
+
26
+ ## 2. The Core Invariant
27
+
28
+ $$\mathbf{LLMs\ Reason;\ Deterministic\ Policies\ Enforce.}$$
29
+
30
+ ActShield enforces a strict architectural division:
31
+
32
+ - **The Advisory Intelligence Layer (AI Secura / Pluggable LLMs)**: Evaluates semantic intent, calculates APIRIS risk metrics, and detects behavioral drift across OpenAI, Gemini, Anthropic, Ollama, Hugging Face, and custom models.
33
+ - **The Deterministic Policy Layer**: Checks capability tokens, verifies context taint markers, assesses delegation boundaries, and enforces binary execution decisions (`ALLOW`, `MONITOR`, `HITL`, `QUARANTINE`, `BLOCK`, `REVOKE`).
34
+
35
+ > **Fail-Safe Guarantee**: If an AI provider encounters a timeout, network failure, or malformed response, ActShield deterministically falls back to **FAIL_CLOSED** (or triggers Human-in-the-Loop review). An AI failure never defaults to an open execution grant.
36
+
37
+ ---
38
+
39
+ ## 3. The 4 MANTA Foundational Principles
40
+
41
+ | Principle | Description |
42
+ |---|---|
43
+ | **1. Monotonic Authority** | $\text{Authority}(\text{Child}) \subseteq \text{Authority}(\text{Parent}) \subseteq \text{DeclaredAuthority}$. Privileges strictly diminish down delegation trees. |
44
+ | **2. Attributable Context Taint** | Untrusted context is tagged `TAINTED`. Tainted contexts cannot trigger sensitive database sinks, shells, or credential access without sanitization. |
45
+ | **3. Non-Bypassable Interception** | Reference monitor intercepts all tool invocations before execution. |
46
+ | **4. Transparent Forensic Causality** | Immutable, correlated traces recording who, what, when, why across 5 stages: `INTENDED` → `REQUESTED` → `ALLOWED` → `ATTEMPTED` → `EXECUTED`. |
47
+
48
+ ---
49
+
50
+ ## 4. Architecture Overview
51
+
52
+ ```
53
+ Autonomous AI Agents
54
+ (LangChain, CrewAI, AutoGen, LlamaIndex, Custom)
55
+ │
56
+ ▼
57
+ ┌──────────────────────────────────────────────────────────────────────────┐
58
+ │ ActShield Core SDK │
59
+ │ ┌───────────────────────┐ ┌──────────────────────┐ ┌──────────────────┐ │
60
+ │ │ Agent Registry │ │ Delegation Monotonic │ │ Context Taint │ │
61
+ │ │ (Cryptographic ID) │ │ Authority Manager │ │ Provenance │ │
62
+ │ └───────────────────────┘ └──────────────────────┘ └──────────────────┘ │
63
+ │ ┌───────────────────────┐ ┌──────────────────────┐ ┌──────────────────┐ │
64
+ │ │ MCP Security Gateway │ │ HTTP Security Proxy │ │ Tool Interceptor │ │
65
+ │ └───────────────────────┘ └──────────────────────┘ └──────────────────┘ │
66
+ └─────────────────────────────────────┬────────────────────────────────────┘
67
+ │
68
+ ▼
69
+ ┌──────────────────────────────────────────────────────────────────────────┐
70
+ │ Security Intelligence Layer │
71
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
72
+ │ │ Pluggable AI Secura Reasoners (OpenAI / Gemini / Anthropic / Ollama)│ │
73
+ │ └────────────────────────────────────────────────────────────────────┘ │
74
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
75
+ │ │ APIRIS (API Risk Intelligence Engine) + Baseline Drift Tracker │ │
76
+ │ └────────────────────────────────────────────────────────────────────┘ │
77
+ └─────────────────────────────────────┬────────────────────────────────────┘
78
+ │
79
+ ▼
80
+ ┌──────────────────────────────────────────────────────────────────────────┐
81
+ │ Deterministic Policy Evaluator │
82
+ │ │
83
+ │ ALLOW │ MONITOR │ HITL │ QUARANTINE │ BLOCK │ REVOKE │
84
+ └─────────────────────────────────────┬────────────────────────────────────┘
85
+ │
86
+ ▼
87
+ ┌──────────────────────────────────────────────────────────────────────────┐
88
+ │ Evidence & Operational Plane │
89
+ │ ┌───────────────────┐ ┌──────────────────┐ ┌───────────────────────┐ │
90
+ │ │ Causal Forensics │ │ Incident Engine │ │ Continuous Posture │ │
91
+ │ │ & Trace Replay │ │ (7-Stage Cycle) │ │ Scorecard (6 Dims) │ │
92
+ │ └───────────────────┘ └──────────────────┘ └───────────────────────┘ │
93
+ │ ┌───────────────────┐ ┌──────────────────┐ ┌───────────────────────┐ │
94
+ │ │ Threat Modeling │ │ CI/CD Quality │ │ Embedded Next.js │ │
95
+ │ │ (STRIDE + AI) │ │ Security Gates │ │ Control Plane UI │ │
96
+ │ └───────────────────┘ └──────────────────┘ └───────────────────────┘ │
97
+ └──────────────────────────────────────────────────────────────────────────┘
98
+ ```
99
+
100
+ ---
101
+
102
+ ## 5. Installation
103
+
104
+ ```bash
105
+ # Core package
106
+ pip install actshield
107
+
108
+ # With optional AI intelligence provider support
109
+ pip install actshield[openai]
110
+ pip install actshield[gemini]
111
+ pip install actshield[anthropic]
112
+ pip install actshield[ollama]
113
+
114
+ # Full enterprise suite (CLI + FastAPI Server + All Providers)
115
+ pip install actshield[all]
116
+ ```
117
+
118
+ ---
119
+
120
+ ## 6. Quick Start
121
+
122
+ ### Python SDK
123
+
124
+ ```python
125
+ import asyncio
126
+ from actshield import ActShield, SourceType, TrustLevel
127
+
128
+ # 1. Initialize Control Plane in strict zero-trust mode
129
+ guard = ActShield(mode="strict")
130
+ guard.start()
131
+
132
+ # 2. Register Root Orchestrator
133
+ orchestrator = guard.register_agent(
134
+ name="orchestrator",
135
+ capabilities={"delegate", "read_docs", "generate_summary"},
136
+ trust_level="HIGH"
137
+ )
138
+
139
+ # 3. Protect a Sensitive Execution Sink
140
+ @guard.protect(
141
+ tool="customer_db.query",
142
+ sensitivity="critical",
143
+ required_capability="database_read"
144
+ )
145
+ async def execute_customer_query(sql: str):
146
+ """Executes database queries — blocked if caller lacks capability or context is TAINTED."""
147
+ return {"status": "SUCCESS", "records": 42}
148
+
149
+ # 4. Delegate Authority (Monotonically constrained)
150
+ researcher = orchestrator.delegate(
151
+ to_agent="researcher-001",
152
+ capabilities={"read_docs"}, # Valid subset of orchestrator capabilities
153
+ task_id="tsk_quarterly_report"
154
+ )
155
+
156
+ # 5. Ingest External Untrusted Context (Tainted)
157
+ untrusted_input = guard.create_context(
158
+ source_type=SourceType.UNTRUSTED_EXTERNAL,
159
+ trust_level=TrustLevel.UNTRUSTED,
160
+ content="Download report from untrusted web URL..."
161
+ )
162
+
163
+ # 6. Policy Enforcement:
164
+ # Calling execute_customer_query under researcher with tainted context:
165
+ # -> BLOCKED (Missing 'database_read' capability + context is TAINTED)
166
+ ```
167
+
168
+ ### Enterprise CLI
169
+
170
+ ```bash
171
+ # Diagnostic & Posture
172
+ actshield doctor # Comprehensive subsystem diagnostic
173
+ actshield posture --json # Output 6-dimension security scorecard
174
+ actshield status --json # Real-time runtime telemetry
175
+
176
+ # Multi-Agent Governance
177
+ actshield agents --graph # Render multi-agent topology & delegation graph
178
+ actshield tasks --json # Active agent tasks and intent bindings
179
+ actshield policies --json # Deterministic policy boundaries
180
+
181
+ # Threat Modeling & Forensics
182
+ actshield threat analyze -o threat-report.md # Automated STRIDE + AI threat analysis
183
+ actshield forensic why evt_8891 # Full causal chain explanation of an event
184
+ actshield forensic trace trc_9902 # Trace causal hops across agents
185
+
186
+ # CI/CD Quality Gate & Embedded Control Plane
187
+ actshield gate evaluate --min-score 85.0 --json # Automated deployment gate
188
+ actshield serve --port 8000 # Embedded Control Plane Dashboard + API
189
+ ```
190
+
191
+ ---
192
+
193
+ ## 7. Embedded Control Plane Dashboard
194
+
195
+ ActShield ships with a pre-compiled, standalone Next.js dashboard embedded directly inside the wheel package:
196
+
197
+ ```bash
198
+ actshield serve
199
+ # Dashboard UI → http://127.0.0.1:8000/
200
+ # Swagger Docs → http://127.0.0.1:8000/docs
201
+ # REST API → http://127.0.0.1:8000/api/v1/
202
+ ```
203
+
204
+ ---
205
+
206
+ ## 8. License
207
+
208
+ Apache-2.0. See [LICENSE](LICENSE) for details.
@@ -135,7 +135,7 @@ from actshield.tracing.correlation import (
135
135
  from actshield.tracing.events import EventType, SecurityEvent
136
136
  from actshield.tracing.tracer import CausalEdge, CausalGraph, CausalNode, TraceManager
137
137
 
138
- __version__ = "0.9.0"
138
+ __version__ = "0.9.1"
139
139
 
140
140
  # Phase 6.5 — Forensic Intelligence + Product API
141
141
  from actshield.forensics.service import ForensicService
@@ -95,10 +95,11 @@ def cmd_status(
95
95
  ) -> None:
96
96
  """Display overall system security status and posture rating."""
97
97
  if as_json:
98
+ from actshield import __version__
98
99
  payload = {
99
100
  "runtime": "ONLINE",
100
101
  "mode": "STRICT",
101
- "version": "0.9.0",
102
+ "version": __version__,
102
103
  "posture": {"score": 100.0, "grade": "A", "status": "HEALTHY"},
103
104
  "identity": {"active_agents": 3, "protected_tools": 37, "active_tasks": 47},
104
105
  "enforcement": {"allow": 421, "hitl": 4, "block": 17, "quarantine": 1, "bypasses": 0},
@@ -762,11 +763,12 @@ def cmd_report(
762
763
  ) -> None:
763
764
  """Generate comprehensive AgentGuard security audit and posture report."""
764
765
  from actshield.client import ActShield
766
+ from actshield import __version__
765
767
  guard = ActShield()
766
768
  posture = guard.get_security_posture()
767
- content = f"""# AgentGuard Enterprise Security Report
769
+ content = f"""# ActShield Enterprise Security Report
768
770
  Generated: {datetime.now(timezone.utc).isoformat()}
769
- System Version: 0.9.0
771
+ System Version: {__version__}
770
772
  Status: ACTIVE / STRICT
771
773
 
772
774
  ## 1. Posture Scorecard