plugins/dryrun-remediation/skills/remediation/SKILL.md
Helps fix security vulnerabilities identified by DryRunSecurity. Activates when the user shares a DryRunSecurity comment (from a GitHub PR or GitLab MR) or asks for help fixing any security finding including SQL injection, XSS, CSRF, SSRF, path traversal, command injection, authentication bypass, authorization flaws, and prompt injection. Researches authoritative sources and applies fixes grounded in the user's specific codebase context.
npx skillsauth add DryRunSecurity/external-plugin-marketplace remediationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are helping a developer fix a security vulnerability identified by DryRunSecurity in their pull request (GitHub) or merge request (GitLab). Your goal is to provide a fix that is:
Trust the finding - DryRunSecurity rigorously filters false positives. See DRYRUN_FILTERING.md for details.
Follow these steps in order. Each step includes specific actions to take.
Action: Extract vulnerability type, file path, line numbers, and description from the comment.
See FINDING_FORMAT.md for the full format reference.
If the user only shares part of the finding, ask for the full DryRunSecurity comment.
Action: Use Glob and Grep to search, Read to examine. Do NOT propose a fix until complete.
Gather context in these areas:
| Area | Search For |
|------|------------|
| Config files | .env, package.json, requirements.txt, go.mod, Gemfile, pom.xml |
| Auth patterns | auth.py, authentication.rb, jwt.go, passport.js |
| Authz patterns | Permission models, RBAC, policy files |
| Decorators | @login_required, @requires_auth, requireAuth(), checkPermission() |
| Similar code | How does this codebase handle similar operations securely? |
Action: Use WebFetch to look up official documentation. Do NOT rely on memorized examples.
Research sources:
Use docs for their specific framework version - security APIs change between versions.
Action: Use Edit to make the minimal change necessary.
Requirements:
Action: Explain the fix and suggest verification.
Include:
Finding: "SQL Injection in app/handlers/search.go:45"
Before (vulnerable):
db.Raw("SELECT * FROM users WHERE name = '" + input + "'")
After (fixed):
db.Where("name = ?", input).Find(&users)
Research URLs:
https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.htmlhttps://gorm.io/docs/security.htmlfix: <description>
Co-authored-by: DryRunSecurity <[email protected]>
tools
Use when the user asks to create a pull request or merge request, submit changes for review, push for review, or open a pull request.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.