hackagent 0.10.0__tar.gz → 0.11.0__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 (412) hide show
  1. {hackagent-0.10.0 → hackagent-0.11.0}/.gitignore +5 -1
  2. {hackagent-0.10.0 → hackagent-0.11.0}/PKG-INFO +8 -3
  3. {hackagent-0.10.0 → hackagent-0.11.0}/README.md +5 -1
  4. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/agent.py +30 -4
  5. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/__init__.py +4 -2
  6. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/evaluator/base.py +18 -13
  7. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/evaluator/evaluation_step.py +390 -112
  8. hackagent-0.11.0/hackagent/attacks/evaluator/inline_step_judge.py +173 -0
  9. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/evaluator/metrics.py +33 -6
  10. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/evaluator/sync.py +6 -4
  11. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/objectives/__init__.py +2 -0
  12. hackagent-0.11.0/hackagent/attacks/objectives/rag.py +55 -0
  13. hackagent-0.11.0/hackagent/attacks/orchestrator.py +1991 -0
  14. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/registry.py +25 -4
  15. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/shared/__init__.py +10 -0
  16. hackagent-0.11.0/hackagent/attacks/shared/guardrail.py +256 -0
  17. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/shared/prompt_parser.py +1 -2
  18. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/shared/response_utils.py +34 -2
  19. hackagent-0.11.0/hackagent/attacks/shared/translation.py +144 -0
  20. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/advprefix/attack.py +1 -0
  21. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/advprefix/completions.py +32 -6
  22. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/advprefix/config.py +4 -2
  23. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/advprefix/evaluation.py +6 -0
  24. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/attack.py +30 -0
  25. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/config.py +8 -6
  26. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/core.py +17 -1
  27. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/base.py +29 -1
  28. hackagent-0.11.0/hackagent/attacks/techniques/baseline/__init__.py +13 -0
  29. hackagent-0.11.0/hackagent/attacks/techniques/baseline/attack.py +195 -0
  30. hackagent-0.11.0/hackagent/attacks/techniques/baseline/config.py +16 -0
  31. hackagent-0.11.0/hackagent/attacks/techniques/baseline/generation.py +188 -0
  32. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/bon/evaluation.py +7 -36
  33. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/bon/generation.py +36 -149
  34. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/cipherchat/evaluation.py +1 -12
  35. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/cipherchat/generation.py +13 -4
  36. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/config.py +67 -15
  37. hackagent-0.11.0/hackagent/attacks/techniques/fc/__init__.py +19 -0
  38. hackagent-0.11.0/hackagent/attacks/techniques/fc/attack.py +465 -0
  39. hackagent-0.11.0/hackagent/attacks/techniques/fc/config.py +190 -0
  40. hackagent-0.11.0/hackagent/attacks/techniques/fc/evaluation.py +181 -0
  41. hackagent-0.11.0/hackagent/attacks/techniques/fc/flowchart_renderer.py +688 -0
  42. hackagent-0.11.0/hackagent/attacks/techniques/fc/generation.py +606 -0
  43. hackagent-0.11.0/hackagent/attacks/techniques/fc/prompts.py +84 -0
  44. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/flipattack/attack.py +2 -1
  45. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/flipattack/evaluation.py +3 -13
  46. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/flipattack/generation.py +20 -6
  47. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/h4rm3l/attack.py +56 -17
  48. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/h4rm3l/decorators.py +21 -0
  49. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/h4rm3l/evaluation.py +1 -12
  50. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/h4rm3l/generation.py +27 -19
  51. hackagent-0.11.0/hackagent/attacks/techniques/indirect_prompt_injection/attack.py +1400 -0
  52. hackagent-0.11.0/hackagent/attacks/techniques/indirect_prompt_injection/config.py +214 -0
  53. hackagent-0.11.0/hackagent/attacks/techniques/mml/__init__.py +18 -0
  54. hackagent-0.11.0/hackagent/attacks/techniques/mml/attack.py +337 -0
  55. hackagent-0.11.0/hackagent/attacks/techniques/mml/config.py +115 -0
  56. hackagent-0.11.0/hackagent/attacks/techniques/mml/evaluation.py +220 -0
  57. hackagent-0.11.0/hackagent/attacks/techniques/mml/generation.py +288 -0
  58. hackagent-0.11.0/hackagent/attacks/techniques/mml/image_encoder.py +461 -0
  59. hackagent-0.11.0/hackagent/attacks/techniques/mml/prompts.py +434 -0
  60. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pair/attack.py +89 -9
  61. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pair/config.py +6 -2
  62. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pap/evaluation.py +6 -42
  63. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pap/generation.py +35 -139
  64. hackagent-0.11.0/hackagent/attacks/techniques/rag/__init__.py +6 -0
  65. hackagent-0.11.0/hackagent/attacks/techniques/rag/attack.py +1396 -0
  66. hackagent-0.11.0/hackagent/attacks/techniques/rag/config.py +210 -0
  67. {hackagent-0.10.0/hackagent/attacks/techniques/baseline → hackagent-0.11.0/hackagent/attacks/techniques/static_template}/__init__.py +4 -4
  68. {hackagent-0.10.0/hackagent/attacks/techniques/baseline → hackagent-0.11.0/hackagent/attacks/techniques/static_template}/attack.py +47 -21
  69. {hackagent-0.10.0/hackagent/attacks/techniques/baseline → hackagent-0.11.0/hackagent/attacks/techniques/static_template}/config.py +3 -3
  70. {hackagent-0.10.0/hackagent/attacks/techniques/baseline → hackagent-0.11.0/hackagent/attacks/techniques/static_template}/evaluation.py +39 -20
  71. {hackagent-0.10.0/hackagent/attacks/techniques/baseline → hackagent-0.11.0/hackagent/attacks/techniques/static_template}/generation.py +17 -9
  72. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/tap/attack.py +35 -0
  73. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/tap/evaluation.py +2 -1
  74. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/tap/generation.py +35 -10
  75. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/commands/attack.py +425 -16
  76. hackagent-0.11.0/hackagent/cli/commands/claude.py +288 -0
  77. hackagent-0.11.0/hackagent/cli/commands/scan.py +711 -0
  78. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/commands/web.py +31 -38
  79. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/main.py +49 -4
  80. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/app.py +84 -11
  81. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/attack_specs.py +259 -7
  82. hackagent-0.11.0/hackagent/cli/tui/events.py +150 -0
  83. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/logger.py +8 -51
  84. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/views/attacks.py +219 -49
  85. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/widgets/actions.py +160 -0
  86. hackagent-0.11.0/hackagent/cli/tui/widgets/clipboard.py +127 -0
  87. hackagent-0.11.0/hackagent/cli/tui/widgets/logs.py +445 -0
  88. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/utils.py +10 -0
  89. hackagent-0.11.0/hackagent/config.py +91 -0
  90. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/datasets/__init__.py +8 -0
  91. hackagent-0.11.0/hackagent/datasets/intents.py +349 -0
  92. hackagent-0.11.0/hackagent/datasets/omnisafebench/dataset.json +8153 -0
  93. hackagent-0.11.0/hackagent/examples/claude/README.md +118 -0
  94. hackagent-0.11.0/hackagent/examples/claude/hack_claude.py +86 -0
  95. hackagent-0.11.0/hackagent/examples/claude/hack_ollama.py +80 -0
  96. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/google_adk/jailbreak_eval/hack.py +3 -3
  97. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/langchain/rag/README.md +1 -1
  98. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/langchain/rag/agent_client.py +6 -4
  99. hackagent-0.11.0/hackagent/examples/litellm_multi_provider/README.md +52 -0
  100. hackagent-0.11.0/hackagent/examples/litellm_multi_provider/demo.py +245 -0
  101. hackagent-0.11.0/hackagent/examples/rag/.gitignore +2 -0
  102. hackagent-0.11.0/hackagent/examples/rag/test_data/gender_studies_overview.txt +73 -0
  103. hackagent-0.11.0/hackagent/examples/rag/test_indirect_injection.py +198 -0
  104. hackagent-0.11.0/hackagent/examples/web/README.md +99 -0
  105. hackagent-0.11.0/hackagent/examples/web/hack.py +95 -0
  106. hackagent-0.11.0/hackagent/examples/web/plan.py +45 -0
  107. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/craft_adversarial_data/profile.py +2 -2
  108. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/credential_exposure/profile.py +2 -2
  109. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/excessive_agency/profile.py +2 -2
  110. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/malicious_tool_invocation/profile.py +2 -2
  111. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/misinformation/profile.py +2 -2
  112. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/profile_helpers.py +4 -4
  113. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/public_facing_application_exploitation/profile.py +2 -2
  114. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/vector_embedding_weaknesses_exploit/profile.py +2 -2
  115. hackagent-0.11.0/hackagent/router/__init__.py +30 -0
  116. hackagent-0.11.0/hackagent/router/_chat_registration.py +193 -0
  117. hackagent-0.10.0/hackagent/router/adapters/base.py → hackagent-0.11.0/hackagent/router/agent.py +45 -96
  118. hackagent-0.11.0/hackagent/router/discovery/__init__.py +53 -0
  119. hackagent-0.11.0/hackagent/router/discovery/browser.py +350 -0
  120. hackagent-0.11.0/hackagent/router/discovery/scanner.py +483 -0
  121. hackagent-0.11.0/hackagent/router/envelope.py +344 -0
  122. hackagent-0.11.0/hackagent/router/provider_config.py +153 -0
  123. hackagent-0.11.0/hackagent/router/providers/adk.py +540 -0
  124. hackagent-0.11.0/hackagent/router/providers/claude.py +509 -0
  125. hackagent-0.11.0/hackagent/router/providers/web.py +868 -0
  126. hackagent-0.11.0/hackagent/router/router.py +814 -0
  127. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/router/tracking/category_classifier.py +142 -3
  128. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/router/tracking/context.py +3 -0
  129. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/router/tracking/coordinator.py +91 -1
  130. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/router/tracking/step.py +66 -2
  131. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/router/tracking/tracker.py +128 -7
  132. hackagent-0.11.0/hackagent/router/tracking_logger.py +246 -0
  133. hackagent-0.11.0/hackagent/router/types.py +123 -0
  134. hackagent-0.11.0/hackagent/server/__init__.py +0 -0
  135. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/models.py +2 -2
  136. hackagent-0.11.0/hackagent/server/dashboard/_analysis_data_mixin.py +716 -0
  137. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/dashboard/_components.py +2 -1
  138. hackagent-0.11.0/hackagent/server/dashboard/_constants.py +30 -0
  139. hackagent-0.11.0/hackagent/server/dashboard/_data_mixin.py +800 -0
  140. hackagent-0.11.0/hackagent/server/dashboard/_layout_mixin.py +832 -0
  141. hackagent-0.11.0/hackagent/server/dashboard/_page.py +258 -0
  142. hackagent-0.11.0/hackagent/server/dashboard/_reports_mixin.py +973 -0
  143. hackagent-0.11.0/hackagent/server/dashboard/_result_detail_mixin.py +799 -0
  144. hackagent-0.11.0/hackagent/server/dashboard/_run_history_results_mixin.py +1494 -0
  145. hackagent-0.11.0/hackagent/server/dashboard/_run_results_mixin.py +1284 -0
  146. hackagent-0.11.0/hackagent/server/dashboard/_runs_mixin.py +985 -0
  147. hackagent-0.11.0/hackagent/server/dashboard/_tap_trace_mixin.py +723 -0
  148. hackagent-0.11.0/hackagent/server/dashboard/_trace_analysis_mixin.py +576 -0
  149. hackagent-0.11.0/hackagent/server/dashboard/_trace_render_mixin.py +1295 -0
  150. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/__init__.py +21 -0
  151. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_advprefix.py +505 -0
  152. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_autodan.py +503 -0
  153. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_bon.py +327 -0
  154. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_fc.py +268 -0
  155. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_generic.py +232 -0
  156. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_mml.py +245 -0
  157. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_pair.py +194 -0
  158. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_pap.py +244 -0
  159. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_shared.py +379 -0
  160. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_static_template.py +359 -0
  161. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_tap.py +404 -0
  162. hackagent-0.11.0/hackagent/server/dashboard/attack_cards/_tfc.py +209 -0
  163. hackagent-0.11.0/hackagent/server/storage/__init__.py +0 -0
  164. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/storage/base.py +9 -0
  165. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/storage/local.py +3 -0
  166. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/storage/remote.py +147 -35
  167. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/utils.py +6 -0
  168. {hackagent-0.10.0 → hackagent-0.11.0}/pyproject.toml +8 -6
  169. hackagent-0.10.0/hackagent/attacks/orchestrator.py +0 -916
  170. hackagent-0.10.0/hackagent/cli/commands/scan.py +0 -335
  171. hackagent-0.10.0/hackagent/cli/tui/actions_logger.py +0 -189
  172. hackagent-0.10.0/hackagent/cli/tui/views/dashboard.py +0 -352
  173. hackagent-0.10.0/hackagent/cli/tui/widgets/logs.py +0 -400
  174. hackagent-0.10.0/hackagent/router/__init__.py +0 -20
  175. hackagent-0.10.0/hackagent/router/adapters/__init__.py +0 -46
  176. hackagent-0.10.0/hackagent/router/adapters/google_adk.py +0 -671
  177. hackagent-0.10.0/hackagent/router/adapters/litellm.py +0 -434
  178. hackagent-0.10.0/hackagent/router/adapters/ollama.py +0 -522
  179. hackagent-0.10.0/hackagent/router/adapters/openai.py +0 -500
  180. hackagent-0.10.0/hackagent/router/router.py +0 -460
  181. hackagent-0.10.0/hackagent/router/types.py +0 -80
  182. hackagent-0.10.0/hackagent/server/dashboard/_page.py +0 -6535
  183. {hackagent-0.10.0 → hackagent-0.11.0}/LICENSE +0 -0
  184. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/__init__.py +0 -0
  185. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/base.py +0 -0
  186. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/evaluator/__init__.py +0 -0
  187. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/evaluator/judge_evaluators.py +0 -0
  188. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/evaluator/pattern_evaluators.py +0 -0
  189. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/generator/__init__.py +0 -0
  190. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/generator/templates.py +0 -0
  191. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/objectives/base.py +0 -0
  192. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/objectives/harmful_behavior.py +0 -0
  193. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/objectives/jailbreak.py +0 -0
  194. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/objectives/policy_violation.py +0 -0
  195. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/shared/progress.py +0 -0
  196. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/shared/router_factory.py +0 -0
  197. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/shared/tui.py +0 -0
  198. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/shared/utils.py +0 -0
  199. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/__init__.py +0 -0
  200. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/advprefix/__init__.py +0 -0
  201. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/advprefix/generate.py +0 -0
  202. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/advprefix/utils.py +0 -0
  203. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/__init__.py +0 -0
  204. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/dashboard_tracing.py +0 -0
  205. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/evaluation.py +0 -0
  206. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/lifelong.py +0 -0
  207. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/log_styles.py +0 -0
  208. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/strategy_library.py +0 -0
  209. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/summarizer.py +0 -0
  210. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/autodan_turbo/warm_up.py +0 -0
  211. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/bon/__init__.py +0 -0
  212. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/bon/attack.py +0 -0
  213. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/bon/config.py +0 -0
  214. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/cipherchat/__init__.py +0 -0
  215. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/cipherchat/attack.py +0 -0
  216. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/cipherchat/config.py +0 -0
  217. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/cipherchat/encode_experts.py +0 -0
  218. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/cipherchat/prompts_and_demonstrations.py +0 -0
  219. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/flipattack/__init__.py +0 -0
  220. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/flipattack/config.py +0 -0
  221. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/h4rm3l/__init__.py +0 -0
  222. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/h4rm3l/config.py +0 -0
  223. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pair/__init__.py +0 -0
  224. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pair/evaluation.py +0 -0
  225. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pap/__init__.py +0 -0
  226. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pap/attack.py +0 -0
  227. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pap/config.py +0 -0
  228. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/pap/taxonomy.py +0 -0
  229. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/tap/__init__.py +0 -0
  230. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/attacks/techniques/tap/config.py +0 -0
  231. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/__init__.py +0 -0
  232. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/commands/__init__.py +0 -0
  233. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/commands/agent.py +0 -0
  234. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/commands/config.py +0 -0
  235. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/commands/examples.py +0 -0
  236. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/commands/results.py +0 -0
  237. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/config.py +0 -0
  238. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/__init__.py +0 -0
  239. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/base.py +0 -0
  240. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/views/__init__.py +0 -0
  241. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/views/agents.py +0 -0
  242. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/views/config.py +0 -0
  243. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/views/results.py +0 -0
  244. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/cli/tui/widgets/__init__.py +0 -0
  245. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/datasets/base.py +0 -0
  246. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/datasets/presets.py +0 -0
  247. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/datasets/providers/__init__.py +0 -0
  248. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/datasets/providers/file.py +0 -0
  249. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/datasets/providers/huggingface.py +0 -0
  250. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/datasets/registry.py +0 -0
  251. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/errors.py +0 -0
  252. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/google_adk/jailbreak_eval/__init__.py +0 -0
  253. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/google_adk/jailbreak_eval/agent.py +0 -0
  254. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/google_adk/multi_tool_agent/__init__.py +0 -0
  255. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/google_adk/multi_tool_agent/agent.py +0 -0
  256. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/google_adk/multi_tool_agent/hack.py +0 -0
  257. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/langchain/rag/agent_server.py +0 -0
  258. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/langchain/rag/hack.py +0 -0
  259. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/langchain/rag/ingest.py +0 -0
  260. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/langchain/rag/policies.pdf +0 -0
  261. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/langchain/rag/read_db.py +0 -0
  262. {hackagent-0.10.0/hackagent/server → hackagent-0.11.0/hackagent/examples/litellm_multi_provider}/__init__.py +0 -0
  263. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/ollama/demo.py +0 -0
  264. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/ollama/hack.py +0 -0
  265. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/ollama/local.py +0 -0
  266. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/multi_judge/README.md +0 -0
  267. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/multi_judge/run_flipattack_multi_judge.py +0 -0
  268. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/pc_tool_sandbox/README.md +0 -0
  269. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/pc_tool_sandbox/agent.py +0 -0
  270. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/pc_tool_sandbox/confidential/db_credentials.txt +0 -0
  271. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/pc_tool_sandbox/hack.py +0 -0
  272. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/quick_evaluation/README.md +0 -0
  273. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/quick_evaluation/run_h4rm3l.py +0 -0
  274. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/rag/README.md +0 -0
  275. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/rag/agent_server.py +0 -0
  276. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/rag/hack.py +0 -0
  277. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/rag/ingest.py +0 -0
  278. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/openai_sdk/rag/policies.pdf +0 -0
  279. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/examples/vllm/hack.py +0 -0
  280. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/logger.py +0 -0
  281. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/__init__.py +0 -0
  282. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/base.py +0 -0
  283. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/craft_adversarial_data/__init__.py +0 -0
  284. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/craft_adversarial_data/types.py +0 -0
  285. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/craft_adversarial_data/vulnerabilities.py +0 -0
  286. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/credential_exposure/__init__.py +0 -0
  287. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/credential_exposure/types.py +0 -0
  288. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/credential_exposure/vulnerabilities.py +0 -0
  289. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/excessive_agency/__init__.py +0 -0
  290. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/excessive_agency/types.py +0 -0
  291. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/excessive_agency/vulnerabilities.py +0 -0
  292. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/input_manipulation_attack/__init__.py +0 -0
  293. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/input_manipulation_attack/profile.py +0 -0
  294. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/input_manipulation_attack/types.py +0 -0
  295. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/input_manipulation_attack/vulnerabilities.py +0 -0
  296. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/jailbreak/__init__.py +0 -0
  297. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/jailbreak/profile.py +0 -0
  298. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/jailbreak/types.py +0 -0
  299. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/jailbreak/vulnerabilities.py +0 -0
  300. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/malicious_tool_invocation/__init__.py +0 -0
  301. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/malicious_tool_invocation/types.py +0 -0
  302. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/malicious_tool_invocation/vulnerabilities.py +0 -0
  303. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/misinformation/__init__.py +0 -0
  304. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/misinformation/types.py +0 -0
  305. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/misinformation/vulnerabilities.py +0 -0
  306. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/model_evasion/__init__.py +0 -0
  307. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/model_evasion/profile.py +0 -0
  308. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/model_evasion/types.py +0 -0
  309. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/model_evasion/vulnerabilities.py +0 -0
  310. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/profile_types.py +0 -0
  311. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/prompt_injection/__init__.py +0 -0
  312. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/prompt_injection/profile.py +0 -0
  313. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/prompt_injection/templates.py +0 -0
  314. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/prompt_injection/types.py +0 -0
  315. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/prompt_injection/vulnerabilities.py +0 -0
  316. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/public_facing_application_exploitation/__init__.py +0 -0
  317. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/public_facing_application_exploitation/types.py +0 -0
  318. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/public_facing_application_exploitation/vulnerabilities.py +0 -0
  319. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/registry.py +0 -0
  320. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/sensitive_information_disclosure/__init__.py +0 -0
  321. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/sensitive_information_disclosure/profile.py +0 -0
  322. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/sensitive_information_disclosure/types.py +0 -0
  323. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/sensitive_information_disclosure/vulnerabilities.py +0 -0
  324. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/system_prompt_leakage/__init__.py +0 -0
  325. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/system_prompt_leakage/profile.py +0 -0
  326. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/system_prompt_leakage/types.py +0 -0
  327. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/system_prompt_leakage/vulnerabilities.py +0 -0
  328. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/utils.py +0 -0
  329. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/vector_embedding_weaknesses_exploit/__init__.py +0 -0
  330. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/vector_embedding_weaknesses_exploit/types.py +0 -0
  331. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/risks/vector_embedding_weaknesses_exploit/vulnerabilities.py +0 -0
  332. {hackagent-0.10.0/hackagent/server/storage → hackagent-0.11.0/hackagent/router/providers}/__init__.py +0 -0
  333. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/router/tracking/__init__.py +0 -0
  334. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/router/tracking/decorators.py +0 -0
  335. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/router/tracking/utils.py +0 -0
  336. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/__init__.py +0 -0
  337. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/agent/__init__.py +0 -0
  338. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/agent/agent_create.py +0 -0
  339. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/agent/agent_destroy.py +0 -0
  340. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/agent/agent_list.py +0 -0
  341. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/agent/agent_partial_update.py +0 -0
  342. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/agent/agent_retrieve.py +0 -0
  343. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/agent/agent_update.py +0 -0
  344. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/apilogs/__init__.py +0 -0
  345. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/apilogs/apilogs_list.py +0 -0
  346. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/apilogs/apilogs_retrieve.py +0 -0
  347. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/apilogs/apilogs_summary_retrieve.py +0 -0
  348. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/attack/__init__.py +0 -0
  349. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/attack/attack_create.py +0 -0
  350. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/attack/attack_destroy.py +0 -0
  351. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/attack/attack_list.py +0 -0
  352. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/attack/attack_partial_update.py +0 -0
  353. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/attack/attack_retrieve.py +0 -0
  354. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/attack/attack_update.py +0 -0
  355. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/checkout/__init__.py +0 -0
  356. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/checkout/checkout_create.py +0 -0
  357. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/generate/__init__.py +0 -0
  358. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/generate/v1_chat_completions_create.py +0 -0
  359. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/judge/__init__.py +0 -0
  360. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/judge/judge_create.py +0 -0
  361. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/key/__init__.py +0 -0
  362. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/key/key_context_retrieve.py +0 -0
  363. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/key/key_create.py +0 -0
  364. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/key/key_destroy.py +0 -0
  365. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/key/key_list.py +0 -0
  366. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/key/key_retrieve.py +0 -0
  367. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/organization/__init__.py +0 -0
  368. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/organization/organization_create.py +0 -0
  369. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/organization/organization_destroy.py +0 -0
  370. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/organization/organization_list.py +0 -0
  371. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/organization/organization_me_retrieve.py +0 -0
  372. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/organization/organization_partial_update.py +0 -0
  373. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/organization/organization_retrieve.py +0 -0
  374. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/organization/organization_update.py +0 -0
  375. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/result/__init__.py +0 -0
  376. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/result/result_create.py +0 -0
  377. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/result/result_destroy.py +0 -0
  378. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/result/result_list.py +0 -0
  379. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/result/result_partial_update.py +0 -0
  380. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/result/result_retrieve.py +0 -0
  381. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/result/result_trace_create.py +0 -0
  382. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/result/result_update.py +0 -0
  383. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/run/__init__.py +0 -0
  384. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/run/run_create.py +0 -0
  385. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/run/run_destroy.py +0 -0
  386. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/run/run_list.py +0 -0
  387. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/run/run_partial_update.py +0 -0
  388. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/run/run_result_create.py +0 -0
  389. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/run/run_retrieve.py +0 -0
  390. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/run/run_run_tests_create.py +0 -0
  391. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/run/run_update.py +0 -0
  392. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/scripts/generate.py +0 -0
  393. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/scripts/generate.sh +0 -0
  394. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/scripts/openapi-python-client.yaml +0 -0
  395. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/user/__init__.py +0 -0
  396. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/user/user_create.py +0 -0
  397. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/user/user_destroy.py +0 -0
  398. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/user/user_list.py +0 -0
  399. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/user/user_me_retrieve.py +0 -0
  400. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/user/user_me_update.py +0 -0
  401. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/user/user_partial_update.py +0 -0
  402. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/user/user_retrieve.py +0 -0
  403. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/api/user/user_update.py +0 -0
  404. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/client.py +0 -0
  405. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/dashboard/__init__.py +0 -0
  406. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/dashboard/_api.py +0 -0
  407. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/dashboard/_helpers.py +0 -0
  408. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/dashboard/app.py +0 -0
  409. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/dashboard/templates/index.html +0 -0
  410. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/errors.py +0 -0
  411. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/storage/enums.py +0 -0
  412. {hackagent-0.10.0 → hackagent-0.11.0}/hackagent/server/types.py +0 -0
