Repository navigation
docs: library security review against the OWASP Agentic Skills Top 10 checklist - #18
Merged
Merged
Conversation
… checklist One row per checklist item (81) with result and evidence at acbe47e: 36 pass, 21 partial, 3 gap, 21 not applicable. Gaps and recommendations R1 to R8 are listed; no validator change here. Linked from SECURITY.md and the FAQ answer on running code and sending data. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…; documents are data (R3) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-run before each release is stated as a maintainer step (7.4 partial); review evidence cited from PR bodies (1.2, 8.1 partial); plugin pin (7.2), advisory alerts (7.6) and cross-platform rows (10.2, 10.4) qualified to partial; submit-skill sequencing corrected in SECURITY.md and the record; probe wording made exact; build.json described accurately. New counts: 29 pass, 28 partial, 3 gap, 21 not applicable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Downgrades where evidence is thin: 4.12, 3.8 (11 of 60 skills carry a
credential NEVER line, not 60), 5.6, 9.1, 10.6, B4-2 to partial; 4.3 to
gap. The re-run is now a documented manual release step in AGENTS.md
("Release (maintainers)"). Method 3 names the shell exceptions; R4 notes
#20 carries the data rule. New counts: 22 pass, 34 partial, 4 gap,
21 not applicable.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sentence) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
After the launch post, a security practitioner asked for the skills to be assessed against an OWASP skills security checklist before they test them in a staging CI pipeline with a proof of concept. This PR publishes that assessment:
reviews/security/library-security-review.md, one row per checklist item with result, evidence in this repo (file and line, validator rule, workflow step, SECURITY.md section, PR body) and, for each gap or partial, what a reader should do and whether we fix it. Linked from SECURITY.md (new "Security review record" section) and from the FAQ answer "Can a skill run code or send my data to the internet?" (one sentence, link now points to the record). SECURITY.md also lists the two execute exceptions and the setup page (R3). CHANGELOG Unreleased bullet. No release pin bump, no validator change.Checklist chosen
OWASP Agentic Skills Top 10 (AST10), Skill Security Assessment Checklist. OWASP Incubator project, latest version "1.0-2026" on the project page; checklist source
checklist.mdlast changed in commitf094f9aof OWASP/www-project-agentic-skills-top-10 (headd6f7d7d), read 2026-10-27, CC BY-SA 4.0 (the record names ids and our own short titles only).Why: it is the only public OWASP checklist written for agent skills (
SKILL.mdbundles). The LLM Top 10 2025 and the Agentic AI threats guide cover models and runtimes, not the skill package.How it was checked (read-only, at acbe47e)
Validator and its 147 tests; every URL in
skills/by host; a character and pattern scan of all 62 files (0 non-ASCII, 0 invisible or bidi characters, 0 HTML, 0 code fences, 0 network or shell commands); a full read of the three skills that reach past local files; a probe of the validator with seven injected lines;gh attestation verifyandgh release verifyonv2026.10.20.3; branch protection, immutable releases and secret scanning through the GitHub API; review verdict lines in the bodies of #1 to #17; livebuild.jsonand response headers.Results (81 checks)
Gaps found (recommendations, not changed here)
security-injectiondoes reject "ignore previous instructions", "ignore above instructions" and "disregard the above"; the article variant "ignore the above instructions" passes (checked twice at acbe47e, against the full validator and against theINJECTIONpatterns alone). Library is pure ASCII now, so a hidden-text rule is cheap. For the parallel validator PR.data-linevalidator rule, so from the release that includes Not checked on every output, Review record on signed outputs, AI draft challenge review #20 it is carried and enforced.allowed-toolspre-approves rather than restricts, so it stays out, and nothing is opt-in at the manifest level. Accepted.maincan move without review (7.2); no tag ruleset; unsigned commits; no CodeQL or workflow linter). Advisories reach installs only if readers watch the repo (7.6). MCP sign-in differs by agent (OAuth in the Claude plugin, OAuth or a personal token elsewhere) (10.2, 10.4).Checks run locally
node tools/validate.mjs: ok, 60 skillsnode --test tools/*.test.mjs: 147 passsite:npm ci && npm run buildok;npm test50 pass (FAQ JSON-LD test included); SEO gate L0P passCODEX_REVIEW: Codex 2026-10-27 round 1 FIX-FIRST (8 fixed), round 2 FIX-FIRST (9 fixed: reclassifications, release step documented), round 3 narrow: 9 fixes verified, 2 wording errors fixed as specified in 30448ac
Owner: founder
Next: independent review by grcskills-feedback session, then merge and release
🤖 Generated with Claude Code