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.
99
Quality
99%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
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 <noreply@dryrunsecurity.com>Install with Tessl CLI
npx tessl i dryrunsecurity/remediation