Skip to content

fix: bind upstream caches to immutable server identity - #502

Merged
imran-siddique merged 1 commit into
mainfrom
agent/bind-upstream-cache-identity
Aug 11, 2026
Merged

fix: bind upstream caches to immutable server identity#502
imran-siddique merged 1 commit into
mainfrom
agent/bind-upstream-cache-identity

Conversation

@imran-siddique

Copy link
Copy Markdown
Contributor

Summary

Key per-session stdio child pooling by executable, arguments, measurement target, and pinned digest. Key cached provenance verdicts by that execution/network identity plus the configured provenance record and publisher key.

Root cause

Both caches previously used server.display_name, a human-readable catalog label that is not required to be unique. Distinct approved servers sharing a label could therefore reuse the first server's spawned process or provenance verdict.

Validation

  • Added regression coverage showing equal labels with different endpoints do not collide
  • Verified the same server identity is still shared across multiple tools
  • Verified different publisher authorities cannot share provenance cache entries
  • Focused proxy/provenance tests: 50 passed
  • Full clean-environment suite: 1053 passed, 8 skipped
  • Ruff, mypy, and Bandit: clean
  • git diff --check: clean

Documentation

  • Documented stdio and provenance cache identity requirements
  • Added an Unreleased security changelog entry

@imran-siddique
imran-siddique marked this pull request as ready for review August 11, 2026 19:01
Signed-off-by: Imran Siddique <imran.siddique@opaque.co>
@imran-siddique
imran-siddique force-pushed the agent/bind-upstream-cache-identity branch from 1c34eb2 to 2b5327a Compare August 11, 2026 19:07
@imran-siddique
imran-siddique merged commit e0908d0 into main Aug 11, 2026
11 checks passed
@imran-siddique
imran-siddique deleted the agent/bind-upstream-cache-identity branch August 11, 2026 19:10
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