When a CI workflow that produces SAST output completes (CodeQL, Semgrep, Bandit, gosec), reads the SARIF or JSON result and triages each finding against the actual repository. Confirmed findings are posted as inline PR review threads with an exploit sketch; dismissed findings are listed with a one-line reason so the dismissal is auditable.
- Identifier
sast-triage- Version
- 1.0.2
- Steps
- 6
- Triggers
- 1
- sast
- security
- triage
- static-analysis
- pull-request
- ci
When it runs
ci_workflow.completed- Settle delay
- 30s after the event
Only when all hold
- ciWorkflow.conclusion equals success
- ciWorkflow.name in sast, codeql, semgrep, bandit, gosec
- actor.username not contains [bot]
The pipeline
The graph below is the one the workflow opens with in the builder — same steps, same layout, drawn on the same canvas. The run playing through it is a simulation; the branches and conditions are real.
- 01SAST CI Workflow Completed
triggerThe event that starts the run.
- 02Clone Repository
git.cloneShallow-clones the repository at the right ref.
- 03Fetch SARIF Report ⚠️ SET YOUR REPORT URL
http.requestCalls an external HTTP endpoint with vault-resolvable headers.
- 04Parse SARIF Findings
sarif.ingestParses a scanner report into a deduplicated list of findings, ranked most severe first.
- 05Triage SAST Findings
agent.runOne agent works the task with its toolkit.
- 06Publish Dismissed Findings Report
report.publishPosts or updates a deduplicated report comment.
The agent
SAST Triage Reviewer
- Base type
- Code Reviewer
- Temperature
- 0.2
- Max iterations
- 40
- Tools
- 6
Git provider · 2
get_pull_request_diffGet Pull Request Diff · readadd_pull_request_review_threadAdd PR Review Thread · write
CI/CD · 1
get_ci_run_logsGet CI Run Logs · read
Filesystem · 1
read_fileRead File · read
Code search · 1
code_searchCode Search · read
Status · 1
update_statusUpdate Status · write
Related playbooks
Auth Surface Diff
Compares the authentication and authorization surface of every route before and after a PR, flagging any route that gained public reachability.
Permission Escalation Detector
Watches privilege changes in IAM, Kubernetes roles, and permission enums, routing any widening change through an owner approval gate.
Dependency Bump
Weekly PRs that update dependencies to their latest in-range minor and patch versions.