Repository navigation
Showcase: kong-plugin-agent-guard — Independent policy governance and offline Ed25519 verification for AI agents #15060
kenneth-schoultz
started this conversation in
Show and tell
Replies: 1 comment 1 reply
|
A pending approval isn't proof that the action completed. If the upstream performs it but the caller times out, could a retry with the same grant execute it again? We use Sinaps Studio from SinapsData to orchestrate agents and monitor their activity. In that workflow, separating authorization, execution attempts and confirmed outcomes helps when investigating retries or missing results. A missing outcome report should stay unknown until there's evidence of what happened. How does the plugin handle an outcome report lost during a Kong worker restart? |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi Kong community! 👋
We have published an open-source Kong Gateway plugin,
kong-plugin-agent-guard, designed for engineering teams running AI agents, LangChain/CrewAI/LlamaIndex workflows, or MCP tool servers through Kong.The Problem It Solves
When autonomous AI agents propose API calls (initiating payments, database exports, infrastructure changes), LLMs should not self-authorize their own tool executions.
kong-plugin-agent-guardturns Kong into an independent Enforcement Point. Every sensitive tool call is gated before Kong forwards it to your upstream API, verifying who is asking, what action is requested, and whether an authentic cryptographic grant or human approval exists.Three Operating Modes
decide(Online mode, default): Intercepts the request in Kong'saccessphase, calculates a SHA-256 fingerprint of the request body (the payload never leaves your network), queries your Agent Control Room (ACR) workspace, and fails closed (403 refused, 202 held for human approval, 503 if no answer) unless explicitly authorized.verify(Offline zero-trust mode): Verifies caller-providedacr-grant-v3signed grants locally inside Kong using Ed25519 public-key cryptography, against the published key set. No call to the policy engine per request.verify_jwt(Standard JWT mode): After a JWT plugin has verified a grant JWT against the published JWK Set, binds it to this agent, route and request body.In
decidemode, the plugin attempts best-effort, non-blocking outcome reporting in thelogphase (ngx.timer.at). This is audit evidence, not durable delivery.Quick Start
kong.confand restart Kong:kong.yml):Or via the Admin API:
See the README for prerequisites (workspace, registered agents, rules per mapped action, vault references) and retry/idempotency guidance.
We would love to hear feedback, feature requests, or questions from the Kong community!
All reactions