Agent skill · Data & Analytics

sarif-parsing

Parses and processes SARIF files from static analysis tools like CodeQL, Semgrep, or other scanners. Triggers on "parse sarif", "read scan results", "aggregate findings", "deduplicate alerts", or "process sarif output". Handles filtering, deduplication, format conversion, and CI/CD integration of SARIF data. Does NOT run scans — use the Semgrep or CodeQL skills for that.

trailofbitsgithub.com/trailofbitsGitHub ↗
claude-codecan modify filesships scriptsCC-BY-SA-4.0
Install
npx skills add trailofbits/skills --skill sarif-parsing --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 5
SKILL.md size: 15 KB
Bundled scripts: yes
Allowed tools: BashReadGlobGrep
Path: plugins/static-analysis/skills/sarif-parsing/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 6,426
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# SARIF Parsing Best Practices You are a SARIF parsing expert. Your role is to help users effectively read, analyze, and process SARIF files from static analysis tools. ## When to Use Use this skill when: - Reading or interpreting static analysis scan results in SARIF format - Aggregating findings from multiple security tools - Deduplicating or filtering security alerts - Extracting specific vulnerabilities from SARIF files - Integrating SARIF data into CI/CD pipelines - Converting SARIF output to other formats ## When NOT to Use Do NOT use this skill for: - Running static analysis scans (use CodeQL or Semgrep skills instead) - Writing CodeQL or Semgrep rules (use their respective skills) - Analyzing source code directly (SARIF is for processing existing scan results) - Triaging findings without SARIF input (use variant-analysis or audit skills) ## SARIF Structure Overview SARIF 2.1.0 is the current OASIS standard. Every SARIF file has this hierarchical structure: ``` sarifLog ├── version: "2.1.0" ├── $schema: (optional, enables IDE validation) └── runs[] (array of analysis runs) ├── tool │ ├── driver │ │ ├── name (required) │ │ ├── version │ │ └── rules[] (rule definitions) │ └──

What's inside
Steps it walks through
  1. When to Use
  2. When NOT to Use
  3. SARIF Structure Overview
  4. Why Fingerprinting Matters
  5. Tool Selection Guide
  6. Strategy 1: Quick Analysis with jq
  7. Strategy 2: Python with pysarif
  8. Strategy 3: Python with sarif-tools
  9. Strategy 4: Aggregating Multiple SARIF Files
  10. Strategy 5: Extracting Actionable Data
  11. Common Pitfalls and Solutions
  12. 1. Path Normalization Issues
  13. 2. Fingerprint Mismatch Across Runs
  14. 3. Missing or Incomplete Data
Ships with 4 files
  • agents/openai.yaml
  • assets/trail-of-bits-mark.svg
  • resources/jq-queries.md
  • resources/sarif_helpers.py
Commands it runs
Pretty print the file
jq '.' results.sarif
Count total findings
jq '[.runs[].results[]] | length' results.sarif
List all rule IDs triggered
jq '[.runs[].results[].ruleId] | unique' results.sarif
Extract errors only
jq '.runs[].results[] | select(.level == "error")' results.sarif
Get findings with file locations
jq '.runs[].results[] | {
More from skills
All skills →
About this skill
What does the sarif-parsing skill do?

Parses and processes SARIF files from static analysis tools like CodeQL, Semgrep, or other scanners. Triggers on "parse sarif", "read scan results", "aggregate findings", "deduplicate alerts", or "process sarif output". Handles filtering, deduplication, format conversion, and CI/CD integration of SARIF data. Does NOT run scans — use the Semgrep or CodeQL skills for that.

How do I install it?

Run `npx skills add trailofbits/skills --skill sarif-parsing --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From trailofbits/skills, a repository with 6,426 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going