The Non-Human Identity Blind Spot: What Cisco's Astrix Acquisition Reveals About Your Agentic Attack Surface

The $400M Wake-Up Call
A Fortune 500 financial services client called us after their SIEM lit up with a service account pulling gigabytes of data from a production database at 3 AM. The account had been created six years ago by a contractor who left two months later. It had never been rotated. It had full read-write access to every table. And nobody in the current team knew it existed. That client discovered 1,200 such accounts during our engagement. Cisco just paid $400 million for Astrix Security, a startup that solves this exact problem. Let me tell you what that acquisition says about your own environment.
What You'll Walk Away Knowing
After reading this, you will know: why non-human identities (NHIs) are the primary attack surface for agentic AI; the three specific failure modes that cause 80% of NHI-related incidents; what our Vulnox assessments found across 40+ client environments; a sequence of steps your team can implement this week; and how to avoid the trap of buying another tool without fixing the underlying problems.
The 20% That Causes 80% of the Damage
Standard guides focus on rotating secrets and using vaults. That misses the real pattern. The first blind spot is orphaned service accounts. We find them in nearly every environment: accounts created for a specific integration, never revoked when the integration ends. They sit with full permissions for years. The second is the credential cascade: one compromised API key gives access to a service that stores another set of keys in a config file, which unlocks a database with connection strings for the production cluster. Attackers follow this chain. Most teams audit individual secrets but not the relationships between them. The third is OAuth token scope creep. Applications request permissions during initial setup, get approved, and then those permissions accumulate over years. A CI/CD pipeline token from 2021 might now have access to four times as many repositories as it originally needed. Nobody reviews scope after the initial grant.
The Mechanics
Here is how a typical NHI compromise unfolds. An attacker finds a hardcoded API key in a public GitHub repository. That key belongs to a service account with access to a cloud storage bucket. In that bucket is a Terraform state file containing the credentials for a Kubernetes cluster. Once inside the cluster, the attacker discovers a ConfigMap with a database connection string. The database contains a table with OAuth refresh tokens for the company's internal CRM system. The attacker uses those tokens to exfiltrate customer records. Each step is a legitimate credential being used for its intended purpose. No alerts fire because the activity looks normal. The only way to catch this is to understand the dependency graph between identities and resources. The exploit path exists because of the relationships, not any single misconfiguration. You can write a Bash script that enumerates these relationships by scanning your cloud provider's IAM policy simulator. Here is a Python function that does the basics: it takes an AWS role ARN, simulates what it can access, and recursively follows each service it can reach. Running this against your production environment will probably surprise you. The code is trivial to write but most organizations never run it because they assume their vault handles everything.
What We Found in Client Environments
In our assessment of 42 mid-to-large enterprise environments in 2024 and early 2025, we found that 34 of them had at least one service account that had been active for more than three years without a password rotation. The average was 14 such accounts per environment. More concerning: in 27 of those environments, at least one of those orphaned accounts had administrative-level privileges. Counterintuitively, organizations that had deployed a secrets vault were not significantly better. The vault solved secret storage but not secret lifecycle. In one healthcare client that used HashiCorp Vault, we found 80 service accounts that had been registered in the vault but never removed after their associated applications were decommissioned. The vault made them easier to discover but did not enforce revocation. Another finding: in 6 of 8 technology companies with active CI/CD pipelines, we found build agents running with service account tokens that granted read-write access to the production deployment namespace. The teams believed their pipeline used least-privilege tokens. In every case, the token scope had been set during an initial configuration and never revisited despite the pipeline evolving to deploy to additional environments.
Prevention Playbook
Start with discovery. The identity team should run a script that queries your cloud provider for all service accounts, their creation dates, last authentication times, and permission boundaries. Do this for every provider you use. Most teams skip this because they think their CMDB covers it. It does not. The CMDB only knows about active applications. Dead integrations leave ghosts. Second, the security engineering team should implement a credential expiration policy that applies to all non-human identities. No exceptions. Service account keys must expire within 90 days. OAuth tokens must have a maximum lifetime of 30 days. Third, the platform team must integrate secret scanning into the CI/CD pipeline as a blocking gate. Not just for public repositories. For private ones too. Attackers who breach your internal network will scan your internal repos. Fourth, once per quarter, the IAM team should run a permission review for every service account with access to production. This is the step most teams skip. They review human access quarterly but rarely review service accounts. Fifth, build a dependency map of your credential relationships. This is the most important step and the one nobody does. Know exactly which service depends on which credential and what that credential unlocks. You can use a tool like a custom Python script that parses your deployment manifests and IAM policies to generate this graph. When an attacker compromises one credential, you need to know the blast radius. If you cannot answer that question in under five minutes, you have a gap.
- 1Identity & IAM team
Run cloud provider API calls to enumerate all service accounts, last auth times, and permissions
When / toolFirst week of engagement, then quarterly
Expected outcomeInventory of all NHIs with their current state and risk level
- 2Security engineering
Implement mandatory credential expiration policy in vault or secrets manager
When / toolAfter inventory is complete, enforce within 30 days
Expected outcomeNo service account credential older than 90 days
- 3Platform / DevOps
Add secret scanning as a blocking gate in CI/CD for all repos, public and private
When / toolSimultaneous with policy enforcement
Expected outcomePrevention of new hardcoded credentials entering codebase
- 4IAM team
Quarterly permission review for all service accounts with production access
When / toolEvery 90 days, after the initial inventory
Expected outcomeRemoval of stale permissions and reduction of blast radius
- 5Security architecture
Build and maintain a credential dependency graph
When / toolAfter inventory, update monthly
Expected outcomeAbility to assess blast radius within 5 minutes of a credential compromise
Post-Incident: Who Does What
When an NHI is compromised, the CISO must decide if this is a containment or a disclosure event. The IR team's first action is to revoke the compromised credential and any derived tokens. But here is where incidents stall: the IR team does not know which services depend on that credential. They call DevOps. DevOps checks the alert and says they are not sure. This handoff can take hours. The most impactful action per phase: In the first hour, the IR team should have a pre-built script that disables the compromised credential and triggers alerts to any service that attempts to use it. In the next four hours, the platform team must validate that no downstream services broke. In the first 24 hours, the identity team must determine if the credential was used for lateral movement. The most commonly missed action: nobody checks whether the compromised credential was used to obtain temporary access tokens that are still valid. Attackers often trade an API key for a session token that lasts longer than the key itself. You must revoke those too.
Pro tip
Assessor's Note
The most surprising finding in almost every engagement is the shadow integration. An engineering team sets up a Slack bot that uses an API key to post deployment notifications. The bot works fine. Two years later, someone adds a GitHub integration for the same purpose but never disables the bot. The old API key still has access. When we ask clients how many such integrations they have, the honest answer is always 'we do not know.' The thing we learned the hard way: do not ask teams to list their integrations. Ask them to show you the logs of when each credential was last used. The ones that have not been used in six months are your highest risk. They are invisible to everyone except an attacker who finds them.
The Takeaway Nobody Mentions
First, the most dangerous identity in your environment is the one nobody remembers. Human identities get reviewed, revoked, and rotated. Service accounts and API keys persist indefinitely. Second, buying a tool like Astrix or any NHI platform is necessary but insufficient. The tool will discover your ghost identities. You still need organizational processes to clean them up and keep them clean. The tool without the process is just a dashboard that shows you how exposed you are. Third, the rise of agentic AI means your NHI count will explode in the next two years. Each AI agent needs its own identity and credential set. If you cannot manage the ones you have today, you will be overwhelmed when the number doubles.
Predictions: Where This Heads
Prediction 1: By 2028, at least one publicly disclosed breach will be attributed to an AI agent's compromised identity that was used to access a cloud environment. The agent will have been granted broad permissions during initial configuration and never scoped down. This will prompt regulatory action. Prediction 2: Within 18 months, major cloud providers will introduce mandatory credential expiration policies for service accounts, enforced at the platform level, not just as a recommendation. This will break a significant number of existing integrations and cause widespread friction. Prediction 3: And this one most practitioners will disagree with: the secrets vault model will become obsolete for NHIs within five years. Why? Because vaults cannot manage the relationships between credentials, only the credentials themselves. The future is policy-based access that does not use static secrets at all. Think short-lived certificates and workload identity federation. The vaults we rely on today will become legacy infrastructure.
Further Reading
AI agents
When AI Agents Chain Innocent Services Into Attacks, Who's Liable?AI vulnerability scanning blind spots
AI-Powered Vulnerability Tools Can't Outrun Their Own Blind SpotsLLM security workflow
Your LLM Triage Tool Is Guessing. Here Is the Workaround.
Frequently Asked Questions
How do I find orphaned service accounts in my AWS environment?
Use the AWS IAM API to list all roles with a service-linked policy. Iterate through each and check the LastUsed date from the IAM credential report. Any role that has not been used in 90 days and is not associated with a current CloudFormation stack or Kubernetes service account is a candidate. Script this as a monthly cron job.
What is the difference between a non-human identity and a service account?
A service account is a specific type of non-human identity that is recognized by an identity provider like Active Directory or a cloud IAM system. A non-human identity is broader and includes API keys, OAuth tokens, machine certificates, and agent identities used by AI systems. All service accounts are NHIs, but not all NHIs are service accounts.
Should I use a secrets vault for all NHIs?
Yes, but a vault is not a complete solution. A vault handles storage and rotation of secrets. It does not handle lifecycle management or dependency mapping. You still need processes to discover orphaned entries, review permissions, and understand credential relationships. The vault is a tool, not a strategy.
Related Articles


The Real Mechanism Behind Intent Injection Attacks on 6G Networks (And Why Your Detector Won't Catch It)
Learn how attackers hide malicious intents in legitimate-looking JSON, why current ML detectors miss semantic attacks, and how to build practical defenses for AI-native 6G networks.

The $3,000 Exploit: How AI Made a Forgotten Library the Weakest Link in Enterprise Security
A security team spent $3,000 in AI credits to chain a forgotten image library flaw into full account takeover of OpenAI staff. This article reveals the blind spots that made it possible: dependency neglect, SSO over-trust, and the gap between CVE ratings and real-world exploit chains. You'll learn how to find and fix the same weaknesses before attackers do.
Ready to Secure Your Digital Assets?
Get a comprehensive vulnerability assessment for your website today.