Skip to content

Add Secure Tool Invocation via Metadata Binding#125

Open
rabbidave wants to merge 17 commits into
cosai-oasis:mainfrom
rabbidave:main
Open

Add Secure Tool Invocation via Metadata Binding#125
rabbidave wants to merge 17 commits into
cosai-oasis:mainfrom
rabbidave:main

Conversation

@rabbidave
Copy link
Copy Markdown

Document & Config

@davidlabianca
Copy link
Copy Markdown
Contributor

@rabbidave Let's create an issue that covers the problem and the proposal as a way to begin the CoSAI community review of this proposal.

Copy link
Copy Markdown
Contributor

@santosomar santosomar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job on the documentation and configuration changes for enabling secure tool invocation via metadata binding.
I don’t see any issues from my side that need further discussion.
If there are no objections raised or pending discussions, I’ll approve and merge this PR.

@rabbidave
Copy link
Copy Markdown
Author

@rabbidave Let's create an issue that covers the problem and the proposal as a way to begin the CoSAI community review of this proposal.

Happily, any specifics on how? Else happy to open an issue with a blurb that points here to this PR for risk-rm

Also adding one on maturity models; love the framework

@rabbidave
Copy link
Copy Markdown
Author

Good job on the documentation and configuration changes for enabling secure tool invocation via metadata binding. I don’t see any issues from my side that need further discussion. If there are no objections raised or pending discussions, I’ll approve and merge this PR.

Sounds good and TY. Gonna add another pattern here shortly and trying not to mess up y'all's repo

@rabbidave
Copy link
Copy Markdown
Author

@rabbidave Let's create an issue that covers the problem and the proposal as a way to begin the CoSAI community review of this proposal.

Just found this link, LMK if y'all want it as an issue or just the PR. Adding the md/yaml for the maturity model now

@davidlabianca
Copy link
Copy Markdown
Contributor

davidlabianca commented Jan 23, 2026

@rabbidave Let's create an issue that covers the problem and the proposal as a way to begin the CoSAI community review of this proposal.

Just found this link, LMK if y'all want it as an issue or just the PR. Adding the md/yaml for the maturity model now

Thanks @rabbidave for the PR and the comments...

I do think we need to have a full discussion on this approach in an issue - we should start with issue creation so that we can get the group to review and opine...

Happy to collaborate on that issue creation and we can then address the following comments as well as garner WS1 feedback/engagement.

update: I opened issue #129 to discuss this addition, etc...


Re the PR itself:

  • It should target develop not main as it is a content update and requires CoSAI workstream governance / review

re: the schema.yaml file...

  • I may be reading this incorrectly but it looks more like a yaml impl vs the schema for the yaml... We should entertain a json schema validation that would validate that yaml - unless there is a bog standard schema it conforms to that we can use with check-jsonschema
  • If this is a schema - we should restructure as a json schema and drop it in schemas/ following the project approach

re: the cosai-rm.yaml file...

  • We should specify which schema will validate it...

re: risks and controls highlighted in the *.mds and other files

  • I'd imagine it is our intent to create aligned CoSAI-RM risks and controls for these in the respective controls.yaml and risks.yaml files?

@rabbidave
Copy link
Copy Markdown
Author

@davidlabianca davidlabianca self-requested a review February 7, 2026 23:11
@nik-kale nik-kale mentioned this pull request Feb 11, 2026
30 tasks
Copy link
Copy Markdown

@nik-kale nik-kale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solid foundation! The axiom-based approach and tiered implementation model are well structured. My comments focus on one theme: extending the standard to cover delegated/multi-hop invocations common in agentic architectures, without breaking the simplicity of the Tier 1 model. Proposed a new invariant (INV-7), risk (RISK-06), and control (CTRL-07) for delegation chain integrity at Tier 2+

Comment thread risk-map/docs/zero-trust-tool-invocation-standard.md
token.sub == authenticated_user.id
token.tool == requested_tool.name
```
The token MUST bind a specific identity to a specific tool. No delegation, no scope expansion.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "No delegation, no scope expansion" statement works for direct user-to-tool invocations, but agentic architectures commonly involve delegation chains (User -> Orchestrator -> Sub-agent -> Tool). Worth scoping this explicitly so it doesn't read as a blanket prohibition on delegation, which would make the standard inapplicable to most multi-agent scenarios.

Suggested change
The token MUST bind a specific identity to a specific tool. No delegation, no scope expansion.
The token MUST bind a specific identity to a specific tool. In direct invocation, no delegation or scope expansion is permitted. For delegated invocations (Tier 2+), see Delegation Chain Integrity (INV-7): each hop in a delegation chain must carry a verified identity and must narrow or maintain - never expand - the authorized scope.

RFC 8693 (Token Exchange) provides the act claim for tracking delegation chains, and SPIFFE provides cryptographic workload identity at each hop. The Checkmarx MCP findings from November 2025 showed what happens when scope isn't validated per-hop: OAuth tokens get reused across MCP servers without verifying that the downstream server should have that scope.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm down with delegates; we can always profile the runtime and sign the artifacts

adding those links to the PR so folks can affect Invariant 7 :) Appreciate y'all.

@davidlabianca think we're good to go otherwise on merging the base patterns. LMK otherwise!

Comment thread risk-map/yaml/zero-trust-tool-invocation.schema.yaml
@rabbidave rabbidave marked this pull request as ready for review February 24, 2026 17:37
@santosomar santosomar self-requested a review February 24, 2026 19:23
@rabbidave rabbidave requested a review from nik-kale February 26, 2026 18:27
@rabbidave
Copy link
Copy Markdown
Author

Added Inv-7 and updates to the patterns/yaml

nikkal12

This comment was marked as duplicate.

Copy link
Copy Markdown

@nik-kale nik-kale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

INV-7, RISK-06, and CTRL-07 all look good. Scope narrowing assertion is the right call, and mapping to LLM08 makes sense since the confused deputy problem is really about excessive agency with valid credentials. Glad to see INV-7 required at Tier 2+ and showing up in the validation sequence at step 7. The persona responsibility additions are a nice touch too. Having clear accountability per invariant makes the whole thing more auditable. Good to merge from my side.

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.

5 participants