Imagine a CI job that pushes a new container image every commit, a bot that answers support tickets, and a contractor whose SSH key never gets revoked after the contract ends. Each of those actors is a non-human identity, a credential that lives beyond a single person’s session and often carries more privileges than it should.
When AutoGen spins up an automated workflow, it typically authenticates to databases, Kubernetes clusters, or SSH hosts using static service‑account keys or long‑lived tokens. Those credentials are convenient, but they also become blind spots: the system that created the token never sees what the bot does, there is no real‑time approval step, and every command is invisible to auditors.
Why non-human identity matters in AutoGen
Non-human identities are the bridge between an AI‑driven code generator and the production resources it must touch. Because they are not tied to a human’s interactive login, they bypass many of the checks that traditional access control systems enforce – MFA, session timeouts, and per‑command reviews. The result is a high‑risk surface where a compromised token can exfiltrate data, modify configurations, or launch lateral attacks without any alert.
Security teams therefore demand three things: (1) the ability to grant the smallest possible set of permissions for each automated run, (2) a guarantee that every action is recorded and can be replayed, and (3) the option to mask sensitive fields in responses so that downstream services never see raw secrets. Achieving all three without a unified control point is practically impossible.
Setup: defining who the non-human identity is
The first step is to treat each service account, CI token, or bot as a distinct identity in an identity provider (IdP) that supports OIDC or SAML. The IdP issues short‑lived tokens that encode the entity’s group membership and intended purpose. This setup tells the system *who* is making the request, but it does not enforce *what* the request can do. Without a gate in the data path, the token can still reach the target directly, carry its full privilege set, and operate unchecked.
The data path: inserting a gateway
Enter hoop.dev. It sits between the non-human identity and every infrastructure endpoint that AutoGen talks to – databases, SSH servers, Kubernetes clusters, and HTTP APIs. Because hoop.dev proxies the connection at Layer 7, it can inspect each protocol message before it reaches the target.
When a bot initiates a database query, hoop.dev reads the OIDC token, verifies it against the IdP, and then decides whether to forward the request. If the request exceeds the scoped permissions, hoop.dev can block it or route it for a human approval step. The same logic applies to SSH commands, Kubernetes exec calls, or HTTP requests generated by AutoGen.
