wallbreaker-hermes 0.2.2__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.
- wallbreaker_hermes-0.2.2/CHANGELOG.md +87 -0
- wallbreaker_hermes-0.2.2/LICENSE +661 -0
- wallbreaker_hermes-0.2.2/MANIFEST.in +19 -0
- wallbreaker_hermes-0.2.2/NOTICE +45 -0
- wallbreaker_hermes-0.2.2/PKG-INFO +417 -0
- wallbreaker_hermes-0.2.2/README.md +373 -0
- wallbreaker_hermes-0.2.2/SECURITY.md +56 -0
- wallbreaker_hermes-0.2.2/config.example.toml +170 -0
- wallbreaker_hermes-0.2.2/docs/EXTERNAL_DATA.md +34 -0
- wallbreaker_hermes-0.2.2/docs/HERMES_LAB.md +246 -0
- wallbreaker_hermes-0.2.2/docs/SETUP.md +197 -0
- wallbreaker_hermes-0.2.2/docs/UPSTREAM.md +60 -0
- wallbreaker_hermes-0.2.2/docs/examples/redteam-gate.yml +64 -0
- wallbreaker_hermes-0.2.2/docs/images/dashboard-arsenal.png +0 -0
- wallbreaker_hermes-0.2.2/docs/images/dashboard-console.png +0 -0
- wallbreaker_hermes-0.2.2/docs/mcp-integration.md +382 -0
- wallbreaker_hermes-0.2.2/docs/mcp_client_config.json +18 -0
- wallbreaker_hermes-0.2.2/docs/persona_spec.md +707 -0
- wallbreaker_hermes-0.2.2/docs/reasoning_token_visibility_methods.md +549 -0
- wallbreaker_hermes-0.2.2/integrations/hermes/README.md +57 -0
- wallbreaker_hermes-0.2.2/integrations/hermes/examples/clean-manifest.json +8 -0
- wallbreaker_hermes-0.2.2/integrations/hermes/examples/synthetic-suite.yaml +22 -0
- wallbreaker_hermes-0.2.2/integrations/hermes/skills/wallbreaker-hermes/SKILL.md +110 -0
- wallbreaker_hermes-0.2.2/library.lock.toml +83 -0
- wallbreaker_hermes-0.2.2/p4rs3lt0ngv3_mcp/__init__.py +12 -0
- wallbreaker_hermes-0.2.2/p4rs3lt0ngv3_mcp/__main__.py +4 -0
- wallbreaker_hermes-0.2.2/p4rs3lt0ngv3_mcp/bridge.py +171 -0
- wallbreaker_hermes-0.2.2/p4rs3lt0ngv3_mcp/format.py +134 -0
- wallbreaker_hermes-0.2.2/p4rs3lt0ngv3_mcp/server.py +177 -0
- wallbreaker_hermes-0.2.2/presets/example.toml +22 -0
- wallbreaker_hermes-0.2.2/pyproject.toml +91 -0
- wallbreaker_hermes-0.2.2/scripts/check_release_artifacts.py +151 -0
- wallbreaker_hermes-0.2.2/setup.cfg +4 -0
- wallbreaker_hermes-0.2.2/tests/test_adapt_seed.py +83 -0
- wallbreaker_hermes-0.2.2/tests/test_agent_loop.py +159 -0
- wallbreaker_hermes-0.2.2/tests/test_agent_profiles.py +150 -0
- wallbreaker_hermes-0.2.2/tests/test_agentic.py +208 -0
- wallbreaker_hermes-0.2.2/tests/test_audit_fixes.py +58 -0
- wallbreaker_hermes-0.2.2/tests/test_audit_remediation.py +1126 -0
- wallbreaker_hermes-0.2.2/tests/test_author_persona.py +224 -0
- wallbreaker_hermes-0.2.2/tests/test_bandit.py +328 -0
- wallbreaker_hermes-0.2.2/tests/test_baseline.py +96 -0
- wallbreaker_hermes-0.2.2/tests/test_best_of_n.py +285 -0
- wallbreaker_hermes-0.2.2/tests/test_cache.py +124 -0
- wallbreaker_hermes-0.2.2/tests/test_capabilities.py +126 -0
- wallbreaker_hermes-0.2.2/tests/test_chat_session.py +153 -0
- wallbreaker_hermes-0.2.2/tests/test_cipherchat.py +119 -0
- wallbreaker_hermes-0.2.2/tests/test_cjk_obf.py +89 -0
- wallbreaker_hermes-0.2.2/tests/test_classifier_target.py +138 -0
- wallbreaker_hermes-0.2.2/tests/test_classify.py +33 -0
- wallbreaker_hermes-0.2.2/tests/test_claude_code.py +346 -0
- wallbreaker_hermes-0.2.2/tests/test_cli_one_shot.py +77 -0
- wallbreaker_hermes-0.2.2/tests/test_cluster.py +136 -0
- wallbreaker_hermes-0.2.2/tests/test_collection_crossprovider.py +57 -0
- wallbreaker_hermes-0.2.2/tests/test_command_quoting.py +68 -0
- wallbreaker_hermes-0.2.2/tests/test_complete_temperature.py +161 -0
- wallbreaker_hermes-0.2.2/tests/test_config.py +113 -0
- wallbreaker_hermes-0.2.2/tests/test_config_mcp.py +68 -0
- wallbreaker_hermes-0.2.2/tests/test_continue_target.py +80 -0
- wallbreaker_hermes-0.2.2/tests/test_conversation.py +133 -0
- wallbreaker_hermes-0.2.2/tests/test_cot_dilution.py +89 -0
- wallbreaker_hermes-0.2.2/tests/test_cot_forge.py +146 -0
- wallbreaker_hermes-0.2.2/tests/test_crescendo.py +182 -0
- wallbreaker_hermes-0.2.2/tests/test_dashboard.py +547 -0
- wallbreaker_hermes-0.2.2/tests/test_dashboard_agent_controls.py +128 -0
- wallbreaker_hermes-0.2.2/tests/test_dashboard_v2.py +279 -0
- wallbreaker_hermes-0.2.2/tests/test_datasets.py +155 -0
- wallbreaker_hermes-0.2.2/tests/test_drattack.py +113 -0
- wallbreaker_hermes-0.2.2/tests/test_echo.py +117 -0
- wallbreaker_hermes-0.2.2/tests/test_eni.py +73 -0
- wallbreaker_hermes-0.2.2/tests/test_evolve_persona.py +142 -0
- wallbreaker_hermes-0.2.2/tests/test_executions.py +89 -0
- wallbreaker_hermes-0.2.2/tests/test_extra_features.py +135 -0
- wallbreaker_hermes-0.2.2/tests/test_file_tools.py +104 -0
- wallbreaker_hermes-0.2.2/tests/test_fingerprint.py +107 -0
- wallbreaker_hermes-0.2.2/tests/test_fire_file.py +106 -0
- wallbreaker_hermes-0.2.2/tests/test_fire_push.py +58 -0
- wallbreaker_hermes-0.2.2/tests/test_framing_sweep.py +127 -0
- wallbreaker_hermes-0.2.2/tests/test_gather_capped.py +35 -0
- wallbreaker_hermes-0.2.2/tests/test_gemlib.py +175 -0
- wallbreaker_hermes-0.2.2/tests/test_goat.py +93 -0
- wallbreaker_hermes-0.2.2/tests/test_harmbench.py +89 -0
- wallbreaker_hermes-0.2.2/tests/test_hermes_campaign.py +666 -0
- wallbreaker_hermes-0.2.2/tests/test_hermes_campaign_wh4.py +955 -0
- wallbreaker_hermes-0.2.2/tests/test_hermes_cli.py +398 -0
- wallbreaker_hermes-0.2.2/tests/test_hermes_lab.py +1166 -0
- wallbreaker_hermes-0.2.2/tests/test_hermes_skill.py +80 -0
- wallbreaker_hermes-0.2.2/tests/test_history_index.py +163 -0
- wallbreaker_hermes-0.2.2/tests/test_ica.py +91 -0
- wallbreaker_hermes-0.2.2/tests/test_image_edit.py +243 -0
- wallbreaker_hermes-0.2.2/tests/test_image_framing.py +84 -0
- wallbreaker_hermes-0.2.2/tests/test_image_target.py +321 -0
- wallbreaker_hermes-0.2.2/tests/test_inference_logging_compact.py +77 -0
- wallbreaker_hermes-0.2.2/tests/test_jailbreaks.py +64 -0
- wallbreaker_hermes-0.2.2/tests/test_judge_obfuscation.py +135 -0
- wallbreaker_hermes-0.2.2/tests/test_judging.py +55 -0
- wallbreaker_hermes-0.2.2/tests/test_l1b3rt4s_hygiene.py +31 -0
- wallbreaker_hermes-0.2.2/tests/test_l1b3rt4s_search.py +43 -0
- wallbreaker_hermes-0.2.2/tests/test_leak_verify.py +74 -0
- wallbreaker_hermes-0.2.2/tests/test_live_feedback.py +135 -0
- wallbreaker_hermes-0.2.2/tests/test_logging.py +92 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features.py +114 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features10.py +53 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features11.py +87 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features12.py +64 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features13.py +70 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features14.py +134 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features15.py +76 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features16.py +73 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features17.py +87 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features18.py +94 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features19.py +154 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features2.py +115 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features20.py +39 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features3.py +170 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features4.py +151 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features5.py +103 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features6.py +81 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features7.py +92 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features8.py +83 -0
- wallbreaker_hermes-0.2.2/tests/test_loop_features9.py +47 -0
- wallbreaker_hermes-0.2.2/tests/test_mcp_bridge.py +94 -0
- wallbreaker_hermes-0.2.2/tests/test_model_catalog.py +117 -0
- wallbreaker_hermes-0.2.2/tests/test_multi_fire.py +79 -0
- wallbreaker_hermes-0.2.2/tests/test_multiline_input.py +161 -0
- wallbreaker_hermes-0.2.2/tests/test_narrate.py +147 -0
- wallbreaker_hermes-0.2.2/tests/test_narrative_persona_splinter.py +143 -0
- wallbreaker_hermes-0.2.2/tests/test_new_attack_tools.py +249 -0
- wallbreaker_hermes-0.2.2/tests/test_optimize.py +142 -0
- wallbreaker_hermes-0.2.2/tests/test_optimize_prefill.py +52 -0
- wallbreaker_hermes-0.2.2/tests/test_pair_sweep.py +154 -0
- wallbreaker_hermes-0.2.2/tests/test_parsel_engine.py +164 -0
- wallbreaker_hermes-0.2.2/tests/test_parsel_server.py +46 -0
- wallbreaker_hermes-0.2.2/tests/test_persona_forge.py +233 -0
- wallbreaker_hermes-0.2.2/tests/test_persona_modulate.py +119 -0
- wallbreaker_hermes-0.2.2/tests/test_persona_spec.py +188 -0
- wallbreaker_hermes-0.2.2/tests/test_persuasion_attack.py +115 -0
- wallbreaker_hermes-0.2.2/tests/test_prefill_seed.py +120 -0
- wallbreaker_hermes-0.2.2/tests/test_presets.py +218 -0
- wallbreaker_hermes-0.2.2/tests/test_profile_target.py +217 -0
- wallbreaker_hermes-0.2.2/tests/test_provider_registry.py +228 -0
- wallbreaker_hermes-0.2.2/tests/test_provider_timeout.py +92 -0
- wallbreaker_hermes-0.2.2/tests/test_providers.py +257 -0
- wallbreaker_hermes-0.2.2/tests/test_reasoning.py +201 -0
- wallbreaker_hermes-0.2.2/tests/test_reasoning_extract.py +352 -0
- wallbreaker_hermes-0.2.2/tests/test_reasoning_fallback.py +35 -0
- wallbreaker_hermes-0.2.2/tests/test_recommend_next.py +118 -0
- wallbreaker_hermes-0.2.2/tests/test_regrade.py +82 -0
- wallbreaker_hermes-0.2.2/tests/test_release_artifacts.py +25 -0
- wallbreaker_hermes-0.2.2/tests/test_report_tools.py +197 -0
- wallbreaker_hermes-0.2.2/tests/test_request_gate.py +209 -0
- wallbreaker_hermes-0.2.2/tests/test_run_panel.py +101 -0
- wallbreaker_hermes-0.2.2/tests/test_scroll_follow.py +50 -0
- wallbreaker_hermes-0.2.2/tests/test_seed_sweep.py +182 -0
- wallbreaker_hermes-0.2.2/tests/test_session.py +80 -0
- wallbreaker_hermes-0.2.2/tests/test_session_card.py +447 -0
- wallbreaker_hermes-0.2.2/tests/test_session_load_runlog.py +61 -0
- wallbreaker_hermes-0.2.2/tests/test_shell_tool.py +56 -0
- wallbreaker_hermes-0.2.2/tests/test_skeleton_key.py +106 -0
- wallbreaker_hermes-0.2.2/tests/test_special_tokens.py +55 -0
- wallbreaker_hermes-0.2.2/tests/test_st3gg.py +90 -0
- wallbreaker_hermes-0.2.2/tests/test_state.py +125 -0
- wallbreaker_hermes-0.2.2/tests/test_strategy.py +219 -0
- wallbreaker_hermes-0.2.2/tests/test_swarm.py +321 -0
- wallbreaker_hermes-0.2.2/tests/test_sysprompt_load.py +79 -0
- wallbreaker_hermes-0.2.2/tests/test_sysprompt_prefill.py +90 -0
- wallbreaker_hermes-0.2.2/tests/test_system_prompts.py +127 -0
- wallbreaker_hermes-0.2.2/tests/test_target_encode.py +190 -0
- wallbreaker_hermes-0.2.2/tests/test_target_truncation.py +91 -0
- wallbreaker_hermes-0.2.2/tests/test_taxonomy.py +71 -0
- wallbreaker_hermes-0.2.2/tests/test_tg1_embeddings.py +259 -0
- wallbreaker_hermes-0.2.2/tests/test_tg2_context.py +212 -0
- wallbreaker_hermes-0.2.2/tests/test_tg3_corpus.py +93 -0
- wallbreaker_hermes-0.2.2/tests/test_tg3_family.py +186 -0
- wallbreaker_hermes-0.2.2/tests/test_tg4_calibration.py +152 -0
- wallbreaker_hermes-0.2.2/tests/test_tg5_bandit.py +164 -0
- wallbreaker_hermes-0.2.2/tests/test_tg5_harden.py +214 -0
- wallbreaker_hermes-0.2.2/tests/test_tg6_agentic.py +166 -0
- wallbreaker_hermes-0.2.2/tests/test_tg7_transfer.py +206 -0
- wallbreaker_hermes-0.2.2/tests/test_tg7_trust.py +179 -0
- wallbreaker_hermes-0.2.2/tests/test_tool_arg_parse.py +41 -0
- wallbreaker_hermes-0.2.2/tests/test_transfer.py +266 -0
- wallbreaker_hermes-0.2.2/tests/test_transforms.py +161 -0
- wallbreaker_hermes-0.2.2/tests/test_tree_attack.py +113 -0
- wallbreaker_hermes-0.2.2/tests/test_tui_autocomplete.py +265 -0
- wallbreaker_hermes-0.2.2/tests/test_tui_ui.py +119 -0
- wallbreaker_hermes-0.2.2/tests/test_typographic.py +101 -0
- wallbreaker_hermes-0.2.2/tests/test_validate_provider.py +67 -0
- wallbreaker_hermes-0.2.2/tests/test_vault.py +115 -0
- wallbreaker_hermes-0.2.2/tests/test_wallbreaker_mcp.py +221 -0
- wallbreaker_hermes-0.2.2/wallbreaker/__init__.py +1 -0
- wallbreaker_hermes-0.2.2/wallbreaker/__main__.py +6 -0
- wallbreaker_hermes-0.2.2/wallbreaker/_fsutil.py +54 -0
- wallbreaker_hermes-0.2.2/wallbreaker/agent/__init__.py +0 -0
- wallbreaker_hermes-0.2.2/wallbreaker/agent/loop.py +338 -0
- wallbreaker_hermes-0.2.2/wallbreaker/agent/messages.py +85 -0
- wallbreaker_hermes-0.2.2/wallbreaker/agent_profiles.py +206 -0
- wallbreaker_hermes-0.2.2/wallbreaker/analyze.py +54 -0
- wallbreaker_hermes-0.2.2/wallbreaker/baseline.py +98 -0
- wallbreaker_hermes-0.2.2/wallbreaker/cache.py +207 -0
- wallbreaker_hermes-0.2.2/wallbreaker/capabilities.py +427 -0
- wallbreaker_hermes-0.2.2/wallbreaker/classify.py +100 -0
- wallbreaker_hermes-0.2.2/wallbreaker/cli.py +591 -0
- wallbreaker_hermes-0.2.2/wallbreaker/config.py +524 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/__init__.py +3 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/auth.py +191 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/server.py +2505 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/bun.lock +587 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/dist/assets/index-CPaTNxOz.js +78 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/dist/assets/index-DpTCTWO5.css +1 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/dist/index.html +13 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/index.html +12 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/package-lock.json +3676 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/package.json +32 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/App.tsx +119 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/Agent.abort.test.tsx +50 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/Agent.autoscroll.test.tsx +107 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/AsyncView.test.tsx +56 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/Dialog.test.tsx +59 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/Profiles.busy.test.tsx +60 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/RunExpandedRow.test.tsx +130 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/a11y.interactions.test.tsx +93 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/axe.views.test.tsx +182 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/format.test.ts +81 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/no-danger.test.ts +31 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/setup.ts +1 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/staleGuard.test.tsx +47 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/__tests__/subcomponents.test.tsx +229 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/api.ts +367 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/Agent.tsx +397 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/AgentConfigDrawer.tsx +137 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/AgentTranscript.tsx +120 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/Arsenal.tsx +133 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/Console.tsx +248 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/FindingExpanded.tsx +291 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/Findings.tsx +589 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/ModelChooser.tsx +205 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/Overview.tsx +58 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/Profiles.tsx +78 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/ProviderChooser.tsx +36 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/ProviderManager.tsx +135 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/RoleChooser.tsx +61 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/RunDetailView.tsx +363 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/RunExpandedRow.tsx +156 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/Runs.tsx +620 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/Settings.tsx +29 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/components/TargetOptions.tsx +45 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/dataCache.ts +96 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/format.ts +84 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/main.tsx +15 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/primitives/AsyncView.tsx +50 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/primitives/Combobox.tsx +92 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/primitives/Dialog.tsx +97 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/primitives/InteractiveChip.tsx +35 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/primitives/LiveRegion.tsx +27 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/primitives/useAbortableFetch.ts +38 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/styles.css +1192 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/CommandPalette.tsx +95 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/LiveView.tsx +688 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/ReportsDashboard.tsx +119 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/RunsExplorer.tsx +113 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/V2App.tsx +165 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/Views.tsx +229 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/WorkflowStudio.tsx +298 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/api.ts +323 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/components.tsx +101 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/eventProjection.ts +148 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/index.ts +2 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2/types.ts +227 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/src/v2.css +772 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/tsconfig.json +21 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/tsconfig.node.json +11 -0
- wallbreaker_hermes-0.2.2/wallbreaker/dashboard/web/vite.config.ts +13 -0
- wallbreaker_hermes-0.2.2/wallbreaker/datasets/__init__.py +54 -0
- wallbreaker_hermes-0.2.2/wallbreaker/datasets/_common.py +159 -0
- wallbreaker_hermes-0.2.2/wallbreaker/datasets/advbench.py +34 -0
- wallbreaker_hermes-0.2.2/wallbreaker/datasets/harmbench.py +25 -0
- wallbreaker_hermes-0.2.2/wallbreaker/datasets/jbb.py +37 -0
- wallbreaker_hermes-0.2.2/wallbreaker/datasets/strongreject.py +31 -0
- wallbreaker_hermes-0.2.2/wallbreaker/executions.py +276 -0
- wallbreaker_hermes-0.2.2/wallbreaker/findings_log.py +200 -0
- wallbreaker_hermes-0.2.2/wallbreaker/harmbench.py +112 -0
- wallbreaker_hermes-0.2.2/wallbreaker/hermes_campaign.py +2229 -0
- wallbreaker_hermes-0.2.2/wallbreaker/hermes_cli.py +296 -0
- wallbreaker_hermes-0.2.2/wallbreaker/hermes_lab.py +1165 -0
- wallbreaker_hermes-0.2.2/wallbreaker/history_index.py +613 -0
- wallbreaker_hermes-0.2.2/wallbreaker/jailbreaks.py +84 -0
- wallbreaker_hermes-0.2.2/wallbreaker/judging.py +335 -0
- wallbreaker_hermes-0.2.2/wallbreaker/library.py +215 -0
- wallbreaker_hermes-0.2.2/wallbreaker/model_catalog.py +114 -0
- wallbreaker_hermes-0.2.2/wallbreaker/persona_method.py +637 -0
- wallbreaker_hermes-0.2.2/wallbreaker/persona_spec.py +961 -0
- wallbreaker_hermes-0.2.2/wallbreaker/persuasion_taxonomy.py +107 -0
- wallbreaker_hermes-0.2.2/wallbreaker/presets.py +650 -0
- wallbreaker_hermes-0.2.2/wallbreaker/prompts.py +629 -0
- wallbreaker_hermes-0.2.2/wallbreaker/provider_registry.py +232 -0
- wallbreaker_hermes-0.2.2/wallbreaker/providers/__init__.py +0 -0
- wallbreaker_hermes-0.2.2/wallbreaker/providers/anthropic_provider.py +299 -0
- wallbreaker_hermes-0.2.2/wallbreaker/providers/base.py +306 -0
- wallbreaker_hermes-0.2.2/wallbreaker/providers/claude_code.py +269 -0
- wallbreaker_hermes-0.2.2/wallbreaker/providers/factory.py +75 -0
- wallbreaker_hermes-0.2.2/wallbreaker/providers/hermes_lab_provider.py +129 -0
- wallbreaker_hermes-0.2.2/wallbreaker/providers/image_provider.py +379 -0
- wallbreaker_hermes-0.2.2/wallbreaker/providers/openai_provider.py +396 -0
- wallbreaker_hermes-0.2.2/wallbreaker/providers/request_gate.py +179 -0
- wallbreaker_hermes-0.2.2/wallbreaker/regrade.py +65 -0
- wallbreaker_hermes-0.2.2/wallbreaker/report.py +480 -0
- wallbreaker_hermes-0.2.2/wallbreaker/session.py +655 -0
- wallbreaker_hermes-0.2.2/wallbreaker/state.py +101 -0
- wallbreaker_hermes-0.2.2/wallbreaker/strategy_lib.py +722 -0
- wallbreaker_hermes-0.2.2/wallbreaker/taxonomy.py +275 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/__init__.py +51 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/_bandit.py +387 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/_conversation.py +64 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/_cot_recover.py +423 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/_echo.py +222 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/_util.py +86 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/adapt_seed.py +137 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/agentharm.py +348 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/author_persona.py +479 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/barcode_tool.py +63 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/best_of_n.py +439 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/campaign.py +435 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/chat_session.py +411 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/chat_template.py +111 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/cipherchat.py +217 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/cluster_findings.py +215 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/control.py +111 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/cot_forge.py +303 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/crescendo.py +394 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/deep_think_probe.py +285 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/diff_fire.py +84 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/drattack.py +208 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/egress_guard.py +254 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/eni.py +294 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/evolve_persona.py +417 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/files.py +269 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/fingerprint_defense.py +431 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/fire_file.py +131 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/framing_sweep.py +281 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/gemlib.py +379 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/goat.py +294 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/harmbench_tool.py +53 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/http_tool.py +87 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/ica.py +144 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/image.py +304 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/image_edit.py +528 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/indirect_inject.py +378 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/judge.py +55 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/judge_selftest.py +352 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/l1b3rt4s.py +307 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/leaderboard.py +172 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/leak_scan.py +200 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/many_shot.py +113 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/mcp_bridge.py +184 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/memory_poison.py +184 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/multi_fire.py +141 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/mutate.py +258 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/narrate.py +158 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/narrative_persona_splinter.py +382 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/optimize.py +253 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/pair.py +501 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/parsel_engine.py +602 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/parsel_lib.py +99 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/parseltongue.py +140 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/persona_forge.py +899 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/persona_modulate.py +356 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/persuasion_attack.py +203 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/prefill.py +158 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/presets_tool.py +48 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/profile_target.py +492 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/rag_poison.py +280 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/reasoning_hygiene.py +425 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/recommend.py +159 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/recommend_next.py +385 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/registry.py +462 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/scan.py +126 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/seed_sweep.py +172 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/session_card.py +771 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/shell.py +93 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/skeleton_key.py +114 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/st3gg.py +331 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/stolen_thoughts.py +269 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/strategy_attack.py +383 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/swarm.py +564 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/system_prompts.py +298 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/system_sweep.py +353 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/target.py +565 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/tool_policy.py +52 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/transfer_sweep.py +213 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/tree_attack.py +325 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/typographic.py +193 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/validate.py +84 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tools/vault.py +113 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/__init__.py +153 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/ascii_art.py +78 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/bijection.py +90 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/cjk_obf.py +166 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/cot_dilution.py +117 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/encodings.py +343 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/fonts.py +152 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/image_framing.py +89 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/linguistics.py +50 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/special_token.py +31 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/stego.py +75 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/structural.py +67 -0
- wallbreaker_hermes-0.2.2/wallbreaker/transforms/unicode_obf.py +268 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tui/__init__.py +0 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tui/app.py +2599 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tui/app.tcss +114 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tui/header.py +62 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tui/sidebar.py +69 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tui/theme.py +50 -0
- wallbreaker_hermes-0.2.2/wallbreaker/tui/widgets.py +294 -0
- wallbreaker_hermes-0.2.2/wallbreaker/vault.py +255 -0
- wallbreaker_hermes-0.2.2/wallbreaker_hermes.egg-info/PKG-INFO +417 -0
- wallbreaker_hermes-0.2.2/wallbreaker_hermes.egg-info/SOURCES.txt +422 -0
- wallbreaker_hermes-0.2.2/wallbreaker_hermes.egg-info/dependency_links.txt +1 -0
- wallbreaker_hermes-0.2.2/wallbreaker_hermes.egg-info/entry_points.txt +4 -0
- wallbreaker_hermes-0.2.2/wallbreaker_hermes.egg-info/requires.txt +26 -0
- wallbreaker_hermes-0.2.2/wallbreaker_hermes.egg-info/top_level.txt +3 -0
- wallbreaker_hermes-0.2.2/wallbreaker_mcp/__init__.py +5 -0
- wallbreaker_hermes-0.2.2/wallbreaker_mcp/__main__.py +6 -0
- wallbreaker_hermes-0.2.2/wallbreaker_mcp/server.py +423 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 0.2.2 - 2026-08-16
|
|
6
|
+
|
|
7
|
+
This is the first published `wallbreaker-hermes` distribution. The `v0.2.0` and `v0.2.1`
|
|
8
|
+
workflows stopped before creating a GitHub Release or uploading to PyPI.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Completed the `dev` extra with the dashboard, barcode, and property-testing dependencies used by
|
|
13
|
+
both the branch and release test suites.
|
|
14
|
+
|
|
15
|
+
## 0.2.1 - 2026-08-16
|
|
16
|
+
|
|
17
|
+
The `v0.2.1` workflow stopped before creating a GitHub Release or uploading to PyPI.
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- Added the opt-in Hermes Agent laboratory with ephemeral replicas, fixed-runtime validation,
|
|
22
|
+
exact request roles, zero-tools/MCP preflight, state evidence, credential-leak checks, and
|
|
23
|
+
verified cleanup.
|
|
24
|
+
- Added campaign plan/report v2 with HMAC-scoped private fingerprints, checkpoint-bound resume,
|
|
25
|
+
explicit manual review, and fail-closed finding semantics.
|
|
26
|
+
- Published under the `wallbreaker-hermes` distribution name while preserving `import wallbreaker`
|
|
27
|
+
and the `wallbreaker`/`wb` commands.
|
|
28
|
+
- Included the compiled dashboard, Textual assets, Hermes operator integration, and revision-pinned
|
|
29
|
+
datasets with SHA-256 verification.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- Aligned Vitest 2 with Vite 5 and regenerated the frontend lock with npm 10 so clean CI installs
|
|
34
|
+
include a single compatible esbuild version.
|
|
35
|
+
- Raised the CI Node baseline to 22.14 for the declared jsdom engine requirement.
|
|
36
|
+
- Preserved module mock implementations between the dashboard auto-scroll tests under Vitest 2.
|
|
37
|
+
|
|
38
|
+
## 0.2.0 - 2026-08-16
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Published the Python distribution as `wallbreaker-hermes` while preserving the `wallbreaker`
|
|
43
|
+
import package and the `wallbreaker`/`wb` commands.
|
|
44
|
+
- Included the compiled dashboard and Textual stylesheet in release wheels, with artifact checks for
|
|
45
|
+
wheel and source-distribution contents.
|
|
46
|
+
- Added an opt-in Hermes Agent laboratory target fixed to Hermes Agent `v2026.8.13`, package
|
|
47
|
+
`0.20.1`, and commit `f80f453ae0679347e38abc917c7f94f717bf96c5`.
|
|
48
|
+
- Added versioned Hermes campaign suites, isolated repetitions, response and state evidence,
|
|
49
|
+
strict verification, and cleanup receipts.
|
|
50
|
+
- Added `wallbreaker hermes run|review|verify` plus the operator skill under
|
|
51
|
+
`integrations/hermes/`.
|
|
52
|
+
- Added WebUI V2, MCP integration, expanded attack and evaluation tools, signed findings,
|
|
53
|
+
corpus integrity pins, and dashboard security controls inherited from the fork history.
|
|
54
|
+
- Added the documented upstream integration and rollback procedure.
|
|
55
|
+
|
|
56
|
+
### Security
|
|
57
|
+
|
|
58
|
+
- Removed scheduled live red-team execution from CI. Repository workflows now run offline tests
|
|
59
|
+
only.
|
|
60
|
+
- Session cards use an external image endpoint only when the operator configures `[art]`.
|
|
61
|
+
- Scoped persisted campaign fingerprints with an operator-held HMAC key and a per-report salt.
|
|
62
|
+
- Bound resume authorization to the validated checkpoint and Wallbreaker version.
|
|
63
|
+
- Rejected unexpected effective prompt roles and known credentials in child output or state.
|
|
64
|
+
- Moved the authorized live CI example outside `.github/workflows`; repository workflows do not
|
|
65
|
+
schedule provider calls.
|
|
66
|
+
- Removed tracked prompts, private-path instructions, historical provider configuration, and UI
|
|
67
|
+
captures containing run data from the release tree.
|
|
68
|
+
- Clarified that the Hermes laboratory is an ephemeral native process, not an operating-system
|
|
69
|
+
sandbox.
|
|
70
|
+
|
|
71
|
+
### Fixed
|
|
72
|
+
|
|
73
|
+
- Preserved manual review whenever any evidence component remains unresolved, including runs that
|
|
74
|
+
also contain a confirmed finding.
|
|
75
|
+
- Preserved cancellation status and cleanup receipts when cleanup cannot be verified.
|
|
76
|
+
- Counted blocked tool attempts only during the evaluated run, with preflight attempts failing
|
|
77
|
+
closed.
|
|
78
|
+
- Normalized configured jailbreak paths across operating systems.
|
|
79
|
+
- Preserved Windows paths passed to `/session`, `/resume`, and `/save` commands.
|
|
80
|
+
- Protected dashboard token files with an owner/System/Administrators DACL on Windows while
|
|
81
|
+
retaining exact `0600` permissions on POSIX.
|
|
82
|
+
|
|
83
|
+
### Compatibility
|
|
84
|
+
|
|
85
|
+
- Preserves the `wallbreaker` package, imports, and `wallbreaker`/`wb` commands.
|
|
86
|
+
- Tracks Wallbreaker upstream commit `8b85e768efa69028b4af9f3d1c9c079178aa8a53`.
|
|
87
|
+
- Requires Python 3.11 or newer.
|