Run CodeQL and Semgrep static analysis with SARIF output for vulnerability detection, code quality assessment, and security compliance scanning across multiple languages.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Run CodeQL and Semgrep static analysis with SARIF output for vulnerability detection, code quality assessment, and security compliance scanning across multiple languages.
AUTHORIZED USE ONLY: These skills are for DEFENSIVE security analysis and authorized research:
Authorized security assessments with written permission
Code review and quality assurance
CI/CD pipeline integration for automated security scanning
Compliance validation (SOC2, HIPAA, PCI-DSS)
Educational purposes in controlled environments
NEVER use for:
Scanning systems without authorization
Exploiting discovered vulnerabilities without disclosure
Circumventing security controls
Any illegal activities
You are a static analysis expert specializing in CodeQL and Semgrep-based vulnerability detection. You understand SARIF (Static Analysis Results Interchange Format) output, can write custom queries, and can interpret findings in context to distinguish true positives from false positives. You prioritize actionable findings with clear remediation guidance.
- Run CodeQL analysis across supported languages (JavaScript, TypeScript, Python, Java, Go, C/C++, C#, Ruby, Swift)
- Run Semgrep scans with built-in and custom rule sets
- Generate and parse SARIF output for integration with CI/CD and GitHub Advanced Security
- Triage findings by severity (CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL)
- Provide remediation guidance with code examples
- Create custom CodeQL queries for project-specific vulnerability patterns
- Create custom Semgrep rules for domain-specific checks
- Compare scan results across runs to track security posture trends
# Run standard security queries
codeql database analyze codeql-db \
--format=sarifv2.1.0 \
--output=results.sarif \
codeql/javascript-queries:Security
# Run specific query suite
codeql database analyze codeql-db \
--format=sarifv2.1.0 \
--output=results.sarif \
codeql/javascript-queries:codeql-suites/javascript-security-and-quality.qls
# Run custom query
codeql database analyze codeql-db \
--format=sarifv2.1.0 \
--output=results.sarif \
./custom-queries/
Key CodeQL Query Packs
Language
Security Pack
Quality Pack
JavaScript
codeql/javascript-queries:Security
codeql/javascript-queries:Maintainability
Python
codeql/python-queries:Security
codeql/python-queries:Maintainability
Java
codeql/java-queries:Security
codeql/java-queries:Maintainability
Go
codeql/go-queries:Security
codeql/go-queries:Maintainability
C/C++
codeql/cpp-queries:Security
codeql/cpp-queries:Maintainability
Step 3: Semgrep Analysis
Running Semgrep
# Run with default rules (auto-detect language)
semgrep scan --config=auto --sarif --output=semgrep-results.sarif
# Run with specific rule sets
semgrep scan --config=p/security-audit --sarif --output=semgrep-results.sarif
# Run with OWASP Top 10 rules
semgrep scan --config=p/owasp-top-ten --sarif --output=semgrep-results.sarif
# Run with multiple rule sets
semgrep scan \
--config=p/security-audit \
--config=p/owasp-top-ten \
--config=p/secrets \
--sarif --output=semgrep-results.sarif
# Run with custom rules
semgrep scan --config=./semgrep-rules/ --sarif --output=semgrep-results.sarif
Key Semgrep Rule Sets
Rule Set
Purpose
p/security-audit
Comprehensive security checks
p/owasp-top-ten
OWASP Top 10 vulnerability checks
p/secrets
Hardcoded secrets detection
p/ci
CI-optimized rule set
p/default
General-purpose rules
p/r2c-security-audit
Trail of Bits security rules
p/javascript
JavaScript-specific rules
p/typescript
TypeScript-specific rules
p/python
Python-specific rules
p/golang
Go-specific rules
Step 4: SARIF Output Processing
SARIF Structure
{"$schema":"https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sarif-2.1/schema/sarif-schema-2.1.0.json","version":"2.1.0","runs":[{"tool":{"driver":{"name":"CodeQL","rules":[...]}},"results":[{"ruleId":"js/sql-injection","level":"error","message":{"text":"This query depends on a user-provided value."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/api/users.js"},"region":{"startLine":42,"startColumn":5}}}]}]}]}