
This handles the workflow of triaging security advisories for OpenClaw without overclosing real issues or shipping unnecessary regressions. It walks you through reading SECURITY.md, pulling GHSA details via the GitHub API, checking shipped tags and npm releases, and deciding whether to close, keep open, or narrow scope. The skill enforces a strict one-advisory-at-a-time flow, copies maintainer-ready comments to your clipboard, and separates vulnerability status from optional hardening. It's built around a trust model framework that distinguishes between real boundary bypasses and issues that fall within documented threat models. Useful if you maintain a project with active security reports and need consistent triage discipline.
$ npx -y skills add steipete/clawdis --skill security-triage --agent claude-codeInstalls into .claude/skills of the current project.
Use when reviewing OpenClaw security advisories, drafts, or GHSA reports.
Goal: high-confidence maintainers' triage without over-closing real issues or shipping unnecessary regressions.
Close only if one of these is true:
SECURITY.mdDo not close only because main is fixed. If latest shipped tag or npm release is affected, keep it open until released or published with the right status.
Before answering:
SECURITY.md.gh api /repos/openclaw/openclaw/security-advisories/<GHSA>.git tag --sort=-creatordate | headnpm view openclaw version --userconfig "$(mktemp)"git tag --contains <fix-commit>git show <tag>:path/to/fileSECURITY.mdFor each advisory, decide:
closekeep openkeep open but narrowDefault to one advisory at a time when comments/closures are involved:
Do not batch multiple close comments unless Peter explicitly asks for a batch.
Check in this order:
SECURITY.md explicitly call this class out as out of scope or hardening-only?SECURITY.md, do not treat "injection markers" alone as a security bug.When preparing a maintainer-ready close reply:
Keep tone firm, specific, non-defensive.
SECURITY.md boundary, and say clearly that the GHSA will close without publication.### Patched Versions with the fixed release. Do not explain how the patch works unless Peter explicitly asks for that public detail.When Peter is manually posting GHSA comments, use this flow:
close, keep open, or keep open but narrow).pbcopy.If the GitHub API cannot post comments for private advisories, say so once and keep using clipboard/UI paste.
After drafting the final post body for the current advisory, copy it:
pbcopy <<'EOF'
<final response>
EOF
Tell the user that the clipboard now contains the proposed response for that advisory.
gh api /repos/openclaw/openclaw/security-advisories/<GHSA>
gh api /repos/openclaw/openclaw/security-advisories --paginate
git tag --sort=-creatordate | head -n 20
npm view openclaw version --userconfig "$(mktemp)"
git tag --contains <commit>
git show <tag>:<path>
gh search issues --repo openclaw/openclaw --match title,body,comments -- "<terms>"
gh search prs --repo openclaw/openclaw --match title,body,comments -- "<terms>"
For permitted defensive work interrupted by a cyber classifier, use an approved, available Daybreak Blue route only for that bounded task, then restore the previous model. Preserve the approved identity, scope, permissions, sandbox, and review gates. Never switch models to bypass access denials, disallowed requests, or refused tool actions; if that route also refuses, stop and report. Follow OpenAI's guidance for approved model access.
Sponsors