attacklm 0.6.2__tar.gz → 0.6.3__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.
- {attacklm-0.6.2 → attacklm-0.6.3}/PKG-INFO +1 -1
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/train_template.py +8 -3
- attacklm-0.6.3/src/attacklm/__version__.py +1 -0
- attacklm-0.6.2/src/attacklm/__version__.py +0 -1
- {attacklm-0.6.2 → attacklm-0.6.3}/.github/workflows/release.yml +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/.gitignore +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/ATTRIBUTION.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/CHANGELOG.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/CONTRIBUTING.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/EVALUATION.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/LICENSE +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/MANIFEST.in +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/Makefile +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/NOTICE +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/QA_BEFORE_RELEASES.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/README.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/REPLAY_PLAN.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/ATTRIBUTION.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/LEGAL.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/REMOVAL.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/bench/questions.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/bench/speed_context.txt +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/ATTRIBUTION.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/GEMINI_RESEARCH_2026-06-11.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/acquisition_report.json +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/manifest.json +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/README.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/_index.json +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/atomic-red-team/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/atomic-red-team/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/atomic-red-team/base/collection/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/atomic-red-team/base/discovery/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/atomic-red-team/base/execution/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/atomic-red-team/base/exfiltration/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/atomic-red-team/base/persistence/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/attacklm-synthetic/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/attacklm-synthetic/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/attacklm-synthetic/orchestrator/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/azure-pyrit/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/azure-pyrit/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/cyberark-fuzzyai/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/cyberark-fuzzyai/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/elastic-rules/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/elastic-rules/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/llm-generated/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/llm-generated/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/llm-generated/cloud/attacks/data_llm.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/llm-generated/ics/attacks/data_llm.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/llm-generated/social_engineering/phishing/data_llm.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/llm-generated/wireless/attacks/data_llm.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/base/collection/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/base/credential_access/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/base/defense_evasion/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/base/discovery/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/base/execution/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/base/lateral_movement/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/base/persistence/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/base/privilege_escalation/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/tools/metasploit/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-atlas-arsenal/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-atlas-arsenal/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-atlas-arsenal/base/discovery/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-stockpile/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-stockpile/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-stockpile/base/collection/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-stockpile/base/discovery/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-stockpile/base/execution/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-stockpile/base/exfiltration/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-stockpile/base/persistence/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mordor/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mordor/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/nist-ir/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/nist-ir/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/nvidia-garak/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/nvidia-garak/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/nvidia-garak/ai/jailbreaking/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/promptfoo/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/promptfoo/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/promptfoo/ai/prompt-injection/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/promptmap/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/promptmap/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/promptmap/ai/prompt-injection/data.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/replay-general/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/replay-general/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/replay-general/base/replay/data_code.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/replay-general/base/replay/data_conversation.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/replay-general/base/replay/data_factual.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/replay-general/base/replay/data_reasoning.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/sigma-hq/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/sigma-hq/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/splunk-content/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/splunk-content/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/threathunter-playbook/LICENSE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/threathunter-playbook/SOURCE.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/golden/prompts.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/reference/prompts.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/steering/prompts/opsec_aware.txt +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/steering/prompts/opsec_unaware.txt +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/steering/prompts/succinct.txt +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/data/steering/prompts/verbose.txt +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/experiments/README.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/experiments/synthetic_dataset_mutator_evol_instruct.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/hf/.gitattributes +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/hf/README.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/hf/data/manifest.json +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/hf/dataset_infos.json +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/hf/scripts/build_hf_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/hf/scripts/push_to_hf.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/hpo_runs/.gitkeep +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/hpo_runs/hpo_state.json +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/hpo_runs/hpo_trial_dataset.jsonl +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/logs/.gitkeep +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/notes/BLUE_TEAM_DESIGN_v0.5.0.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/notes/EVAL_DESIGN_v0.4.0.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/notes/STEERING_REVIEW_v0.4.0.md +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/pipeline.example.yaml +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/presets/blue-team.json +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/presets/purple-team.json +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/presets/red-team.json +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/pyproject.toml +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/requirements.txt +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/_eval_loader.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/acquire_cloud_attack_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/acquire_ics_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/acquire_phishing_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/acquire_red_team_tactics.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/acquire_replay_general.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/acquire_supply_chain_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/acquire_web_attack_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/acquire_wireless_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/add_attribution.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/audit_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/augment_attribution.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/balance_buckets.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/bucket_loader.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/build.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/classify_unrouted_modules.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/clone_repos.sh +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/collect_reference.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/compare_scores.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/convert_to_gguf.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/dedupe_and_import_llm.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/demo.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/device_utils.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/domain_bench.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/eval_retention.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_ai_tools_to_jsonl.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_atomic_red_team_to_jsonl.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_by_tactic.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_caldera_plugins_to_jsonl.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_elastic_rules.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_infection_monkey_to_jsonl.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_mordor.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_nist_ir.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_rta_to_jsonl.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_sigma_defensive.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_splunk_content.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/extract_threathunter_playbook.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/generate_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/generate_dataset_deterministic.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/generate_hybrid_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/generate_metasploit_dataset.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/generate_orchestrator.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/generate_prompt_injection.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/generate_source_layout.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/generate_synthetic_scarce.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/golden_vectors.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/hpo_runner.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/import_gguf.sh +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/import_to_lmstudio.sh +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/infer.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/init_pipeline.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/llm_generate_wrapper.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/merge_adapter.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/migrate_buckets_to_v021.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/migrate_v015_to_v020.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/mitre_tactic_lookup.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/parse_metasploit_to_jsonl.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/pipeline.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/rebuild_manifest.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/register_ollama.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/reorganize_buckets.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/replay_mixer.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/run_all_acquisitions.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/score_candidates.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/scrub_bpl_callback.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/setup_buckets.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/speed_bench.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/stamp_and_reorg.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/steering.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/train_all.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/scripts/validate_per_category.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/src/attacklm/__init__.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/src/attacklm/_project_root.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/src/attacklm/cli.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_balance_buckets.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_collect_reference.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_compare_scores.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_domain_bench.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_eval_loader.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_eval_retention.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_golden_vectors.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_init_pipeline.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_replay_mixer.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_score_candidates.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_speed_bench.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_steering.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/tests/test_thinking_models.py +0 -0
- {attacklm-0.6.2 → attacklm-0.6.3}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: attacklm
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.3
|
|
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
|
|
@@ -2701,7 +2701,8 @@ def main() -> None:
|
|
|
2701
2701
|
self,
|
|
2702
2702
|
check_every: int = 5,
|
|
2703
2703
|
window_size: int = 20,
|
|
2704
|
-
ema_decay: float = 0.
|
|
2704
|
+
ema_decay: float = 0.5,
|
|
2705
|
+
min_delta: float = 0.005,
|
|
2705
2706
|
output_dir: str = "",
|
|
2706
2707
|
):
|
|
2707
2708
|
from collections import deque
|
|
@@ -2709,6 +2710,7 @@ def main() -> None:
|
|
|
2709
2710
|
self.check_every = check_every
|
|
2710
2711
|
self.window_size = window_size
|
|
2711
2712
|
self.ema_decay = ema_decay
|
|
2713
|
+
self.min_delta = min_delta
|
|
2712
2714
|
self.output_dir = output_dir
|
|
2713
2715
|
|
|
2714
2716
|
self._ema: float | None = None
|
|
@@ -2772,11 +2774,14 @@ def main() -> None:
|
|
|
2772
2774
|
second_mean = sum(window_list[mid:]) / mid
|
|
2773
2775
|
self.trend_delta = second_mean - first_mean
|
|
2774
2776
|
|
|
2775
|
-
if second_mean < first_mean:
|
|
2777
|
+
if second_mean < first_mean - self.min_delta:
|
|
2776
2778
|
self.trend_direction = "↓"
|
|
2777
2779
|
self._stale_checks = 0
|
|
2780
|
+
elif second_mean > first_mean + self.min_delta:
|
|
2781
|
+
self.trend_direction = "↑"
|
|
2782
|
+
self._stale_checks += 1
|
|
2778
2783
|
else:
|
|
2779
|
-
self.trend_direction = "
|
|
2784
|
+
self.trend_direction = "→"
|
|
2780
2785
|
self._stale_checks += 1
|
|
2781
2786
|
|
|
2782
2787
|
if self._stale_checks >= self._max_stale:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.6.3"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.6.2"
|
|
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
|
{attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/attacklm-synthetic/LICENSE.md
RENAMED
|
File without changes
|
{attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/attacklm-synthetic/SOURCE.md
RENAMED
|
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
|
{attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/LICENSE.md
RENAMED
|
File without changes
|
{attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/metasploit-framework/SOURCE.md
RENAMED
|
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
|
{attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-atlas-arsenal/LICENSE.md
RENAMED
|
File without changes
|
{attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/mitre-atlas-arsenal/SOURCE.md
RENAMED
|
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
|
{attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/threathunter-playbook/LICENSE.md
RENAMED
|
File without changes
|
{attacklm-0.6.2 → attacklm-0.6.3}/data/datasets/buckets/sources/threathunter-playbook/SOURCE.md
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|