Skip to content

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

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

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

Conversation

@djm81

@djm81 djm81 commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Why

Semgrep's upstream metadata pins vulnerable MCP 1.29.0. This change builds a distinct downstream wheel with MCP 1.30.0 while preserving all upstream runtime bytes.

What changed

  • Add deterministic wheel verification and fail-closed admission bound to protected policy, exact 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 upstream controls, full repository SAST and real MCP transport/lifecycle regressions.

Scope

Blast Radius

Candidate jobs have read-only permissions and cannot grant production authority. The current frozen MCP audit remains a release blocker until separately reviewed protected adoption is possible.

Verification

  • Actual hosted RED run 38971008984 records 40 AssertionError failures with zero errors/skips and the exact final test-file hash. Its service ZIP digest was verified before implementation was restored.
  • All 40 local regressions pass. Local MCP 1.30.0 passes 11 checks; the vulnerable control fails 8 assertions. Paired full SAST scans match across 306 files with unchanged baseline and positive/negative controls.
  • Normal signed hooks, strict OpenSpec, types and FULL review pass at score 95. Narrow review dispositions preserve the unchanged scorer and gates. Final hosted matrix and native GREEN are pending.

@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.

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

  • Run on-demand review

This review includes 18 billable files and costs up to $4.50.

  • 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 6 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 53 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: 0a333e1c-a4c7-4b85-8b75-60ecc419f412
📥 Commits

Reviewing files that changed from the base of the PR and between 729a53b and 7a1abb7.

⛔ Files ignored due to path filters: 1
  • openspec/changes/downstream-semgrep-admission/decision-trail.tsv is excluded by !**/*.tsv
📒 Files selected for processing: 18
  • .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/native-final-red-receipt.json
  • openspec/changes/downstream-semgrep-admission/requirements-proof/native-red-receipt.json
  • 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.

@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:48:16.591659Z 7a1abb7 New commits
🔒 Security Review ✅ Completed 2026-10-16T21:38:16.005643Z ce6a1ea 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.

@github-actions

Copy link
Copy Markdown
Contributor

SpecFact CLI Validation Report

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

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ce6a1eaaa5

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread openspec/changes/downstream-semgrep-admission/tasks.md
Comment thread tests/unit/scripts/test_downstream_semgrep.py
Comment thread tests/unit/scripts/test_downstream_semgrep.py
Comment thread tests/unit/scripts/test_downstream_semgrep.py
@github-actions

Copy link
Copy Markdown
Contributor

SpecFact CLI Validation Report

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

@djm81 djm81 self-assigned this Oct 16, 2026
@djm81 djm81 added dependencies Dependency resolution and management security Security, privacy, and compliance governance labels Oct 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

SpecFact CLI Validation Report

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

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7a1abb7531

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/downstream_semgrep.py

djm81 commented Oct 18, 2026

Copy link
Copy Markdown
Collaborator Author

The owner approved the successor sequence on 2026-10-18. Active PR #775 now carries the signed test-only source and authentic same-branch hosted RED.

Requirements run 39162475090 retained artifact 12148859551. Its service ZIP digest is sha256:c67d2a8e0736279967474f7ee5de5f4c0f298183c7dfd0061ab5e06a327594e9. The report binds commit 398235137d1a3c2634991cc77feb237eebd86a9d, tree ca5315fb1c3180bd26c4f14dea8178fbdb44742b, and the original 40 selectors. All 40 failed with the intended missing-boundary assertion; errors and skips are zero. The unchanged native provenance binder accepted the retained bindings.

Closing this PR as superseded preserves its history. Its five review threads remain evidence for the successor; closure does not resolve their findings. Implementation restoration and verification continue in #775 after the authenticated RED. Production pins, admissions, authority and security gates remain unchanged. Planning PRs #517 and #770 remain planning-only.

@djm81 djm81 closed this Oct 18, 2026
@github-project-automation github-project-automation Bot moved this from Todo to Done in SpecFact CLI Oct 18, 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