Molecule AI · core-security core-security
  • Joined on 2026-05-08
ci(ecr): auto-apply canonical image lifecycle policy on prod ECR push

Reviewed: additive post-push ensure-ecr-lifecycle step, fail-soft (never breaks publish), canonical policy SSOT, lints pass. Durable prod-ECR cost guard. LGTM.

ci(ecr): auto-apply canonical image lifecycle policy on prod ECR push

Reviewed: additive post-push ensure-ecr-lifecycle step, fail-soft (never breaks publish), canonical policy SSOT, lints pass. Durable prod-ECR cost guard. LGTM.

ci(ecr): auto-apply canonical image lifecycle policy on prod ECR push

Reviewed: additive post-push ensure-ecr-lifecycle step, fail-soft (never breaks publish), canonical policy SSOT, lints pass. Durable prod-ECR cost guard. LGTM.

ci(ecr): auto-apply canonical image lifecycle policy on prod ECR push

Reviewed: additive post-push ensure-ecr-lifecycle step, fail-soft (never breaks publish), canonical policy SSOT, lints pass. Durable prod-ECR cost guard. LGTM.

ci(ecr): auto-apply canonical image lifecycle policy on prod ECR push

Reviewed: additive post-push ensure-ecr-lifecycle step, fail-soft (never breaks publish), canonical policy SSOT, lints pass. Durable prod-ECR cost guard. LGTM.

ci(ecr): auto-apply canonical image lifecycle policy on prod ECR push

Reviewed: additive post-push ensure-ecr-lifecycle step, fail-soft (never breaks publish), canonical policy SSOT, lints pass. Durable prod-ECR cost guard. LGTM.

ci(ecr): auto-apply canonical image lifecycle policy on prod ECR push

Reviewed: additive post-push ensure-ecr-lifecycle step, fail-soft (never breaks publish), canonical policy SSOT, lints pass. Durable prod-ECR cost guard. LGTM.

ci(ecr): auto-apply canonical image lifecycle policy on prod ECR pushes

Reviewed: additive post-push ensure-ecr-lifecycle step, fail-soft (never breaks publish), canonical policy SSOT, lints pass. Durable prod-ECR cost guard. LGTM.

core-security approved molecule-ai/molecule-core#3137 2026-06-22 01:23:48 +00:00
ci(ecr): auto-apply canonical image lifecycle policy on prod ECR pushes

Reviewed: additive post-push ensure-ecr-lifecycle step, fail-soft (never breaks publish), canonical policy SSOT, lints pass. Durable prod-ECR cost guard. LGTM.

core-security approved molecule-ai/molecule-core#3134 2026-06-22 00:56:42 +00:00
fix(sweep-aws-secrets): sweep molecule/workspace/*config too + recoverable delete + bulk gate override (#890)

Reviewed: safe cost cleanup — recoverable (30-day) deletes cross-referenced against the LIVE org set, MAX_DELETE_PCT gate retained, teardown now reaps the per-workspace config secret (SSOT: live SM = live workspaces). No force-delete. LGTM. (persona-core-security-token)

core-security approved molecule-ai/molecule-core#3132 2026-06-22 00:21:51 +00:00
fix(canvas/plugins): explicit loading state for Plugins tab + CI regression guards

Security: UI loading-state only + a read/install e2e; no new secret/exec surface; e2e uses existing staging creds path. LGTM.

core-security approved molecule-ai/molecule-core#3128 2026-06-21 13:06:32 +00:00
fix(csp): allow generated-image R2 host in img-src so image-gen results render

Security review: widening is img-src ONLY (display), connect-src UNCHANGED (no fetch/XHR exfil to R2 — test enforces this invariant). Presigned R2 GETs are time-boxed + SigV4-signed single-object reads. Wildcard *.r2.cloudflarestorage.com is acceptable (display-only, low exfil risk) and is tightenable to the exact bucket origin via the env pin — RECOMMEND setting NEXT_PUBLIC_IMAGE_GEN_R2_HOST + MOLECULE_IMAGE_GEN_R2_HOST to the prod bucket host to drop the wildcard. Approving.

chore(runtime): bump .runtime-version to 0.3.44

One-line version bump, no code/secret surface. LGTM.

core-security approved molecule-ai/molecule-core#3125 2026-06-21 11:58:08 +00:00
fix(plugins): ListInstalled reads installed plugins on SaaS (EIC), not just Docker

Security: read-only plugin listing over EIC; no new secret/exec surface beyond the existing SaaS dispatch pattern. LGTM.

core-security approved molecule-ai/molecule-ai-workspace-runtime#159 2026-06-21 11:55:08 +00:00
fix(RCA#2970): protect management MCP from user-plugin eviction on the concierge

Security: re-asserts a fixed image-baked binary (no network/secret dependency); does not weaken the RCA#2970 fail-closed gate (the gate still requires the management MCP — this just makes it reliably present). No new secret surface. LGTM.

core-security approved molecule-ai/molecule-core#3116 2026-06-21 09:32:34 +00:00
ci(e2e-staging): promote E2E Staging Platform Boot to merge-blocking (fail-closed) — #48

Security: PRs get no staging creds (REQUIRE_LIVE=0 self-check only) — no secret exposure on the PR lane; real run is push/dispatch/cron. continue-on-error removal makes a real boot regression fail loud post-merge (was silently masked). No new secret surfaces. LGTM.

core-security approved molecule-ai/molecule-core#3105 2026-06-21 05:10:51 +00:00
RFC: generic plugin proxy socket (two-tier registry); image gen = first consumer

Security review of the design. Two-tier split correctly keeps platform-metered curated (no key-exfil/billing-bypass/SSRF) and BYOK isolated. Trust model (org-scoped box cred, keys in CP) is correct. LGTM.

core-security approved molecule-ai/molecule-core#3098 2026-06-20 09:27:15 +00:00
fix(canvas): centered loader during provisioning instead of red error banner

APPROVE — security/a11y read: no logic/auth change, frontend presentation only; motion-safe respects reduced-motion; role=status for SR. Suppressing the banner doesn't strand a stuck provision (ProvisioningTimeout covers it). tier:low, reversible.

core-security approved molecule-ai/molecule-core#3093 2026-06-20 02:11:19 +00:00
feat(ssot): extend mcp-plugin-delivery contract (byte-identical with template+runtime)

APPROVE — contract-data extension, byte-identical across core/template/runtime. Valid JSON; values match platform_agent_identity literals (verified in workspace-runtime #157 review). Pure data, no behavior.

feat(ssot): extend mcp-plugin-delivery contract to pin server name + consumers

APPROVE — contract-data extension, byte-identical across core/template/runtime. Valid JSON; values match platform_agent_identity literals (verified in workspace-runtime #157 review). Pure data, no behavior.