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.
Files changed (316) hide show
  1. unpick-0.1.0/.gitignore +11 -0
  2. unpick-0.1.0/.unpick/decisions.json +1248 -0
  3. unpick-0.1.0/.unpickignore +6 -0
  4. unpick-0.1.0/CONTRIBUTING.md +32 -0
  5. unpick-0.1.0/DECISIONS.md +174 -0
  6. unpick-0.1.0/LICENSE +202 -0
  7. unpick-0.1.0/PKG-INFO +257 -0
  8. unpick-0.1.0/README.md +216 -0
  9. unpick-0.1.0/SECURITY.md +8 -0
  10. unpick-0.1.0/data/abuse_channels.json +62 -0
  11. unpick-0.1.0/data/judge_reliability.json +20 -0
  12. unpick-0.1.0/data/known_names.txt +50 -0
  13. unpick-0.1.0/data/locations.json +5178 -0
  14. unpick-0.1.0/data/paste_domains.txt +42 -0
  15. unpick-0.1.0/data/phrases.json +125 -0
  16. unpick-0.1.0/data/prompts/judge-v1.txt +29 -0
  17. unpick-0.1.0/data/rotation.json +381 -0
  18. unpick-0.1.0/data/sensitive_paths.txt +26 -0
  19. unpick-0.1.0/data/yara/unpick.yar +125 -0
  20. unpick-0.1.0/demo/README.md +14 -0
  21. unpick-0.1.0/demo/accepted.decisions.json +214 -0
  22. unpick-0.1.0/demo/run.ps1 +24 -0
  23. unpick-0.1.0/demo/run.sh +23 -0
  24. unpick-0.1.0/demo/sample-a/SKILL.md +25 -0
  25. unpick-0.1.0/demo/sample-b/SKILL.md +20 -0
  26. unpick-0.1.0/demo/tools.json +18 -0
  27. unpick-0.1.0/docs/BENCHMARK.md +56 -0
  28. unpick-0.1.0/docs/DEFAULTS.md +44 -0
  29. unpick-0.1.0/docs/HANDOUT-COMMANDS.md +89 -0
  30. unpick-0.1.0/docs/JUDGES.md +33 -0
  31. unpick-0.1.0/docs/SLIDES.md +25 -0
  32. unpick-0.1.0/docs/VERIFIED.md +1055 -0
  33. unpick-0.1.0/docs/research/2026-10-landscape.md +348 -0
  34. unpick-0.1.0/docs/verified/backends.md +117 -0
  35. unpick-0.1.0/docs/verified/fallback-judge.md +94 -0
  36. unpick-0.1.0/docs/verified/inventory.md +306 -0
  37. unpick-0.1.0/docs/verified/judges.md +99 -0
  38. unpick-0.1.0/docs/verified/phase3.md +143 -0
  39. unpick-0.1.0/docs/verified/phase4.md +255 -0
  40. unpick-0.1.0/pyproject.toml +71 -0
  41. unpick-0.1.0/schemas/finding.schema.json +27 -0
  42. unpick-0.1.0/schemas/judge.schema.json +25 -0
  43. unpick-0.1.0/shims/apple-fm/apple-fm +0 -0
  44. unpick-0.1.0/shims/apple-fm/main.swift +58 -0
  45. unpick-0.1.0/tests/__init__.py +0 -0
  46. unpick-0.1.0/tests/adversarial/01-ignore-the-scanner.md +20 -0
  47. unpick-0.1.0/tests/adversarial/02-fake-answer-and-fence.md +13 -0
  48. unpick-0.1.0/tests/adversarial/03-system-message-in-tool.json +10 -0
  49. unpick-0.1.0/tests/adversarial/04-hidden-note-to-judge.md +18 -0
  50. unpick-0.1.0/tests/adversarial/README.md +6 -0
  51. unpick-0.1.0/tests/adversarial/eval.py +58 -0
  52. unpick-0.1.0/tests/adversarial/expected.json +6 -0
  53. unpick-0.1.0/tests/benchmark.py +134 -0
  54. unpick-0.1.0/tests/conftest.py +30 -0
  55. unpick-0.1.0/tests/fixtures/backends/mcp-scanner/input/tools.json +19 -0
  56. unpick-0.1.0/tests/fixtures/backends/mcp-scanner/meta.json +33 -0
  57. unpick-0.1.0/tests/fixtures/backends/mcp-scanner/output.json +44 -0
  58. unpick-0.1.0/tests/fixtures/backends/skill-scanner/input/defanged-test-skill/SKILL.md +21 -0
  59. unpick-0.1.0/tests/fixtures/backends/skill-scanner/meta.json +29 -0
  60. unpick-0.1.0/tests/fixtures/backends/skill-scanner/output.json +422 -0
  61. unpick-0.1.0/tests/fixtures/backends/skillspector/input/defanged-test-skill/SKILL.md +21 -0
  62. unpick-0.1.0/tests/fixtures/backends/skillspector/meta.json +30 -0
  63. unpick-0.1.0/tests/fixtures/backends/skillspector/output.json +585 -0
  64. unpick-0.1.0/tests/fixtures/backends/yara-x/input/rules.yar +20 -0
  65. unpick-0.1.0/tests/fixtures/backends/yara-x/input/targets/defanged-test-skill/SKILL.md +21 -0
  66. unpick-0.1.0/tests/fixtures/backends/yara-x/input/targets/tools.json +19 -0
  67. unpick-0.1.0/tests/fixtures/backends/yara-x/meta.json +34 -0
  68. unpick-0.1.0/tests/fixtures/backends/yara-x/output.json +95 -0
  69. unpick-0.1.0/tests/fixtures/benign/SOURCES.md +11 -0
  70. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/LICENSE-Apache-2.0.txt +202 -0
  71. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/academy-guide/SKILL.md +147 -0
  72. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/algorithmic-art/SKILL.md +405 -0
  73. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/brand-guidelines/SKILL.md +73 -0
  74. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/canvas-design/SKILL.md +130 -0
  75. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/claude-api/SKILL.md +616 -0
  76. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/discernment-nudge/SKILL.md +209 -0
  77. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/frontend-design/SKILL.md +71 -0
  78. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/internal-comms/SKILL.md +32 -0
  79. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/mcp-builder/SKILL.md +236 -0
  80. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/skill-creator/SKILL.md +485 -0
  81. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/slack-gif-creator/SKILL.md +254 -0
  82. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/theme-factory/SKILL.md +59 -0
  83. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/web-artifacts-builder/SKILL.md +74 -0
  84. unpick-0.1.0/tests/fixtures/benign/anthropic-skills/webapp-testing/SKILL.md +96 -0
  85. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/LICENSE-MIT.txt +21 -0
  86. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/a11y.instructions.md +731 -0
  87. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/agent-safety.instructions.md +95 -0
  88. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/agent-skills.instructions.md +376 -0
  89. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/agents.instructions.md +997 -0
  90. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/ai-prompt-engineering-safety-best-practices.instructions.md +867 -0
  91. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/ansible.instructions.md +88 -0
  92. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/apex.instructions.md +1294 -0
  93. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/arch-linux.instructions.md +38 -0
  94. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/aspnet-rest-apis.instructions.md +110 -0
  95. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/astro.instructions.md +180 -0
  96. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/attester-verify-packages.instructions.md +38 -0
  97. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/aws-appsync.instructions.md +190 -0
  98. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-apim-ai-gateway.instructions.md +256 -0
  99. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-devops-pipelines.instructions.md +185 -0
  100. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-durable-functions-csharp.instructions.md +149 -0
  101. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-functions-csharp.instructions.md +103 -0
  102. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-functions-typescript.instructions.md +14 -0
  103. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-iot-edge-architecture.instructions.md +26 -0
  104. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-logic-apps-power-automate.instructions.md +1943 -0
  105. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-naming.instructions.md +258 -0
  106. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-verified-modules-bicep.instructions.md +205 -0
  107. unpick-0.1.0/tests/fixtures/benign/awesome-copilot/azure-verified-modules-terraform.instructions.md +229 -0
  108. unpick-0.1.0/tests/fixtures/cisco-evals/LICENSE +17 -0
  109. unpick-0.1.0/tests/fixtures/cisco-evals/NOTICE.md +7 -0
  110. unpick-0.1.0/tests/fixtures/cisco-evals/skills/autonomy-abuse/no-confirmation/SKILL.md +10 -0
  111. unpick-0.1.0/tests/fixtures/cisco-evals/skills/autonomy-abuse/no-confirmation/_expected.json +31 -0
  112. unpick-0.1.0/tests/fixtures/cisco-evals/skills/autonomy-abuse/no-confirmation/directive.sh +2 -0
  113. unpick-0.1.0/tests/fixtures/cisco-evals/skills/backdoor/magic-string-trigger/SKILL.md +11 -0
  114. unpick-0.1.0/tests/fixtures/cisco-evals/skills/backdoor/magic-string-trigger/_expected.json +31 -0
  115. unpick-0.1.0/tests/fixtures/cisco-evals/skills/backdoor/magic-string-trigger/process.py +18 -0
  116. unpick-0.1.0/tests/fixtures/cisco-evals/skills/behavioral-analysis/multi-file-exfiltration/SKILL.md +12 -0
  117. unpick-0.1.0/tests/fixtures/cisco-evals/skills/behavioral-analysis/multi-file-exfiltration/_expected.json +31 -0
  118. unpick-0.1.0/tests/fixtures/cisco-evals/skills/behavioral-analysis/multi-file-exfiltration/reporter.py +21 -0
  119. unpick-0.1.0/tests/fixtures/cisco-evals/skills/command-injection/eval-execution/SKILL.md +10 -0
  120. unpick-0.1.0/tests/fixtures/cisco-evals/skills/command-injection/eval-execution/_expected.json +31 -0
  121. unpick-0.1.0/tests/fixtures/cisco-evals/skills/command-injection/eval-execution/calculate.py +18 -0
  122. unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/config-tunnel-exfil/SKILL.md +11 -0
  123. unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/config-tunnel-exfil/_expected.json +31 -0
  124. unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/config-tunnel-exfil/config.yaml +1 -0
  125. unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-dump/SKILL.md +16 -0
  126. unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-dump/_expected.json +31 -0
  127. unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-dump/scripts/summarize.py +46 -0
  128. unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-secrets/SKILL.md +10 -0
  129. unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-secrets/_expected.json +31 -0
  130. unpick-0.1.0/tests/fixtures/cisco-evals/skills/data-exfiltration/environment-secrets/get_info.py +18 -0
  131. unpick-0.1.0/tests/fixtures/cisco-evals/skills/hardcoded-secrets/stripe-key/SKILL.md +11 -0
  132. unpick-0.1.0/tests/fixtures/cisco-evals/skills/hardcoded-secrets/stripe-key/_expected.json +31 -0
  133. unpick-0.1.0/tests/fixtures/cisco-evals/skills/harmful-content/explicit-ransomware-request/SKILL.md +11 -0
  134. unpick-0.1.0/tests/fixtures/cisco-evals/skills/harmful-content/explicit-ransomware-request/_expected.json +31 -0
  135. unpick-0.1.0/tests/fixtures/cisco-evals/skills/malware/ransomware-chain/SKILL.md +10 -0
  136. unpick-0.1.0/tests/fixtures/cisco-evals/skills/malware/ransomware-chain/_expected.json +31 -0
  137. unpick-0.1.0/tests/fixtures/cisco-evals/skills/malware/ransomware-chain/payload.py +22 -0
  138. unpick-0.1.0/tests/fixtures/cisco-evals/skills/obfuscation/base64-payload/SKILL.md +10 -0
  139. unpick-0.1.0/tests/fixtures/cisco-evals/skills/obfuscation/base64-payload/_expected.json +39 -0
  140. unpick-0.1.0/tests/fixtures/cisco-evals/skills/obfuscation/base64-payload/process.py +19 -0
  141. unpick-0.1.0/tests/fixtures/cisco-evals/skills/path-traversal/file-reader/SKILL.md +10 -0
  142. unpick-0.1.0/tests/fixtures/cisco-evals/skills/path-traversal/file-reader/_expected.json +31 -0
  143. unpick-0.1.0/tests/fixtures/cisco-evals/skills/path-traversal/file-reader/read.py +18 -0
  144. unpick-0.1.0/tests/fixtures/cisco-evals/skills/policy-violation/missing-license/SKILL.md +8 -0
  145. unpick-0.1.0/tests/fixtures/cisco-evals/skills/policy-violation/missing-license/_expected.json +31 -0
  146. unpick-0.1.0/tests/fixtures/cisco-evals/skills/prompt-injection/jailbreak-override/SKILL.md +11 -0
  147. unpick-0.1.0/tests/fixtures/cisco-evals/skills/prompt-injection/jailbreak-override/_expected.json +31 -0
  148. unpick-0.1.0/tests/fixtures/cisco-evals/skills/resource-exhaustion/infinite-loop/SKILL.md +10 -0
  149. unpick-0.1.0/tests/fixtures/cisco-evals/skills/resource-exhaustion/infinite-loop/_expected.json +31 -0
  150. unpick-0.1.0/tests/fixtures/cisco-evals/skills/resource-exhaustion/infinite-loop/analyze.py +19 -0
  151. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills/simple-math/SKILL.md +10 -0
  152. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills/simple-math/_expected.json +22 -0
  153. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills/simple-math/math_ops.py +18 -0
  154. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/SKILL.md +19 -0
  155. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/_expected.json +22 -0
  156. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/config_reader.py +39 -0
  157. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/config_reader.ts +24 -0
  158. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/filter-env.sh +8 -0
  159. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/env-config-reader/setup.sh +11 -0
  160. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/file-validator/SKILL.md +11 -0
  161. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/file-validator/_expected.json +22 -0
  162. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/file-validator/validate.py +18 -0
  163. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/registry-default-mirror/SKILL.md +15 -0
  164. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/registry-default-mirror/_expected.json +22 -0
  165. unpick-0.1.0/tests/fixtures/cisco-evals/skills/safe-skills-2/registry-default-mirror/scripts/bootstrap.sh +21 -0
  166. unpick-0.1.0/tests/fixtures/cisco-evals/skills/skill-discovery-abuse/keyword-stuffing/SKILL.md +9 -0
  167. unpick-0.1.0/tests/fixtures/cisco-evals/skills/skill-discovery-abuse/keyword-stuffing/_expected.json +31 -0
  168. unpick-0.1.0/tests/fixtures/cisco-evals/skills/skill-discovery-abuse/keyword-stuffing/payload.md +1 -0
  169. unpick-0.1.0/tests/fixtures/cisco-evals/skills/social-engineering/vague-description/SKILL.md +9 -0
  170. unpick-0.1.0/tests/fixtures/cisco-evals/skills/social-engineering/vague-description/_expected.json +31 -0
  171. unpick-0.1.0/tests/fixtures/cisco-evals/skills/sql-injection/database-query/SKILL.md +10 -0
  172. unpick-0.1.0/tests/fixtures/cisco-evals/skills/sql-injection/database-query/_expected.json +31 -0
  173. unpick-0.1.0/tests/fixtures/cisco-evals/skills/sql-injection/database-query/query.py +18 -0
  174. unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect/SKILL.md +15 -0
  175. unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect/_expected.json +39 -0
  176. unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect/scripts/bootstrap.sh +10 -0
  177. unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect-declared/SKILL.md +16 -0
  178. unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect-declared/_expected.json +31 -0
  179. unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/registry-redirect-declared/scripts/bootstrap.sh +10 -0
  180. unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/unpinned-dependency/SKILL.md +10 -0
  181. unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/unpinned-dependency/_expected.json +31 -0
  182. unpick-0.1.0/tests/fixtures/cisco-evals/skills/supply-chain-attack/unpinned-dependency/requirements.txt +1 -0
  183. unpick-0.1.0/tests/fixtures/cisco-evals/skills/tool-chaining-abuse/attacker-forwarding/SKILL.md +9 -0
  184. unpick-0.1.0/tests/fixtures/cisco-evals/skills/tool-chaining-abuse/attacker-forwarding/_expected.json +31 -0
  185. unpick-0.1.0/tests/fixtures/cisco-evals/skills/tool-chaining-abuse/attacker-forwarding/payload.md +1 -0
  186. unpick-0.1.0/tests/fixtures/cisco-evals/skills/transitive-trust-abuse/external-instructions/SKILL.md +9 -0
  187. unpick-0.1.0/tests/fixtures/cisco-evals/skills/transitive-trust-abuse/external-instructions/_expected.json +31 -0
  188. unpick-0.1.0/tests/fixtures/cisco-evals/skills/transitive-trust-abuse/external-instructions/payload.md +1 -0
  189. unpick-0.1.0/tests/fixtures/cisco-evals/skills/unauthorized-tool-use/remote-package-source/SKILL.md +9 -0
  190. unpick-0.1.0/tests/fixtures/cisco-evals/skills/unauthorized-tool-use/remote-package-source/_expected.json +31 -0
  191. unpick-0.1.0/tests/fixtures/cisco-evals/skills/unauthorized-tool-use/remote-package-source/install.sh +1 -0
  192. unpick-0.1.0/tests/fixtures/cisco-evals/skills/unicode-steganography/encoded-tag/SKILL.md +9 -0
  193. unpick-0.1.0/tests/fixtures/cisco-evals/skills/unicode-steganography/encoded-tag/_expected.json +31 -0
  194. unpick-0.1.0/tests/fixtures/cisco-evals/skills/unicode-steganography/encoded-tag/payload.py +17 -0
  195. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/ascii-smuggling/SKILL.md +25 -0
  196. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/eicar-test/SKILL.md +15 -0
  197. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/eicar-test/_expected.json +15 -0
  198. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/eicar-test/assets/test-binary.bin +0 -0
  199. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/exfiltrator/SKILL.md +16 -0
  200. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/exfiltrator/_expected.json +29 -0
  201. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/exfiltrator/analyze.py +40 -0
  202. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/flowise-cve-2025-59528/SKILL.md +13 -0
  203. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/mcp-atlassian-cve-2026-27825/SKILL.md +7 -0
  204. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/mcpwn-cve-2026-33032/SKILL.md +7 -0
  205. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/malicious/prompt-injection/SKILL.md +18 -0
  206. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/safe/atr-benign-control/SKILL.md +13 -0
  207. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/safe/simple-formatter/SKILL.md +29 -0
  208. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/safe/simple-formatter/_expected.json +8 -0
  209. unpick-0.1.0/tests/fixtures/cisco-evals/test_skills/safe/simple-formatter/formatter.py +53 -0
  210. unpick-0.1.0/tests/fixtures/judges/apple-fm.json +59 -0
  211. unpick-0.1.0/tests/fixtures/judges/claude-code.json +64 -0
  212. unpick-0.1.0/tests/fixtures/judges/fallback.json +56 -0
  213. unpick-0.1.0/tests/fixtures/rehearse/sample-a-triggered/flight.jsonl +6 -0
  214. unpick-0.1.0/tests/fixtures/rehearse/sample-a-triggered/strace.log +536 -0
  215. unpick-0.1.0/tests/fixtures/rehearse/sample-a-triggered/transcript.json +93 -0
  216. unpick-0.1.0/tests/handout/handout.ps1 +17 -0
  217. unpick-0.1.0/tests/handout/handout.sh +15 -0
  218. unpick-0.1.0/tests/slides.py +123 -0
  219. unpick-0.1.0/tests/test_backends_contract.py +95 -0
  220. unpick-0.1.0/tests/test_canary_flight.py +26 -0
  221. unpick-0.1.0/tests/test_checks.py +102 -0
  222. unpick-0.1.0/tests/test_checks_2026.py +110 -0
  223. unpick-0.1.0/tests/test_checks_ci_redirect.py +73 -0
  224. unpick-0.1.0/tests/test_cli.py +34 -0
  225. unpick-0.1.0/tests/test_demo_and_decisions.py +55 -0
  226. unpick-0.1.0/tests/test_dogfood.py +13 -0
  227. unpick-0.1.0/tests/test_hook_watch.py +142 -0
  228. unpick-0.1.0/tests/test_judges_contract.py +162 -0
  229. unpick-0.1.0/tests/test_phase3_lock_check.py +186 -0
  230. unpick-0.1.0/tests/test_recover.py +103 -0
  231. unpick-0.1.0/tests/test_rehearse.py +78 -0
  232. unpick-0.1.0/tests/test_render.py +56 -0
  233. unpick-0.1.0/tests/test_schema_inventory.py +84 -0
  234. unpick-0.1.0/tests/test_style.py +33 -0
  235. unpick-0.1.0/tests/test_ui_playwright.py +166 -0
  236. unpick-0.1.0/tests/test_ui_server.py +91 -0
  237. unpick-0.1.0/unpick/__init__.py +4 -0
  238. unpick-0.1.0/unpick/__main__.py +3 -0
  239. unpick-0.1.0/unpick/agentloop/__init__.py +1 -0
  240. unpick-0.1.0/unpick/agentloop/__main__.py +3 -0
  241. unpick-0.1.0/unpick/agentloop/loop.py +126 -0
  242. unpick-0.1.0/unpick/backends/__init__.py +146 -0
  243. unpick-0.1.0/unpick/backends/_common.py +29 -0
  244. unpick-0.1.0/unpick/backends/_yarax_runner.py +27 -0
  245. unpick-0.1.0/unpick/backends/cisco_mcp_scanner.py +89 -0
  246. unpick-0.1.0/unpick/backends/cisco_skill_scanner.py +53 -0
  247. unpick-0.1.0/unpick/backends/jiffy.py +52 -0
  248. unpick-0.1.0/unpick/backends/skillspector.py +54 -0
  249. unpick-0.1.0/unpick/backends/yara_x.py +63 -0
  250. unpick-0.1.0/unpick/box.py +89 -0
  251. unpick-0.1.0/unpick/canary.py +73 -0
  252. unpick-0.1.0/unpick/check.py +85 -0
  253. unpick-0.1.0/unpick/checks/__init__.py +97 -0
  254. unpick-0.1.0/unpick/checks/_config.py +62 -0
  255. unpick-0.1.0/unpick/checks/_md.py +29 -0
  256. unpick-0.1.0/unpick/checks/agent_settings.py +119 -0
  257. unpick-0.1.0/unpick/checks/autorun.py +77 -0
  258. unpick-0.1.0/unpick/checks/ci_agent_workflow.py +104 -0
  259. unpick-0.1.0/unpick/checks/encoded_execution.py +114 -0
  260. unpick-0.1.0/unpick/checks/fake_prerequisite.py +54 -0
  261. unpick-0.1.0/unpick/checks/git_autorun.py +56 -0
  262. unpick-0.1.0/unpick/checks/hidden_unicode.py +110 -0
  263. unpick-0.1.0/unpick/checks/install_redirect.py +54 -0
  264. unpick-0.1.0/unpick/checks/lookalike_names.py +117 -0
  265. unpick-0.1.0/unpick/checks/mcp_launch.py +74 -0
  266. unpick-0.1.0/unpick/checks/paste_sites.py +65 -0
  267. unpick-0.1.0/unpick/checks/render_divergence.py +45 -0
  268. unpick-0.1.0/unpick/checks/rules_file.py +44 -0
  269. unpick-0.1.0/unpick/checks/secrecy_phrases.py +39 -0
  270. unpick-0.1.0/unpick/checks/sensitive_paths.py +42 -0
  271. unpick-0.1.0/unpick/checks/tool_description.py +88 -0
  272. unpick-0.1.0/unpick/cli.py +676 -0
  273. unpick-0.1.0/unpick/consensus.py +46 -0
  274. unpick-0.1.0/unpick/consent.py +62 -0
  275. unpick-0.1.0/unpick/decisions.py +58 -0
  276. unpick-0.1.0/unpick/demo.py +120 -0
  277. unpick-0.1.0/unpick/demo_kit/sample-a/SKILL.md +25 -0
  278. unpick-0.1.0/unpick/demo_kit/sample-b/SKILL.md +20 -0
  279. unpick-0.1.0/unpick/demo_kit/tools.json +18 -0
  280. unpick-0.1.0/unpick/finding.py +70 -0
  281. unpick-0.1.0/unpick/flight.py +78 -0
  282. unpick-0.1.0/unpick/hook.py +319 -0
  283. unpick-0.1.0/unpick/inventory.py +325 -0
  284. unpick-0.1.0/unpick/judges/__init__.py +236 -0
  285. unpick-0.1.0/unpick/judges/_local.py +80 -0
  286. unpick-0.1.0/unpick/judges/api.py +63 -0
  287. unpick-0.1.0/unpick/judges/apple_fm.py +67 -0
  288. unpick-0.1.0/unpick/judges/claude_code.py +44 -0
  289. unpick-0.1.0/unpick/judges/codex.py +26 -0
  290. unpick-0.1.0/unpick/judges/fallback.py +140 -0
  291. unpick-0.1.0/unpick/judges/foundry_local.py +49 -0
  292. unpick-0.1.0/unpick/judges/gemini.py +50 -0
  293. unpick-0.1.0/unpick/judges/grok.py +26 -0
  294. unpick-0.1.0/unpick/judges/llamacpp.py +26 -0
  295. unpick-0.1.0/unpick/judges/lmstudio.py +29 -0
  296. unpick-0.1.0/unpick/judges/mlx.py +29 -0
  297. unpick-0.1.0/unpick/judges/ollama.py +40 -0
  298. unpick-0.1.0/unpick/judges/openai_local.py +32 -0
  299. unpick-0.1.0/unpick/lock.py +199 -0
  300. unpick-0.1.0/unpick/outdated.py +104 -0
  301. unpick-0.1.0/unpick/provenance.py +105 -0
  302. unpick-0.1.0/unpick/quarantine.py +244 -0
  303. unpick-0.1.0/unpick/recover.py +317 -0
  304. unpick-0.1.0/unpick/rehearse.py +224 -0
  305. unpick-0.1.0/unpick/render.py +190 -0
  306. unpick-0.1.0/unpick/report.py +130 -0
  307. unpick-0.1.0/unpick/resources.py +44 -0
  308. unpick-0.1.0/unpick/scan.py +210 -0
  309. unpick-0.1.0/unpick/sessions.py +114 -0
  310. unpick-0.1.0/unpick/ui/server.py +281 -0
  311. unpick-0.1.0/unpick/ui/static/app.css +139 -0
  312. unpick-0.1.0/unpick/ui/static/app.js +435 -0
  313. unpick-0.1.0/unpick/ui/static/index.html +158 -0
  314. unpick-0.1.0/unpick/ui/static/report.css +13 -0
  315. unpick-0.1.0/unpick/ui/static/tokens.css +34 -0
  316. unpick-0.1.0/unpick/watch.py +188 -0
@@ -0,0 +1,11 @@
1
+ .venv/
2
+ __pycache__/
3
+ *.pyc
4
+ dist/
5
+ build/
6
+ *.egg-info/
7
+ .pytest_cache/
8
+ .ruff_cache/
9
+ .unpick/*
10
+ !.unpick/decisions.json
11
+ demo/.unpick/