Replies: 2 comments 1 reply
This comment was marked as spam.
This comment was marked as spam.
|
This shape is clearer with the Generic Approval Core and Domain Adapter separated. The part I would keep especially explicit is that the approval core should own lifecycle integrity, while the adapter owns semantic freshness. For high-risk mutations, I would want the execution receipt to show both categories side by side:
That separation avoids a common failure mode where an approval system proves the user approved a digest, but the operator still cannot tell whether the world changed between review and execution. Kubernetes makes that obvious because resource versions, dry-run output, and policy findings can drift. The same pattern shows up for CI/CD, cloud resources, IAM, and database migrations. I also like requiring the review surface to render trusted evidence rather than model-supplied approval text. The model can summarize, but the digest-bound review snapshot should be built from enforcement-owned artifacts. Otherwise a compromised or confused agent can preserve the envelope while changing the human-facing explanation around it. Disclosure: I work on Armorer Labs. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Pre-submission Checklist
Discussion Topic
Hash-bound (or cryptographic) approval for high-risk MCP mutations?
I opened a more concrete Kubernetes-focused RFC here:
containers/kubernetes-mcp-server#1150
I wanted to ask whether this problem belongs at the broader MCP level as an optional mutation-approval profile.
MCP already has useful foundations: tool annotations, human-in-the-loop guidance, and URL-mode elicitation for out-of-band flows. What I’m exploring is whether high-risk mutation tools need a portable lifecycle around the approval itself:
plan: server creates a concrete mutation plan, dry-run result, policy findings, and digestchallenge: server creates a time-bounded, identity-bound approval challenge for that exact planexecute: server verifies the digest, approval state, TTL, requester/approver binding, and current dry-run result before mutatingThe concern is not simply “should the user be asked before a dangerous tool runs?” Existing confirmation/elicitation mechanisms can do that.
The narrower concern is: did the human approve the exact mutation payload that was later executed?
This seems especially relevant for MCP servers that mutate real infrastructure: Kubernetes, cloud resources, CI/CD, IAM, databases, incident response systems, etc.
I have a reference implementation and SafetyE2E tests in Kubernetes-MCP-Guard, but I’m not proposing that implementation specifically. I’m asking whether MCP would benefit from a small optional interoperability profile for digest-bound mutation approval.
Questions:
All reactions