Skip to content

release: To Prod#1333

Merged
suisuss merged 2 commits into
prodfrom
staging
May 21, 2026
Merged

release: To Prod#1333
suisuss merged 2 commits into
prodfrom
staging

Conversation

@suisuss

@suisuss suisuss commented May 21, 2026

Copy link
Copy Markdown

No description provided.

suisuss added 2 commits May 21, 2026 20:44
The SSRF guard merged with KEEP-603 defaults to shadow mode unless
process.env.SAFE_FETCH_ENFORCE === "true" (strict string match). The
production keeperhub-common pod has no SAFE_FETCH_ENFORCE env entry,
confirmed by inspecting the live pod manifest in techops-prod. As a
result, an outbound HTTP request to 169.254.169.254 from a workflow's
HTTP Request step reaches AWS IMDS in production and returns a 401
(IMDSv2 token challenge) instead of being blocked.

Adds SAFE_FETCH_ENFORCE: "true" to:
- deploy/keeperhub/prod/values.yaml      (closes the immediate prod gap)
- deploy/executor/staging/values.yaml    (silent gap - workflow HTTP
                                          steps run in the executor and
                                          this was not enforcing today)
- deploy/executor/prod/values.yaml       (same gap on prod side)

Staging keeperhub already has the entry; no change there. The value is
quoted so the rendered env stays exactly the string "true", which is
what isShadowMode() checks for via strict equality.

Out of scope (separate follow-up): lib/sandbox/child-source.ts has a
ported copy of the guard with its own configuration surface; the
keeperhub-sandbox deployment is not touched by this change.
hotfix: set SAFE_FETCH_ENFORCE in prod and executor Helm values
@suisuss suisuss merged commit 3a56c5c into prod May 21, 2026
23 checks passed
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