Hacker News
points by anuptalwalkar 2 days ago | 0 comments
Ugh. OIDC’s whole trust model assumes the subject of the token is the responsible party. Sounds like you are opening a door for a future security problem.

OIDC is good when the end user needs short-term access validation and authorization. The claim and responsibilities of what they do are on that user. Now that you have agents involved, the user can just shrug it off, saying 'oh the AI went rogue'. You probably need a separate role for agent specific tasks that severely limits the access specific to your workload, but that is a work of its own.

[–] horsawlarway 2 days ago
I find their post to be a little light on details, but my read is that they're essentially doing what you're complaining they should.

They're mapping the identity back to "agent" instead of "person". With the optional ability for the agent to present an "agent:person" combo in cases where it was triggered by a person.

Some quotes that imply but don't actually technically clarify what I mean:

> we now had a way to treat each cloud agent session as its own identity

> Once the human approves, access is scoped to the cloud agent session ID and the specific database that was requested.

> Using OIDC, cloud agents can request and be approved for short-lived access as they would with databases above. Requests are always logged in Formal and attributed to both the cloud agent and the engineer that launched it.

It sounds like they're not just attesting that the agent is the person, they're always scoping to a new combined identity.

So there's no confusion over whether it was a person, an agent, or an agent started by a person. (however where you go from there for culpability is a different question...)

But it doesn't seem like there's a case where a person did a thing (with their own credentials) and can then point a finger at an agent as say "oh it went rogue".

[–] saligrama 2 days ago
Yes, exactly, a cloud agent always authenticates itself (via OIDC) as an agent (machine) identity, with the option for the identity of the human who launched it to ride along.

We then have the ability to enforce (extremely fine grained) policies based on that combined identity, plus any of the claims in the OIDC token (e.g., the repo URL), plus any of the data on the protocol itself (e.g., block non-read-only queries; redact anything sensitive).

https://docs.formal.ai/docs/guides/policies/introduction

[–] anuptalwalkar 2 days ago
The dogfooding example I read was basically agent asking for user to sign off on permissions, Nd taking over from that point on. It doesn’t exactly read any different than any other ‘AI went rogue stories.

I am saying it’s a slippery slope and OIDC was not necessarily designed for it.

[–] horsawlarway 1 day ago
But OIDC was pretty explicitly designed for this (at least the later versions) - The whole point is that you can configure an identity provider, and then outsource identity verification to that provider.

So sure - it wasn't designed with agents directly in mind, but it's supported workload identity federation for a while (and is used in this manner for lots of big players - github, GCP, AWS, Azure, etc...)

This just seems to extend that concept slightly to allowing the workload identity to be generated on the fly based on user/agent combinations, with a HITL addition to approve the identity being generated and grant it a subset of permissions.

---

What you're saying here is different than what you implied in the first comment.

There is a real and meaningful difference between

1. A user can blame a rogue agent for actions they [the user] performed

2. An agent itself went rogue

So sure - #2 is still a risk, and one they'd have to mitigate with the security controls they talked about (minimal access, temporary grants, HITL, etc). Frankly - #2 is always a risk. That's what "agents" are (both the bot and the fleshy kind). It's also why we have logging and visibility tools that should be recording what was done, by whom, and for what reason, along with robust backups. You can't really close this hole, you accept it, monitor it, and hold the agent to account (and again - I'm with you on discussing culpability for bots and what that means in the legal sense. Ex - do we charge the person who introduced the bot, the company running it, the party that injected bad context, etc...?)

But #1 is not a thing a person can do - they can't take malicious actions and then blame a rogue agent.

[–] vegardx 2 days ago
Isn't this what things like CIBA is supposed to address? You still need to do some work, and one could argue that the issue isn't really new, just that we're too lazy. Agentic systems just shifts the focus of where the problem is to where it should be: The role had too wide permissions for the task at hand.