@@ -5,6 +5,8 @@ logs/
5
5
  reports/
6
6
  .adk/
7
7
  slurm/
8
+ tools/
9
+ docs/docs/attacks/walkthroughs/
8
10
 
9
11
  # Editors
10
12
  .vscode/
@@ -134,4 +136,6 @@ dmypy.json
134
136
 
135
137
 
136
138
  .copilotignore
137
- tests/e2e/attacks/
139
+ tests/e2e/attacks/
140
+
141
+ .tmp
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hackagent
3
- Version: 0.10.0
3
+ Version: 0.11.0
4
4
  Summary: HackAgent is an open-source security toolkit to detect vulnerabilities of your AI Agents.
5
5
  Author-email: AI Security Lab <ais@ai4i.it>
6
6
  License: Apache-2.0
@@ -22,10 +22,11 @@ Requires-Dist: httpx>=0.27.0
22
22
  Requires-Dist: litellm>=1.69.2
23
23
  Requires-Dist: nicegui>=2.0
24
24
  Requires-Dist: openai>=1.0.0
25
+ Requires-Dist: pillow>=10.0.0
26
+ Requires-Dist: playwright>=1.40
25
27
  Requires-Dist: pydantic[email]>=2.0
26
28
  Requires-Dist: python-dateutil>=2.8.0
