Skip to content

security: complete Phase 1 trust-boundary remediation#185

Draft
wolverin0 wants to merge 27 commits into
mainfrom
remediation/audit-convergence-20260710
Draft

security: complete Phase 1 trust-boundary remediation#185
wolverin0 wants to merge 27 commits into
mainfrom
remediation/audit-convergence-20260710

Conversation

@wolverin0

Copy link
Copy Markdown
Owner

Summary

Completes the budget-scoped Phase 0/1 remediation program:

  • central MCP request context, authorization registry, and tenant/scope enforcement
  • Postgres tenant/RLS/event-ledger enforcement with fail-closed unsupported surfaces
  • Qdrant semantic-read quarantine plus authenticated, TLS-verified, redirect-denying maintenance transport
  • persisted sensitivity envelopes across claims, bridges, auxiliary writers, and legacy inventory
  • private/fail-closed deployment defaults, immutable image digests, supply-chain policy, and wheel-bound SBOM validation
  • targeted Phase 1 audit delta and external-action ledger

Why

The 2026-07-10 audit identified Critical/High trust-boundary, persistence, retrieval, deployment, and supply-chain defects. This branch closes the repository-scoped Phase 1 work while keeping unverified profiles disabled and external evidence explicitly blocked.

Validation

  • Qdrant focused non-ML: 130 passed, 24 deselected, 2 intentional xfails
  • Required Qdrant ML: 38 passed
  • R1.4 final integrity gate: 46 passed, 1 environment skip
  • Collection: 4,126 tests
  • Ruff: clean
  • Compose: missing inputs fail closed; complete synthetic TLS/key/digest inputs render
  • Clean wheel: built from git archive HEAD, installed/imported in a fresh isolated venv
  • CycloneDX SBOM: root identity and SHA-256 bound to the exact wheel

The single full non-ML run reported 3,940 passed and 10 failures. Those exact failures were corrected and passed; the 15-minute full suite was intentionally not rerun under the V3 budget scheduler. This is compositional evidence, not a claim that a second full-suite invocation passed.

Release blockers

This PR is not production-ready until the external action ledger is cleared:

  • classify 40 unsuppressed Gitleaks history findings across 10 commits / 7 files and rotate if necessary
  • complete strict project/release-extra dependency audits (final attempts timed out)
  • scan approved immutable MemoryMaster/Qdrant/Ollama images
  • obtain disposable two-role Postgres and authenticated/TLS Qdrant runtime evidence
  • complete staging/canary verification

See:

  • .planning/audits/2026-07-12-phase1-budget-delta/audit-delta.md
  • .planning/audit-remediation-ledger.md
  • external-actions-required.md

wolverin0 added 27 commits July 10, 2026 23:33
@gitguardian

gitguardian Bot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 1 secret following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secret in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
27665726 Triggered Generic Password a858419 docker-compose.postgres.yml View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secret safely. Learn here the best practices.
  3. Revoke and rotate this secret.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant