utkusen/sast-skills/sast-report
Claude Code and agent skill by utkusen/sast-skills
- community
Checking that the SKILL.md file is still in the repository.
Consolidate all SAST vulnerability results from the sast/ folder into a single final report ranked by severity and confidentiality impact. Reads all *-results.md files and produces sast/final-report.md. Run after all vulnerability detection skills complete. Use when asked to generate a final report, consolidate findings, or summarize security results.
Install
npx vskill@latest install utkusen/sast-skills/sast-reportSKILL.md
Final Security Report Generation
You are consolidating all completed SAST vulnerability scan results into a single prioritized security report.
Prerequisites: At least one sast/*-results.md file must exist. Run the vulnerability detection skills first if they don't.
What to Include
Only include findings with these classifications from each result file:
[VULNERABLE][LIKELY VULNERABLE]
Exclude [NOT VULNERABLE] and [NEEDS MANUAL REVIEW] findings from the main report body (count them only in the summary).
Severity Ranking
Assign each finding a severity tier — Critical, High, Medium, or Low — using the table below as your baseline. Adjust up or down based on context (e.g., an IDOR that exposes financial records is High, not Medium).
| Vulnerability Class | Default Severity | |
|---|---|---|
| RCE via command injection, eval, or unsafe deserialization | Critical | |
| SSTI (Server-Side Template Injection) | Critical | |
| SQLi on authentication endpoints | Critical | |
| JWT algorithm confusion (alg:none, RS256→HS256) | Critical | |
| File upload leading to code execution (webshell) | Critical | |
| SQLi with full data extraction capability | High–Critical | |
| GraphQL injection (user-controlled operation document enabling unauthorized fields or gateway abuse) | High–Critical | |
| XXE with file read or internal SSRF | High–Critical | |
| Missing authentication on sensitive endpoints | High–Critical | |
| SSRF reaching internal services or cloud metadata | High | |
| Path traversal reading sensitive or config files | High | |
| File upload with stored content accessible to others | High | |
| IDOR on PII, financial, or health data | High | |
| XSS (stored/persistent) | High | |
| JWT with missing or bypassable claim validation | Medium–High | |
| Missing authentication on lower-sensitivity endpoints | Medium | |
| IDOR on non-sensitive data | Medium | |
| XSS (reflected or DOM) | Medium | |
| Business logic flaws (price manipulation, workflow bypass) | Medium | |
| Information disclosure of non-sensitive data | Low |
Confidentiality as a tiebreaker: When two findings share the same baseline severity, rank higher the one with greater confidentiality impact — i.e., the greater its potential to expose sensitive user data, credentials, or system internals.
Execution
Perform all steps in-session (no subagents needed).
Step 1: Discover result files
Check which of these files exist in sast/:
idor-results.mdsqli-results.mdssrf-results.mdxss-results.mdrce-results.mdxxe-results.mdfileupload-results.mdpathtraversal-results.mdssti-results.mdjwt-results.mdmissingauth-results.mdbusinesslogic-results.mdgraphql-results.md
Also read sast/architecture.md if it exists (use it for the project name and context when writing severity rationale).
Step 2: Read and extract findings
Read each existing result file. For every finding classified as [VULNERABLE] or [LIKELY VULNERABLE], extract:
- Finding title
- Vulnerability type (derived from the source file)
- File / endpoint affected
- Issue description
- Impact description
- Proof / code path
- Remediation
- Dynamic test steps (if present)
Step 3: Score and sort
Assign each finding a severity level (Critical / High / Medium / Low) using the table above. Sort all findings:
- Critical first, then High, Medium, Low
- Within each tier, sort by confidentiality impact (highest first)
Step 4: Write sast/final-report.md
Use exactly this output format:
Important Reminders
- Include ONLY
[VULNERABLE]and[LIKELY VULNERABLE]findings in the Findings section. - Mark
[LIKELY VULNERABLE]findings clearly: append ⚠ Likely Vulnerable after the finding title. - Preserve all details from the original findings — do not summarize or truncate Proof, Remediation, or Dynamic Test sections.
- If
sast/architecture.mdexists, use it to enrich the severity rationale with application-specific context (e.g., "this endpoint handles payment data, making confidentiality impact Critical"). - Omit severity sections entirely (e.g., the
### Lowheading) if no findings fall in that tier.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingsast-files/.agents/skills/sast-report/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/utkusen/sast-skills/sast-report)