27
29
  Requires-Dist: pyyaml>=6.0.0
28
- Requires-Dist: requests>=2.31.0
29
30
  Requires-Dist: rich>=14.0.0
30
31
  Requires-Dist: textual>=1.0.0
31
32
  Description-Content-Type: text/markdown
@@ -41,6 +42,10 @@ Description-Content-Type: text/markdown
41
42
 
42
43
  [App](https://app.hackagent.dev/) -- [Docs](https://docs.hackagent.dev/) -- [API](https://api.hackagent.dev/schema/redoc)
43
44
 
45
+ [![Security Policy](https://img.shields.io/badge/security-policy-blue?logo=github)](SECURITY.md)
46
+
47
+ <br>
48
+
44
49
  <br>
45
50
 
46
51
  ![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)
@@ -95,7 +100,7 @@ HackAgent uses a modular pipeline to test agent robustness end-to-end.
95
100
 
96
101
  | Component | Description |
97
102
  |-----------|-------------|
98
- | **Attack Engine** | Orchestrates attacks using AdvPrefix, AutoDAN-Turbo, PAIR, TAP, FlipAttack, BoN, h4rm3l, CipherChat, PAP, and Baseline |
103
+ | **Attack Engine** | Orchestrates attacks using AdvPrefix, AutoDAN-Turbo, PAIR, TAP, FlipAttack, BoN, h4rm3l, CipherChat, PAP, and Static Template |
99
104
  | **Generator** | LLM role that creates adversarial prompts to test the target agent |
100
105
  | **Judge** | LLM role that evaluates whether attacks bypass safety measures |
101
106
  | **Target Agent** | Your AI agent under test across supported frameworks |
@@ -9,6 +9,10 @@
9
9
 
10
10
  [App](https://app.hackagent.dev/) -- [Docs](https://docs.hackagent.dev/) -- [API](https://api.hackagent.dev/schema/redoc)
11
11
 
12
+ [![Security Policy](https://img.shields.io/badge/security-policy-blue?logo=github)](SECURITY.md)
13
+
14
+ <br>
15
+
12
16
  <br>
13
17
 
14
18
  ![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)
@@ -63,7 +67,7 @@ HackAgent uses a modular pipeline to test agent robustness end-to-end.
63
67
 
64
68
  | Component | Description |
65
69
  |-----------|-------------|
66
- | **Attack Engine** | Orchestrates attacks using AdvPrefix, AutoDAN-Turbo, PAIR, TAP, FlipAttack, BoN, h4rm3l, CipherChat, PAP, and Baseline |
70
+ | **Attack Engine** | Orchestrates attacks using AdvPrefix, AutoDAN-Turbo, PAIR, TAP, FlipAttack, BoN, h4rm3l, CipherChat, PAP, and Static Template |
67
71
  | **Generator** | LLM role that creates adversarial prompts to test the target agent |
68
72
  | **Judge** | LLM role that evaluates whether attacks bypass safety measures |
69
73
  | **Target Agent** | Your AI agent under test across supported frameworks |
@@ -67,6 +67,8 @@ class HackAgent:
67
67
  target_config: Optional[Dict[str, Any]] = None,
68
68
  adapter_operational_config: Optional[Dict[str, Any]] = None,
69
69
  thinking: Optional[bool] = None,
70
+ before_guardrail: Optional[Dict[str, Any]] = None,
71
+ after_guardrail: Optional[Dict[str, Any]] = None,
70
72
  ):
71
73
  """
72
74
  Initializes the HackAgent client and prepares it for interaction.
@@ -175,6 +177,22 @@ class HackAgent:
175
177
  adapter_operational_config=router_operational_config,
176
178
  )
177
179
 
180
+ # Wire guardrails onto the router once — they apply transparently to
181
+ # every route_request call for all attacks on this target.
182
+ if before_guardrail or after_guardrail:
183
+ from hackagent.attacks.shared.guardrail import create_guardrail_from_config
184
+
185
+ if before_guardrail:
186
+ self.router.before_guardrail = create_guardrail_from_config(
187
+ before_guardrail, self.backend
188
+ )
189
+ logger.info("before_guardrail active on target router.")
190
+ if after_guardrail:
191
+ self.router.after_guardrail = create_guardrail_from_config(
192
+ after_guardrail, self.backend
193
+ )
194
+ logger.info("after_guardrail active on target router.")
195
+
178
196
  # Attack strategies are lazy-loaded to improve startup time
179
197
  self._attack_strategies: Optional[Dict[str, Any]] = None
180
198
 
@@ -187,26 +205,36 @@ class HackAgent:
187
205
  AdvPrefixOrchestrator,
188
206
  AutoDANTurboOrchestrator,
189
207
  BaselineOrchestrator,
208
+ StaticTemplateOrchestrator,
190
209
  BoNOrchestrator,
191
210
  CipherChatOrchestrator,
211
+ FCOrchestrator,
212
+ tFCOrchestrator,
192
213
  H4rm3lOrchestrator,
214
+ RagOrchestrator,
193
215
  PAPOrchestrator,
194
216
  PAIROrchestrator,
195
217
  FlipAttackOrchestrator,
196
218
  TAPOrchestrator,
219
+ MMLOrchestrator,
197
220
  )
198
221
 
199
222
  self._attack_strategies = {
200
223
  "advprefix": AdvPrefixOrchestrator(hackagent_agent=self),
201
224
  "autodan_turbo": AutoDANTurboOrchestrator(hackagent_agent=self),
202
225
  "baseline": BaselineOrchestrator(hackagent_agent=self),
226
+ "static_template": StaticTemplateOrchestrator(hackagent_agent=self),
203
227
  "bon": BoNOrchestrator(hackagent_agent=self),
204
228
  "cipherchat": CipherChatOrchestrator(hackagent_agent=self),
229
+ "fc": FCOrchestrator(hackagent_agent=self),
230
+ "tfc": tFCOrchestrator(hackagent_agent=self),
205
231
  "pair": PAIROrchestrator(hackagent_agent=self),
206
232
  "flipattack": FlipAttackOrchestrator(hackagent_agent=self),
207
233
  "tap": TAPOrchestrator(hackagent_agent=self),
208
234
  "h4rm3l": H4rm3lOrchestrator(hackagent_agent=self),
209
235
  "pap": PAPOrchestrator(hackagent_agent=self),
236
+ "rag": RagOrchestrator(hackagent_agent=self),
237
+ "mml": MMLOrchestrator(hackagent_agent=self),
210
238
  }
211
239
  return self._attack_strategies
212
240
 
@@ -215,8 +243,7 @@ class HackAgent:
215
243
  attack_config: Dict[str, Any],
216
244
  run_config_override: Optional[Dict[str, Any]] = None,
217
245
  fail_on_run_error: bool = True,
218
- _tui_app: Optional[Any] = None,
219
- _tui_log_callback: Optional[Any] = None,
246
+ _tui_event_bus: Optional[Any] = None,
220
247
  ) -> Any:
221
248
  """
222
249
  Executes a specified attack strategy against the configured victim agent.
@@ -273,8 +300,7 @@ class HackAgent:
273
300
  attack_config=attack_config,
274
301
  run_config_override=run_config_override,
275
302
  fail_on_run_error=fail_on_run_error,
276
- _tui_app=_tui_app,
277
- _tui_log_callback=_tui_log_callback,
303
+ _tui_event_bus=_tui_event_bus,
278
304
  )
279
305
 
280
306
  except HackAgentError:
@@ -14,7 +14,7 @@ Architecture:
14
14
  - objectives/: Define WHAT vulnerability we test (metadata/config)
15
15
  - techniques/: Define HOW we generate attacks (implementation)
16
16
  - advprefix/: Prefix optimization technique
17
- - baseline/: Baseline prompt injection
17
+ - static_template/: Static template prompt injection
18
18
  - pair/: LLM-driven iterative refinement
19
19
  - shared/: Cross-cutting infrastructure (progress, response utils,
20
20
  router factory, TUI) — legacy evaluator/generator shims re-export
@@ -24,7 +24,7 @@ Architecture:
24
24
 
25
25
  Available attacks:
26
26
  - AdvPrefixOrchestrator: Adversarial prefix generation orchestrator
27
- - BaselineOrchestrator: Baseline prompt injection orchestrator
27
+ - StaticTemplateOrchestrator: Static template prompt injection orchestrator
28
28
  - PAIROrchestrator: Prompt Automatic Iterative Refinement orchestrator
29
29
 
30
30
  The module integrates with the HackAgent backend for result tracking and reporting.
@@ -35,6 +35,7 @@ from .registry import (
35
35
  AdvPrefixOrchestrator,
36
36
  AutoDANTurboOrchestrator,
37
37
  BaselineOrchestrator,
38
+ StaticTemplateOrchestrator,
38
39
  CipherChatOrchestrator,
39
40
  PAIROrchestrator,
40
41
  FlipAttackOrchestrator,
@@ -46,6 +47,7 @@ __all__ = [
46
47
  "AdvPrefixOrchestrator",
47
48
  "AutoDANTurboOrchestrator",
48
49
  "BaselineOrchestrator",
50
+ "StaticTemplateOrchestrator",
49
51
  "CipherChatOrchestrator",
50
52
  "PAIROrchestrator",
51
53
  "FlipAttackOrchestrator",
@@ -321,12 +321,15 @@ class BaseJudgeEvaluator(ABC):
321
321
 
322
322
  # Process via judge
323
323
  if rows_to_process:
324
- results_eval, results_expl, processed_indices, raw_judge_responses = (
325
- self._process_rows_with_router(
326
- rows_to_process,
327
- f"[cyan]Evaluating responses ({self.__class__.__name__})...",
328
- include_raw_responses=True,
329
- )
324
+ (
325
+ results_eval,
326
+ results_expl,
327
+ processed_indices,
328
+ raw_judge_responses,
329
+ ) = self._process_rows_with_router(
330
+ rows_to_process,
331
+ f"[cyan]Evaluating responses ({self.__class__.__name__})...",
332
+ include_raw_responses=True,
330
333
  )
331
334
 
332
335
  # Map results back by original index
@@ -445,13 +448,15 @@ class BaseJudgeEvaluator(ABC):
445
448
  request_data = None
446
449
  try:
447
450
  request_data = self._get_request_data_for_row(row)
448
- current_eval, current_expl, current_raw_response = (
449
- self._request_with_assertions(
450
- request_data=request_data,
451
- original_index=original_index,
452
- max_retries=max_retries,
453
- include_raw_response=True,
454
- )
451
+ (
452
+ current_eval,
453
+ current_expl,
454
+ current_raw_response,
455
+ ) = self._request_with_assertions(
456
+ request_data=request_data,
457
+ original_index=original_index,
458
+ max_retries=max_retries,
459
+ include_raw_response=True,
455
460
  )
456
461
  except Exception as e:
457
462
  current_expl = (