unpick 0.1.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.
- unpick-0.1.0/.gitignore +11 -0
- unpick-0.1.0/.unpick/decisions.json +1248 -0
- unpick-0.1.0/.unpickignore +6 -0
- unpick-0.1.0/CONTRIBUTING.md +32 -0
- unpick-0.1.0/DECISIONS.md +174 -0
- unpick-0.1.0/LICENSE +202 -0
- unpick-0.1.0/PKG-INFO +257 -0
- unpick-0.1.0/README.md +216 -0
- unpick-0.1.0/SECURITY.md +8 -0
- unpick-0.1.0/data/abuse_channels.json +62 -0
- unpick-0.1.0/data/judge_reliability.json +20 -0
- unpick-0.1.0/data/known_names.txt +50 -0
- unpick-0.1.0/data/locations.json +5178 -0
- unpick-0.1.0/data/paste_domains.txt +42 -0
- unpick-0.1.0/data/phrases.json +125 -0
- unpick-0.1.0/data/prompts/judge-v1.txt +29 -0
- unpick-0.1.0/data/rotation.json +381 -0
- unpick-0.1.0/data/sensitive_paths.txt +26 -0
- unpick-0.1.0/data/yara/unpick.yar +125 -0
- unpick-0.1.0/demo/README.md +14 -0
- unpick-0.1.0/demo/accepted.decisions.json +214 -0
- unpick-0.1.0/demo/run.ps1 +24 -0
- unpick-0.1.0/demo/run.sh +23 -0
- unpick-0.1.0/demo/sample-a/SKILL.md +25 -0
- unpick-0.1.0/demo/sample-b/SKILL.md +20 -0
- unpick-0.1.0/demo/tools.json +18 -0
- unpick-0.1.0/docs/BENCHMARK.md +56 -0
- unpick-0.1.0/docs/DEFAULTS.md +44 -0
- unpick-0.1.0/docs/HANDOUT-COMMANDS.md +89 -0
- unpick-0.1.0/docs/JUDGES.md +33 -0
- unpick-0.1.0/docs/SLIDES.md +25 -0
- unpick-0.1.0/docs/VERIFIED.md +1055 -0
- unpick-0.1.0/docs/research/2026-10-landscape.md +348 -0
- unpick-0.1.0/docs/verified/backends.md +117 -0
- unpick-0.1.0/docs/verified/fallback-judge.md +94 -0
- unpick-0.1.0/docs/verified/inventory.md +306 -0
- unpick-0.1.0/docs/verified/judges.md +99 -0
- unpick-0.1.0/docs/verified/phase3.md +143 -0
- unpick-0.1.0/docs/verified/phase4.md +255 -0
- unpick-0.1.0/pyproject.toml +71 -0
- unpick-0.1.0/schemas/finding.schema.json +27 -0
- unpick-0.1.0/schemas/judge.schema.json +25 -0
- unpick-0.1.0/shims/apple-fm/apple-fm +0 -0
- unpick-0.1.0/shims/apple-fm/main.swift +58 -0
- unpick-0.1.0/tests/__init__.py +0 -0
- unpick-0.1.0/tests/adversarial/01-ignore-the-scanner.md +20 -0
- unpick-0.1.0/tests/adversarial/02-fake-answer-and-fence.md +13 -0
- unpick-0.1.0/tests/adversarial/03-system-message-in-tool.json +10 -0
- unpick-0.1.0/tests/adversarial/04-hidden-note-to-judge.md +18 -0
- unpick-0.1.0/tests/adversarial/README.md +6 -0
- unpick-0.1.0/tests/adversarial/eval.py +58 -0
- unpick-0.1.0/tests/adversarial/expected.json +6 -0
- unpick-0.1.0/tests/benchmark.py +134 -0
- unpick-0.1.0/tests/conftest.py +30 -0
- unpick-0.1.0/tests/fixtures/backends/mcp-scanner/input/tools.json +19 -0
- unpick-0.1.0/tests/fixtures/backends/mcp-scanner/meta.json +33 -0
- unpick-0.1.0/tests/fixtures/backends/mcp-scanner/output.json +44 -0
- unpick-0.1.0/tests/fixtures/backends/skill-scanner/input/defanged-test-skill/SKILL.md +21 -0
- unpick-0.1.0/tests/fixtures/backends/skill-scanner/meta.json +29 -0
- unpick-0.1.0/tests/fixtures/backends/skill-scanner/output.json +422 -0
- unpick-0.1.0/tests/fixtures/backends/skillspector/input/defanged-test-skill/SKILL.md +21 -0
- unpick-0.1.0/tests/fixtures/backends/skillspector/meta.json +30 -0
- unpick-0.1.0/tests/fixtures/backends/skillspector/output.json +585 -0
- unpick-0.1.0/tests/fixtures/backends/yara-x/input/rules.yar +20 -0
- unpick-0.1.0/tests/fixtures/backends/yara-x/input/targets/defanged-test-skill/SKILL.md +21 -0
- unpick-0.1.0/tests/fixtures/backends/yara-x/input/targets/tools.json +19 -0
- unpick-0.1.0/tests/fixtures/backends/yara-x/meta.json +34 -0
- unpick-0.1.0/tests/fixtures/backends/yara-x/output.json +95 -0
- unpick-0.1.0/tests/fixtures/benign/SOURCES.md +11 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/LICENSE-Apache-2.0.txt +202 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/academy-guide/SKILL.md +147 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/algorithmic-art/SKILL.md +405 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/brand-guidelines/SKILL.md +73 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/canvas-design/SKILL.md +130 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/claude-api/SKILL.md +616 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/discernment-nudge/SKILL.md +209 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/frontend-design/SKILL.md +71 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/internal-comms/SKILL.md +32 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/mcp-builder/SKILL.md +236 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/skill-creator/SKILL.md +485 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/slack-gif-creator/SKILL.md +254 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/theme-factory/SKILL.md +59 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/web-artifacts-builder/SKILL.md +74 -0
- unpick-0.1.0/tests/fixtures/benign/anthropic-skills/webapp-testing/SKILL.md +96 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/LICENSE-MIT.txt +21 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/a11y.instructions.md +731 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/agent-safety.instructions.md +95 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/agent-skills.instructions.md +376 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/agents.instructions.md +997 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/ai-prompt-engineering-safety-best-practices.instructions.md +867 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/ansible.instructions.md +88 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/apex.instructions.md +1294 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/arch-linux.instructions.md +38 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/aspnet-rest-apis.instructions.md +110 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/astro.instructions.md +180 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/attester-verify-packages.instructions.md +38 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/aws-appsync.instructions.md +190 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-apim-ai-gateway.instructions.md +256 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-devops-pipelines.instructions.md +185 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-durable-functions-csharp.instructions.md +149 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-functions-csharp.instructions.md +103 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-functions-typescript.instructions.md +14 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-iot-edge-architecture.instructions.md +26 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-logic-apps-power-automate.instructions.md +1943 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-naming.instructions.md +258 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-verified-modules-bicep.instructions.md +205 -0
- unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-verified-modules-terraform.instructions.md +229 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/LICENSE +17 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/NOTICE.md +7 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/autonomy-abuse/no-confirmation/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/autonomy-abuse/no-confirmation/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/autonomy-abuse/no-confirmation/directive.sh +2 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/backdoor/magic-string-trigger/SKILL.md +11 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/backdoor/magic-string-trigger/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/backdoor/magic-string-trigger/process.py +18 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/behavioral-analysis/multi-file-exfiltration/SKILL.md +12 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/behavioral-analysis/multi-file-exfiltration/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/behavioral-analysis/multi-file-exfiltration/reporter.py +21 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/command-injection/eval-execution/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/command-injection/eval-execution/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/command-injection/eval-execution/calculate.py +18 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/config-tunnel-exfil/SKILL.md +11 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/config-tunnel-exfil/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/config-tunnel-exfil/config.yaml +1 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-dump/SKILL.md +16 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-dump/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-dump/scripts/summarize.py +46 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-secrets/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-secrets/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-secrets/get_info.py +18 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/hardcoded-secrets/stripe-key/SKILL.md +11 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/hardcoded-secrets/stripe-key/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/harmful-content/explicit-ransomware-request/SKILL.md +11 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/harmful-content/explicit-ransomware-request/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/malware/ransomware-chain/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/malware/ransomware-chain/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/malware/ransomware-chain/payload.py +22 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/obfuscation/base64-payload/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/obfuscation/base64-payload/_expected.json +39 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/obfuscation/base64-payload/process.py +19 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/path-traversal/file-reader/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/path-traversal/file-reader/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/path-traversal/file-reader/read.py +18 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/policy-violation/missing-license/SKILL.md +8 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/policy-violation/missing-license/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/prompt-injection/jailbreak-override/SKILL.md +11 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/prompt-injection/jailbreak-override/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/resource-exhaustion/infinite-loop/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/resource-exhaustion/infinite-loop/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/resource-exhaustion/infinite-loop/analyze.py +19 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills/simple-math/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills/simple-math/_expected.json +22 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills/simple-math/math_ops.py +18 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/SKILL.md +19 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/_expected.json +22 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/config_reader.py +39 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/config_reader.ts +24 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/filter-env.sh +8 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/setup.sh +11 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/file-validator/SKILL.md +11 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/file-validator/_expected.json +22 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/file-validator/validate.py +18 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/registry-default-mirror/SKILL.md +15 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/registry-default-mirror/_expected.json +22 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/registry-default-mirror/scripts/bootstrap.sh +21 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/skill-discovery-abuse/keyword-stuffing/SKILL.md +9 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/skill-discovery-abuse/keyword-stuffing/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/skill-discovery-abuse/keyword-stuffing/payload.md +1 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/social-engineering/vague-description/SKILL.md +9 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/social-engineering/vague-description/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/sql-injection/database-query/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/sql-injection/database-query/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/sql-injection/database-query/query.py +18 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect/SKILL.md +15 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect/_expected.json +39 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect/scripts/bootstrap.sh +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect-declared/SKILL.md +16 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect-declared/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect-declared/scripts/bootstrap.sh +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/unpinned-dependency/SKILL.md +10 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/unpinned-dependency/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/unpinned-dependency/requirements.txt +1 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/tool-chaining-abuse/attacker-forwarding/SKILL.md +9 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/tool-chaining-abuse/attacker-forwarding/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/tool-chaining-abuse/attacker-forwarding/payload.md +1 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/transitive-trust-abuse/external-instructions/SKILL.md +9 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/transitive-trust-abuse/external-instructions/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/transitive-trust-abuse/external-instructions/payload.md +1 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/unauthorized-tool-use/remote-package-source/SKILL.md +9 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/unauthorized-tool-use/remote-package-source/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/unauthorized-tool-use/remote-package-source/install.sh +1 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/unicode-steganography/encoded-tag/SKILL.md +9 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/unicode-steganography/encoded-tag/_expected.json +31 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/skills/unicode-steganography/encoded-tag/payload.py +17 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/ascii-smuggling/SKILL.md +25 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/eicar-test/SKILL.md +15 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/eicar-test/_expected.json +15 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/eicar-test/assets/test-binary.bin +0 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/exfiltrator/SKILL.md +16 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/exfiltrator/_expected.json +29 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/exfiltrator/analyze.py +40 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/flowise-cve-2025-59528/SKILL.md +13 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/mcp-atlassian-cve-2026-27825/SKILL.md +7 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/mcpwn-cve-2026-33032/SKILL.md +7 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/prompt-injection/SKILL.md +18 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/safe/atr-benign-control/SKILL.md +13 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/safe/simple-formatter/SKILL.md +29 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/safe/simple-formatter/_expected.json +8 -0
- unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/safe/simple-formatter/formatter.py +53 -0
- unpick-0.1.0/tests/fixtures/judges/apple-fm.json +59 -0
- unpick-0.1.0/tests/fixtures/judges/claude-code.json +64 -0
- unpick-0.1.0/tests/fixtures/judges/fallback.json +56 -0
- unpick-0.1.0/tests/fixtures/rehearse/sample-a-triggered/flight.jsonl +6 -0
- unpick-0.1.0/tests/fixtures/rehearse/sample-a-triggered/strace.log +536 -0
- unpick-0.1.0/tests/fixtures/rehearse/sample-a-triggered/transcript.json +93 -0
- unpick-0.1.0/tests/handout/handout.ps1 +17 -0
- unpick-0.1.0/tests/handout/handout.sh +15 -0
- unpick-0.1.0/tests/slides.py +123 -0
- unpick-0.1.0/tests/test_backends_contract.py +95 -0
- unpick-0.1.0/tests/test_canary_flight.py +26 -0
- unpick-0.1.0/tests/test_checks.py +102 -0
- unpick-0.1.0/tests/test_checks_2026.py +110 -0
- unpick-0.1.0/tests/test_checks_ci_redirect.py +73 -0
- unpick-0.1.0/tests/test_cli.py +34 -0
- unpick-0.1.0/tests/test_demo_and_decisions.py +55 -0
- unpick-0.1.0/tests/test_dogfood.py +13 -0
- unpick-0.1.0/tests/test_hook_watch.py +142 -0
- unpick-0.1.0/tests/test_judges_contract.py +162 -0
- unpick-0.1.0/tests/test_phase3_lock_check.py +186 -0
- unpick-0.1.0/tests/test_recover.py +103 -0
- unpick-0.1.0/tests/test_rehearse.py +78 -0
- unpick-0.1.0/tests/test_render.py +56 -0
- unpick-0.1.0/tests/test_schema_inventory.py +84 -0
- unpick-0.1.0/tests/test_style.py +33 -0
- unpick-0.1.0/tests/test_ui_playwright.py +166 -0
- unpick-0.1.0/tests/test_ui_server.py +91 -0
- unpick-0.1.0/unpick/__init__.py +4 -0
- unpick-0.1.0/unpick/__main__.py +3 -0
- unpick-0.1.0/unpick/agentloop/__init__.py +1 -0
- unpick-0.1.0/unpick/agentloop/__main__.py +3 -0
- unpick-0.1.0/unpick/agentloop/loop.py +126 -0
- unpick-0.1.0/unpick/backends/__init__.py +146 -0
- unpick-0.1.0/unpick/backends/_common.py +29 -0
- unpick-0.1.0/unpick/backends/_yarax_runner.py +27 -0
- unpick-0.1.0/unpick/backends/cisco_mcp_scanner.py +89 -0
- unpick-0.1.0/unpick/backends/cisco_skill_scanner.py +53 -0
- unpick-0.1.0/unpick/backends/jiffy.py +52 -0
- unpick-0.1.0/unpick/backends/skillspector.py +54 -0
- unpick-0.1.0/unpick/backends/yara_x.py +63 -0
- unpick-0.1.0/unpick/box.py +89 -0
- unpick-0.1.0/unpick/canary.py +73 -0
- unpick-0.1.0/unpick/check.py +85 -0
- unpick-0.1.0/unpick/checks/__init__.py +97 -0
- unpick-0.1.0/unpick/checks/_config.py +62 -0
- unpick-0.1.0/unpick/checks/_md.py +29 -0
- unpick-0.1.0/unpick/checks/agent_settings.py +119 -0
- unpick-0.1.0/unpick/checks/autorun.py +77 -0
- unpick-0.1.0/unpick/checks/ci_agent_workflow.py +104 -0
- unpick-0.1.0/unpick/checks/encoded_execution.py +114 -0
- unpick-0.1.0/unpick/checks/fake_prerequisite.py +54 -0
- unpick-0.1.0/unpick/checks/git_autorun.py +56 -0
- unpick-0.1.0/unpick/checks/hidden_unicode.py +110 -0
- unpick-0.1.0/unpick/checks/install_redirect.py +54 -0
- unpick-0.1.0/unpick/checks/lookalike_names.py +117 -0
- unpick-0.1.0/unpick/checks/mcp_launch.py +74 -0
- unpick-0.1.0/unpick/checks/paste_sites.py +65 -0
- unpick-0.1.0/unpick/checks/render_divergence.py +45 -0
- unpick-0.1.0/unpick/checks/rules_file.py +44 -0
- unpick-0.1.0/unpick/checks/secrecy_phrases.py +39 -0
- unpick-0.1.0/unpick/checks/sensitive_paths.py +42 -0
- unpick-0.1.0/unpick/checks/tool_description.py +88 -0
- unpick-0.1.0/unpick/cli.py +676 -0
- unpick-0.1.0/unpick/consensus.py +46 -0
- unpick-0.1.0/unpick/consent.py +62 -0
- unpick-0.1.0/unpick/decisions.py +58 -0
- unpick-0.1.0/unpick/demo.py +120 -0
- unpick-0.1.0/unpick/demo_kit/sample-a/SKILL.md +25 -0
- unpick-0.1.0/unpick/demo_kit/sample-b/SKILL.md +20 -0
- unpick-0.1.0/unpick/demo_kit/tools.json +18 -0
- unpick-0.1.0/unpick/finding.py +70 -0
- unpick-0.1.0/unpick/flight.py +78 -0
- unpick-0.1.0/unpick/hook.py +319 -0
- unpick-0.1.0/unpick/inventory.py +325 -0
- unpick-0.1.0/unpick/judges/__init__.py +236 -0
- unpick-0.1.0/unpick/judges/_local.py +80 -0
- unpick-0.1.0/unpick/judges/api.py +63 -0
- unpick-0.1.0/unpick/judges/apple_fm.py +67 -0
- unpick-0.1.0/unpick/judges/claude_code.py +44 -0
- unpick-0.1.0/unpick/judges/codex.py +26 -0
- unpick-0.1.0/unpick/judges/fallback.py +140 -0
- unpick-0.1.0/unpick/judges/foundry_local.py +49 -0
- unpick-0.1.0/unpick/judges/gemini.py +50 -0
- unpick-0.1.0/unpick/judges/grok.py +26 -0
- unpick-0.1.0/unpick/judges/llamacpp.py +26 -0
- unpick-0.1.0/unpick/judges/lmstudio.py +29 -0
- unpick-0.1.0/unpick/judges/mlx.py +29 -0
- unpick-0.1.0/unpick/judges/ollama.py +40 -0
- unpick-0.1.0/unpick/judges/openai_local.py +32 -0
- unpick-0.1.0/unpick/lock.py +199 -0
- unpick-0.1.0/unpick/outdated.py +104 -0
- unpick-0.1.0/unpick/provenance.py +105 -0
- unpick-0.1.0/unpick/quarantine.py +244 -0
- unpick-0.1.0/unpick/recover.py +317 -0
- unpick-0.1.0/unpick/rehearse.py +224 -0
- unpick-0.1.0/unpick/render.py +190 -0
- unpick-0.1.0/unpick/report.py +130 -0
- unpick-0.1.0/unpick/resources.py +44 -0
- unpick-0.1.0/unpick/scan.py +210 -0
- unpick-0.1.0/unpick/sessions.py +114 -0
- unpick-0.1.0/unpick/ui/server.py +281 -0
- unpick-0.1.0/unpick/ui/static/app.css +139 -0
- unpick-0.1.0/unpick/ui/static/app.js +435 -0
- unpick-0.1.0/unpick/ui/static/index.html +158 -0
- unpick-0.1.0/unpick/ui/static/report.css +13 -0
- unpick-0.1.0/unpick/ui/static/tokens.css +34 -0
- unpick-0.1.0/unpick/watch.py +188 -0