fix(security): disable semgrep/semgrep container — Critical/High CVEs, no upstream fix available - #49694
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
- Remove mcp-servers block from shared/mcp/semgrep.md following the brave.md pattern for containers with unpatched upstream CVEs - Disable daily schedule in daily-semgrep-scan.md until a patched semgrep image is published upstream - Remove semgrep/semgrep:latest pin from actions-lock.json - Recompile all affected workflow lock files Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Hey
The changes follow the precedent set in #48546 for the brave-search container (security comment + removal from locks). This looks like a solid security-first decision given the upstream situation. Ready to proceed once draft status is cleared! 🎯
|
🔍 Triage Summary
Security fix disabling vulnerable semgrep container (Critical/High CVEs). Draft, no CI yet — undraft and get CI green before merge. Automated triage — see the triage report for full context.
|
PR Triage
Automated triage — see full report issue for details. Structured data: {
"action": "fast_track",
"category": "bug",
"pr_number": 49694,
"risk": "low"
}
|
There was a problem hiding this comment.
Pull request overview
Disables the vulnerable Semgrep container and automatic scan schedule pending an upstream fix.
Changes:
- Removes Semgrep MCP configuration and image pins.
- Disables scheduled Semgrep scans while retaining manual dispatch.
- Regenerates workflow lock files, including an unrelated timeout change.
Show a summary per file
| File | Description |
|---|---|
pkg/workflow/data/action_pins.json |
Removes the embedded Semgrep image pin. |
pkg/actionpins/data/action_pins.json |
Removes the actionpins Semgrep fallback. |
.github/aw/actions-lock.json |
Removes the repository Semgrep digest. |
.github/workflows/shared/mcp/semgrep.md |
Disables the Semgrep MCP server. |
.github/workflows/daily-semgrep-scan.md |
Removes the daily schedule. |
.github/workflows/daily-semgrep-scan.lock.yml |
Regenerates the disabled scan workflow. |
.github/workflows/smoke-checkout-pr-dispatch.lock.yml |
Unrelatedly doubles execution timeouts. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 7/7 changed files
- Comments generated: 1
- Review effort level: Balanced
| # --allow-tool shell(yq) | ||
| # --allow-tool write | ||
| timeout-minutes: 10 | ||
| timeout-minutes: 20 |
semgrep/semgrep:latest(sha256:bdf7013...) carries 8 Critical and 32 High CVEs (curl, python3, sqlite-libs, git system packages;mcp@1.23.3,wheel@0.45.1Python packages; Go stdlibgo1.25.10). Confirmedsemgrep/semgrep:1.172.0(newest available) ships identical vulnerable package versions — no patched image exists upstream.Changes
shared/mcp/semgrep.md— Removemcp-serverscontainer block; replace with security comment (mirrors thebrave.mdpattern used formcp/brave-searchin [container-image-scan] Container findings for docker.io/mcp/brave-search #48546)daily-semgrep-scan.md— Dropschedule: dailytrigger; keepworkflow_dispatchfor manual re-activation; add comment referencing this issueactions-lock.json— Removesemgrep/semgrep:latestpinned digest entryRe-enabling
When semgrep ships a patched image:
mcp-serversblock inshared/mcp/semgrep.mdactions-lock.jsonschedule: dailyindaily-semgrep-scan.mdmake recompile