Skip to content

fix(security): verify downstream Semgrep artifacts - #773

Closed
djm81 wants to merge 3 commits into
devfrom
codex/fix-downstream-semgrep-admission
Closed

djm81 wants to merge 3 commits into
devfrom
codex/fix-downstream-semgrep-admission

Conversation

@djm81

@djm81 djm81 commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Superseded by #774 so the unchanged hosted Requirements gate can capture actual test-only RED before implementation on that branch. This attempt's signed commits, hosted failures and artifacts remain retained. No commits were rewritten and nothing was merged.

Why

Semgrep's upstream metadata pins MCP 1.29.0, which fails the security audit for CVE-2026-59951. This change builds a distinct downstream wheel with MCP 1.30.0 and preserves every upstream runtime byte.

What changed

  • Add deterministic wheel verification and fail-closed admission against exact protected policy, artifact hashes and GitHub provenance.
  • Bind complete audit coverage to the actual installed graph without dropping the downstream identity.
  • Add 21 native platform/Python cells with paired upstream controls, full repository SAST and real MCP transport/lifecycle regressions.

Scope

  • Covers candidate build, verification and admission policy infrastructure. Closes [Change] Build and admit a downstream Semgrep distribution with fixed MCP #772 when completed.
  • Production admission starts empty. Protected producer bootstrap and production dependency adoption remain blocked and require separate reviewed evidence.
  • Existing dependency pins, security audits, provider checks and release gates remain unchanged. No merge or release is requested.

Blast Radius

The new workflow runs only for this change's paths. Candidate jobs have read-only permissions and cannot grant production authority. The current frozen MCP audit remains a release blocker until protected adoption is possible.

Verification

  • Exact signed authored snapshot has 40 AssertionError failures, zero errors/skips; implementation passes all 40 mapped regressions. The owner accepted the exact mapping.
  • Local macOS arm64 Python 3.13 passes 11 MCP checks. Paired full SAST scans match over 306 files and pass the unchanged baseline and positive/negative controls.
  • Normal signed hooks, strict OpenSpec, canonical types and FULL review pass. Narrow preinstallation/signature warnings are documented in REVIEW_EXCEPTIONS.md. Hosted 21-cell proof is pending and is not inferred from local probes.

@strix-security

Copy link
Copy Markdown

Strix is installed on this repository, but we couldn't run this PR security review because this workspace's trial has ended. Add a card to resume code reviews here.

So far, Strix has reviewed 48 pull requests across this workspace.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-16T21:30:09.264384Z 0ba968a PR opened
🔒 Security Review ✅ Completed 2026-10-16T21:32:32.367901Z 0ba968a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

  • Run on-demand review

This review includes 16 billable files and costs up to $4.00.

  • Ask an admin to make reviews automatic

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Or wait 24 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available. Your 54 included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: nold-ai/specfact-cli/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: b13720ba-0c43-4618-8c9d-2f4e450debe8
📥 Commits

Reviewing files that changed from the base of the PR and between 729a53b and 0ba968a.

⛔ Files ignored due to path filters: 1
  • openspec/changes/downstream-semgrep-admission/decision-trail.tsv is excluded by !**/*.tsv
📒 Files selected for processing: 16
  • .github/workflows/downstream-semgrep.yml
  • ci/downstream-semgrep-admissions.json
  • ci/downstream-semgrep-recipe.json
  • openspec/CHANGE_ORDER.md
  • openspec/changes/downstream-semgrep-admission/REVIEW_EXCEPTIONS.md
  • openspec/changes/downstream-semgrep-admission/TDD_EVIDENCE.md
  • openspec/changes/downstream-semgrep-admission/design.md
  • openspec/changes/downstream-semgrep-admission/proposal.md
  • openspec/changes/downstream-semgrep-admission/requirements-evidence.yaml
  • openspec/changes/downstream-semgrep-admission/requirements-proof/review-evidence.json
  • openspec/changes/downstream-semgrep-admission/specs/downstream-semgrep-admission/spec.md
  • openspec/changes/downstream-semgrep-admission/tasks.md
  • scripts/downstream_semgrep.py
  • scripts/verify_downstream_semgrep.py
  • tests/unit/scripts/test_downstream_semgrep.py
  • tools/downstream_semgrep/test_mcp_regressions.py
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

SpecFact CLI Validation Report

✅ All validations passed!
Duration: 25.40s
Checks: 4 total (3 passed) (1 skipped)

@djm81 djm81 self-assigned this Oct 16, 2026
@djm81 djm81 added security Security, privacy, and compliance governance dependencies Dependency resolution and management labels Oct 16, 2026
@djm81 djm81 moved this from Todo to In Progress in SpecFact CLI Oct 16, 2026
@djm81 djm81 closed this Oct 16, 2026
@github-project-automation github-project-automation Bot moved this from In Progress to Done in SpecFact CLI Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency resolution and management security Security, privacy, and compliance governance

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Change] Build and admit a downstream Semgrep distribution with fixed MCP

1 participant