attacklm 0.6.7__tar.gz → 0.6.8__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 (211) hide show
  1. {attacklm-0.6.7 → attacklm-0.6.8}/PKG-INFO +1 -1
  2. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/train_template.py +4 -4
  3. attacklm-0.6.8/src/attacklm/__version__.py +1 -0
  4. attacklm-0.6.7/src/attacklm/__version__.py +0 -1
  5. {attacklm-0.6.7 → attacklm-0.6.8}/.github/workflows/release.yml +0 -0
  6. {attacklm-0.6.7 → attacklm-0.6.8}/.gitignore +0 -0
  7. {attacklm-0.6.7 → attacklm-0.6.8}/ATTRIBUTION.md +0 -0
  8. {attacklm-0.6.7 → attacklm-0.6.8}/CHANGELOG.md +0 -0
  9. {attacklm-0.6.7 → attacklm-0.6.8}/CONTRIBUTING.md +0 -0
  10. {attacklm-0.6.7 → attacklm-0.6.8}/EVALUATION.md +0 -0
  11. {attacklm-0.6.7 → attacklm-0.6.8}/LICENSE +0 -0
  12. {attacklm-0.6.7 → attacklm-0.6.8}/MANIFEST.in +0 -0
  13. {attacklm-0.6.7 → attacklm-0.6.8}/Makefile +0 -0
  14. {attacklm-0.6.7 → attacklm-0.6.8}/NOTICE +0 -0
  15. {attacklm-0.6.7 → attacklm-0.6.8}/QA_BEFORE_RELEASES.md +0 -0
  16. {attacklm-0.6.7 → attacklm-0.6.8}/README.md +0 -0
  17. {attacklm-0.6.7 → attacklm-0.6.8}/REPLAY_PLAN.md +0 -0
  18. {attacklm-0.6.7 → attacklm-0.6.8}/data/ATTRIBUTION.md +0 -0
  19. {attacklm-0.6.7 → attacklm-0.6.8}/data/LEGAL.md +0 -0
  20. {attacklm-0.6.7 → attacklm-0.6.8}/data/REMOVAL.md +0 -0
  21. {attacklm-0.6.7 → attacklm-0.6.8}/data/bench/questions.jsonl +0 -0
  22. {attacklm-0.6.7 → attacklm-0.6.8}/data/bench/speed_context.txt +0 -0
  23. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/ATTRIBUTION.md +0 -0
  24. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/GEMINI_RESEARCH_2026-06-11.md +0 -0
  25. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/acquisition_report.json +0 -0
  26. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/manifest.json +0 -0
  27. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/README.md +0 -0
  28. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/_index.json +0 -0
  29. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/atomic-red-team/LICENSE.md +0 -0
  30. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/atomic-red-team/SOURCE.md +0 -0
  31. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/atomic-red-team/base/collection/data.jsonl +0 -0
  32. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/atomic-red-team/base/discovery/data.jsonl +0 -0
  33. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/atomic-red-team/base/execution/data.jsonl +0 -0
  34. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/atomic-red-team/base/exfiltration/data.jsonl +0 -0
  35. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/atomic-red-team/base/persistence/data.jsonl +0 -0
  36. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/attacklm-synthetic/LICENSE.md +0 -0
  37. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/attacklm-synthetic/SOURCE.md +0 -0
  38. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/attacklm-synthetic/orchestrator/data.jsonl +0 -0
  39. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/azure-pyrit/LICENSE.md +0 -0
  40. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/azure-pyrit/SOURCE.md +0 -0
  41. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/cyberark-fuzzyai/LICENSE.md +0 -0
  42. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/cyberark-fuzzyai/SOURCE.md +0 -0
  43. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/elastic-rules/LICENSE.md +0 -0
  44. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/elastic-rules/SOURCE.md +0 -0
  45. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/llm-generated/LICENSE.md +0 -0
  46. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/llm-generated/SOURCE.md +0 -0
  47. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/llm-generated/cloud/attacks/data_llm.jsonl +0 -0
  48. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/llm-generated/ics/attacks/data_llm.jsonl +0 -0
  49. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/llm-generated/social_engineering/phishing/data_llm.jsonl +0 -0
  50. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/llm-generated/wireless/attacks/data_llm.jsonl +0 -0
  51. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/LICENSE.md +0 -0
  52. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/SOURCE.md +0 -0
  53. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/base/collection/data.jsonl +0 -0
  54. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/base/credential_access/data.jsonl +0 -0
  55. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/base/defense_evasion/data.jsonl +0 -0
  56. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/base/discovery/data.jsonl +0 -0
  57. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/base/execution/data.jsonl +0 -0
  58. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/base/lateral_movement/data.jsonl +0 -0
  59. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/base/persistence/data.jsonl +0 -0
  60. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/base/privilege_escalation/data.jsonl +0 -0
  61. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/metasploit-framework/tools/metasploit/data.jsonl +0 -0
  62. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-atlas-arsenal/LICENSE.md +0 -0
  63. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-atlas-arsenal/SOURCE.md +0 -0
  64. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-atlas-arsenal/base/discovery/data.jsonl +0 -0
  65. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-stockpile/LICENSE.md +0 -0
  66. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-stockpile/SOURCE.md +0 -0
  67. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-stockpile/base/collection/data.jsonl +0 -0
  68. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-stockpile/base/discovery/data.jsonl +0 -0
  69. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-stockpile/base/execution/data.jsonl +0 -0
  70. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-stockpile/base/exfiltration/data.jsonl +0 -0
  71. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mitre-stockpile/base/persistence/data.jsonl +0 -0
  72. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mordor/LICENSE.md +0 -0
  73. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/mordor/SOURCE.md +0 -0
  74. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/nist-ir/LICENSE.md +0 -0
  75. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/nist-ir/SOURCE.md +0 -0
  76. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/nvidia-garak/LICENSE.md +0 -0
  77. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/nvidia-garak/SOURCE.md +0 -0
  78. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/nvidia-garak/ai/jailbreaking/data.jsonl +0 -0
  79. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/promptfoo/LICENSE.md +0 -0
  80. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/promptfoo/SOURCE.md +0 -0
  81. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/promptfoo/ai/prompt-injection/data.jsonl +0 -0
  82. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/promptmap/LICENSE.md +0 -0
  83. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/promptmap/SOURCE.md +0 -0
  84. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/promptmap/ai/prompt-injection/data.jsonl +0 -0
  85. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/replay-general/LICENSE.md +0 -0
  86. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/replay-general/SOURCE.md +0 -0
  87. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/replay-general/base/replay/data_code.jsonl +0 -0
  88. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/replay-general/base/replay/data_conversation.jsonl +0 -0
  89. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/replay-general/base/replay/data_factual.jsonl +0 -0
  90. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/replay-general/base/replay/data_reasoning.jsonl +0 -0
  91. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/sigma-hq/LICENSE.md +0 -0
  92. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/sigma-hq/SOURCE.md +0 -0
  93. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/splunk-content/LICENSE.md +0 -0
  94. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/splunk-content/SOURCE.md +0 -0
  95. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/threathunter-playbook/LICENSE.md +0 -0
  96. {attacklm-0.6.7 → attacklm-0.6.8}/data/datasets/buckets/sources/threathunter-playbook/SOURCE.md +0 -0
  97. {attacklm-0.6.7 → attacklm-0.6.8}/data/golden/prompts.jsonl +0 -0
  98. {attacklm-0.6.7 → attacklm-0.6.8}/data/reference/prompts.jsonl +0 -0
  99. {attacklm-0.6.7 → attacklm-0.6.8}/data/steering/prompts/opsec_aware.txt +0 -0
  100. {attacklm-0.6.7 → attacklm-0.6.8}/data/steering/prompts/opsec_unaware.txt +0 -0
  101. {attacklm-0.6.7 → attacklm-0.6.8}/data/steering/prompts/succinct.txt +0 -0
  102. {attacklm-0.6.7 → attacklm-0.6.8}/data/steering/prompts/verbose.txt +0 -0
  103. {attacklm-0.6.7 → attacklm-0.6.8}/experiments/README.md +0 -0
  104. {attacklm-0.6.7 → attacklm-0.6.8}/experiments/synthetic_dataset_mutator_evol_instruct.py +0 -0
  105. {attacklm-0.6.7 → attacklm-0.6.8}/hf/.gitattributes +0 -0
  106. {attacklm-0.6.7 → attacklm-0.6.8}/hf/README.md +0 -0
  107. {attacklm-0.6.7 → attacklm-0.6.8}/hf/data/manifest.json +0 -0
  108. {attacklm-0.6.7 → attacklm-0.6.8}/hf/dataset_infos.json +0 -0
  109. {attacklm-0.6.7 → attacklm-0.6.8}/hf/scripts/build_hf_dataset.py +0 -0
  110. {attacklm-0.6.7 → attacklm-0.6.8}/hf/scripts/push_to_hf.py +0 -0
  111. {attacklm-0.6.7 → attacklm-0.6.8}/hpo_runs/.gitkeep +0 -0
  112. {attacklm-0.6.7 → attacklm-0.6.8}/hpo_runs/hpo_state.json +0 -0
  113. {attacklm-0.6.7 → attacklm-0.6.8}/hpo_runs/hpo_trial_dataset.jsonl +0 -0
  114. {attacklm-0.6.7 → attacklm-0.6.8}/logs/.gitkeep +0 -0
  115. {attacklm-0.6.7 → attacklm-0.6.8}/notes/BLUE_TEAM_DESIGN_v0.5.0.md +0 -0
  116. {attacklm-0.6.7 → attacklm-0.6.8}/notes/EVAL_DESIGN_v0.4.0.md +0 -0
  117. {attacklm-0.6.7 → attacklm-0.6.8}/notes/STEERING_REVIEW_v0.4.0.md +0 -0
  118. {attacklm-0.6.7 → attacklm-0.6.8}/pipeline.example.yaml +0 -0
  119. {attacklm-0.6.7 → attacklm-0.6.8}/presets/blue-team.json +0 -0
  120. {attacklm-0.6.7 → attacklm-0.6.8}/presets/purple-team.json +0 -0
  121. {attacklm-0.6.7 → attacklm-0.6.8}/presets/red-team.json +0 -0
  122. {attacklm-0.6.7 → attacklm-0.6.8}/pyproject.toml +0 -0
  123. {attacklm-0.6.7 → attacklm-0.6.8}/requirements.txt +0 -0
  124. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/_eval_loader.py +0 -0
  125. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/acquire_cloud_attack_dataset.py +0 -0
  126. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/acquire_ics_dataset.py +0 -0
  127. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/acquire_phishing_dataset.py +0 -0
  128. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/acquire_red_team_tactics.py +0 -0
  129. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/acquire_replay_general.py +0 -0
  130. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/acquire_supply_chain_dataset.py +0 -0
  131. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/acquire_web_attack_dataset.py +0 -0
  132. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/acquire_wireless_dataset.py +0 -0
  133. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/add_attribution.py +0 -0
  134. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/audit_dataset.py +0 -0
  135. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/augment_attribution.py +0 -0
  136. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/balance_buckets.py +0 -0
  137. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/bucket_loader.py +0 -0
  138. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/build.py +0 -0
  139. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/classify_unrouted_modules.py +0 -0
  140. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/clone_repos.sh +0 -0
  141. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/collect_reference.py +0 -0
  142. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/compare_scores.py +0 -0
  143. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/convert_to_gguf.py +0 -0
  144. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/dedupe_and_import_llm.py +0 -0
  145. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/demo.py +0 -0
  146. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/device_utils.py +0 -0
  147. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/domain_bench.py +0 -0
  148. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/eval_retention.py +0 -0
  149. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_ai_tools_to_jsonl.py +0 -0
  150. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_atomic_red_team_to_jsonl.py +0 -0
  151. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_by_tactic.py +0 -0
  152. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_caldera_plugins_to_jsonl.py +0 -0
  153. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_elastic_rules.py +0 -0
  154. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_infection_monkey_to_jsonl.py +0 -0
  155. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_mordor.py +0 -0
  156. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_nist_ir.py +0 -0
  157. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_rta_to_jsonl.py +0 -0
  158. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_sigma_defensive.py +0 -0
  159. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_splunk_content.py +0 -0
  160. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/extract_threathunter_playbook.py +0 -0
  161. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/generate_dataset.py +0 -0
  162. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/generate_dataset_deterministic.py +0 -0
  163. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/generate_hybrid_dataset.py +0 -0
  164. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/generate_metasploit_dataset.py +0 -0
  165. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/generate_orchestrator.py +0 -0
  166. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/generate_prompt_injection.py +0 -0
  167. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/generate_source_layout.py +0 -0
  168. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/generate_synthetic_scarce.py +0 -0
  169. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/golden_vectors.py +0 -0
  170. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/hpo_runner.py +0 -0
  171. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/import_gguf.sh +0 -0
  172. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/import_to_lmstudio.sh +0 -0
  173. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/infer.py +0 -0
  174. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/init_pipeline.py +0 -0
  175. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/llm_generate_wrapper.py +0 -0
  176. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/merge_adapter.py +0 -0
  177. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/migrate_buckets_to_v021.py +0 -0
  178. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/migrate_v015_to_v020.py +0 -0
  179. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/mitre_tactic_lookup.py +0 -0
  180. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/parse_metasploit_to_jsonl.py +0 -0
  181. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/pipeline.py +0 -0
  182. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/rebuild_manifest.py +0 -0
  183. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/register_ollama.py +0 -0
  184. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/reorganize_buckets.py +0 -0
  185. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/replay_mixer.py +0 -0
  186. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/run_all_acquisitions.py +0 -0
  187. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/score_candidates.py +0 -0
  188. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/scrub_bpl_callback.py +0 -0
  189. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/setup_buckets.py +0 -0
  190. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/speed_bench.py +0 -0
  191. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/stamp_and_reorg.py +0 -0
  192. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/steering.py +0 -0
  193. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/train_all.py +0 -0
  194. {attacklm-0.6.7 → attacklm-0.6.8}/scripts/validate_per_category.py +0 -0
  195. {attacklm-0.6.7 → attacklm-0.6.8}/src/attacklm/__init__.py +0 -0
  196. {attacklm-0.6.7 → attacklm-0.6.8}/src/attacklm/_project_root.py +0 -0
  197. {attacklm-0.6.7 → attacklm-0.6.8}/src/attacklm/cli.py +0 -0
  198. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_balance_buckets.py +0 -0
  199. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_collect_reference.py +0 -0
  200. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_compare_scores.py +0 -0
  201. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_domain_bench.py +0 -0
  202. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_eval_loader.py +0 -0
  203. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_eval_retention.py +0 -0
  204. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_golden_vectors.py +0 -0
  205. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_init_pipeline.py +0 -0
  206. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_replay_mixer.py +0 -0
  207. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_score_candidates.py +0 -0
  208. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_speed_bench.py +0 -0
  209. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_steering.py +0 -0
  210. {attacklm-0.6.7 → attacklm-0.6.8}/tests/test_thinking_models.py +0 -0
  211. {attacklm-0.6.7 → attacklm-0.6.8}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: attacklm
