Skip to content

fix: redact persisted manifests from job details#12

Merged
homerquan merged 1 commit into
mainfrom
codex/fix-vulnerability-exposing-workflow-manifests
May 18, 2026
Merged

fix: redact persisted manifests from job details#12
homerquan merged 1 commit into
mainfrom
codex/fix-vulnerability-exposing-workflow-manifests

Conversation

@homerquan

Copy link
Copy Markdown
Collaborator

Motivation

  • The runtime began persisting full unredacted manifests into job records and returning the persisted job map in Monitor.job_details/2, which exposed sensitive manifest contents (metadata, node configs, tool bindings, initial inputs) to API callers.
  • The change prevents accidental information disclosure via the monitor/grpc GetJob surface while preserving job metadata required for operator workflows.

Description

  • Add a helper public_job/1 that removes the embedded "manifest" key from persisted job maps using Map.drop/2.
  • Update Monitor.job_details/2 to return public_job(job) instead of the raw persisted job, preserving manifest_ref and other metadata.
  • Add an end-to-end regression test test "job details does not expose persisted embedded manifests" to tests/e2e/monitor_test.exs which persists a job with a synthetic secret-containing manifest and asserts the manifest is not returned while manifest_ref and summary remain available.
  • Keep other monitor behavior unchanged (summaries, agents, recent events, sandboxes) so operator-visible data is preserved.

Testing

  • Ran mix format on the modified files successfully (lib/mirror_neuron/monitor.ex and tests/e2e/monitor_test.exs).
  • Performed a syntax check using elixir to parse the modified files successfully.
  • Attempted to run mix deps.get / mix test but it was blocked by the environment (Hex metadata download failed with HTTP 403), so full automated test execution could not complete in this environment.

Codex Task

@homerquan homerquan merged commit 26c3fac into main May 18, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant