Repository navigation
fix(guardian): enforce ACS version negotiation and ClientHello transport selection - #348
Conversation
4a8d9cb to
411f134
Compare
411f134 to
1c1ebcc
Compare
|
@bar-capsule @rocklambros Rebased onto |
1c1ebcc to
c587b8f
Compare
|
@drk-ram thanks, that matches #196. Two more rules from my answer on #255, which came after your push: A small one: derive the accepted minor from the Guardian's own version rather than hard-coding 0.1, since the #32 change moves acs_version to 0.2.0. With those and tests that pin them, this is ready from my side. |
…ort selection Validate 0.1.x ACS version compatibility on handshake/hello and step requests (returning -32001 UNSUPPORTED_VERSION when no compatible version exists) and inspect ClientHello transports_supported so selected_transport is never returned for an unadvertised transport (returning -32003 CAPABILITY_NOT_NEGOTIATED when http is excluded). Fixes GenAI-Security-Project#139 Fixes GenAI-Security-Project#165 Signed-off-by: Raghuvar Karthik Durga <177662415+drk-ram@users.noreply.github.com>
|
@bar-capsule Pushed
|
c587b8f to
660b055
Compare
What changed
Adds
negotiateHandshakeandisSupportedAcsVersioninreference-implementations/agt/packages/guardian/src/handshake.tsand wires them inserver.tssohandshake/helloandsteps/*requests with incompatibleacs_versionoracs_versions_supportedreturn-32001 UNSUPPORTED_VERSION, andClientHellopayloads whosetransports_supportedexclude"http"return-32003 CAPABILITY_NOT_NEGOTIATEDinstead of returningselected_transport: "http"for an unadvertised transport.Which issue does this implement
Fixes #139
Fixes #165
meaning, so it needs no issue
Base branch
integration, because this touches the specification, schemas, a referenceimplementation, an adapter, tests, or CI
main, because every changed path is on the documentation lane allowlist inCONTRIBUTING.md
Type of change
I tested this
uv run pytest -vpasses on my machineuv run mkdocs build --strictpasses on my machineChecklist
git commit -s(required by the DCO)Security