3
- Version: 0.6.7
3
+ Version: 0.6.8
4
4
  Summary: QLoRA-fine-tuned Qwen2.5-Coder for offensive/defensive security and AI red-teaming
5
5
  Project-URL: Homepage, https://github.com/Veedubin/AttackLM
6
6
  Project-URL: Repository, https://github.com/Veedubin/AttackLM
@@ -3366,19 +3366,19 @@ def main() -> None:
3366
3366
  except (TypeError, ValueError):
3367
3367
  loss_val = 0.0
3368
3368
 
3369
- # --- VRAM (allocated + cached / total) ---
3369
+ # --- VRAM (used/total with alloc+cache breakdown) ---
3370
3370
  vram_str = ""
3371
3371
  if is_cuda():
3372
3372
  try:
3373
3373
  allocated_gb = gpu_mem_allocated_bytes() / (1024**3)
3374
3374
  cached_gb = gpu_mem_cached_bytes() / (1024**3)
3375
+ used_gb = allocated_gb + cached_gb
3375
3376
  total_gb = torch.cuda.get_device_properties(0).total_memory / (
3376
3377
  1024**3
3377
3378
  )
3378
3379
  vram_str = (
3379
- f"VRAM alloc {allocated_gb:.1f} "
3380
- f"cache {cached_gb:.1f} "
3381
- f"/{total_gb:.1f} GB"
3380
+ f"VRAM {used_gb:.1f}/{total_gb:.1f} GB"
3381
+ f" ({allocated_gb:.1f} alloc + {cached_gb:.1f} cache)"
3382
3382
  )
3383
3383
  except Exception:
3384
3384
  pass
@@ -0,0 +1 @@
1
+ __version__ = "0.6.8"
@@ -1 +0,0 @@
1
- __version__ = "0.6.7"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes