Skip to content

feat: OOD corpus (73 real skills) + false-BLOCK gate - #3

Merged
aisona-lab merged 1 commit into
mainfrom
feat/ood-corpus
Jul 15, 2026
Merged

aisona-lab merged 1 commit into
mainfrom
feat/ood-corpus

Conversation

@aisona-lab

Copy link
Copy Markdown
Owner

Summary

Adds out-of-distribution evaluation: real Agent Skills from public repos, labeled safe, gated on false BLOCK rate.

Also includes precision fixes discovered while scanning those skills (so OOD is usable, not a wall of FPs).

Corpus

Source Examples
obra/superpowers TDD, debugging, worktrees, …
DietrichGebert/ponytail ponytail family
vercel-labs/agent-skills react, deploy, guidelines
anthropics/skills docx/pdf/pptx, skill-creator, …
ComposioHQ/awesome-claude-skills non-composio top-level skills
  • 73 partial packages under dataset/ood/safe/
  • Attribution: dataset/ood/SOURCES.md
  • Protocol: docs/BENCHMARKS.md

Metrics (this branch)

Suite Result
core 17/17 unsafe, 0/9 FPR
adversarial 25/25 attacks, 0/5 FPR
ood 0/73 false BLOCKs (WARN ~18%, not hard gate)
tests 40 passed

FP precision fixes (still adversarial-green)

  1. chmod 600 no longer setuid
  2. JS child_process needs strong sink
  3. .env + network needs exfil shape
  4. Bare GITHUB_TOKEN → MEDIUM; ${{ secrets.* }} stays CRITICAL

Excluded

  • anthropic/claude-api (multi-lang docs pack, not a typical skill)

Test plan

  • uv run pytest -q
  • uv run python eval/run_eval.py --suite all --check --details

Out-of-distribution evaluation using partial vendored packages from
superpowers, ponytail, vercel agent-skills, anthropic skills, and
awesome-claude-skills (safe-labeled).

- dataset/ood/safe/** + ood_catalog.jsonl + SOURCES attribution
- eval --suite ood with safe FPR ≤ 0.05 and n ≥ 40
- docs/BENCHMARKS.md with honest protocol
- Precision fixes from real-world FPs: chmod 600, child_process sh,
  .env co-occurrence, bare GITHUB_TOKEN severity
- CI runs OOD gate; 40 tests green; 0/73 false BLOCKs

Next priorities remain PyPI + policy packs.
@aisona-lab
aisona-lab merged commit 93751c2 into main Jul 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant