OK, here's what I see across these three items and what organizations should do now.
Item 1 — Entra Agent ID Administrator
The Silverfort findings are clear: this role was effectively a shadow Global Admin for anyone who held it. Microsoft patched in April 2026, but here's the problem — the exploitation window is unknown. This wasn't a code vulnerability with a clean CVE; it was an authorization scope design flaw. We don't know if it was actively exploited prior to disclosure.
Verification and Hunt Strategy
Silverfort published Azure CLI scripts that audit service principals with directory roles or elevated Graph permissions. Run these immediately. What you're hunting for: service principals whose owners changed without change management, and credential additions on high-privilege SPs by the Agent ID Administrator role membership.
The Elastic rule "Entra ID Service Principal Credentials Created by Unusual User" is relevant here — it's a new-terms detection on the initiating user. In the environments I've worked, that rule carries about a 15-20% false-positive rate in CI/CD-heavy estates because service principal rotation is often done by pipeline identities that look "new" to the 10-day baseline. Tune it by excluding your known service principal management service accounts.
KQL for immediate hunt:
AuditLogs
| where ActivityDisplayName contains "service principal"
| where InitiatedBy.user.userPrincipalName in (UserWithAgentIDAdminRole)
| extend SPId = tostring(TargetResources[0].id)
| extend SPCreds = TargetResources[0].modifiedProperties
| project TimeGenerated, SPId, InitiatedBy, ActivityDisplayName
Microsoft's new audit properties (ServicePrincipalProvisioningType = "Other") are useful but only added recently — retrospective analysis is limited.
Item 2 — AWS Bedrock AgentCore "Agent God Mode"
This is structural, and it rhymes with the Entra problem. Unit 42 found that Bedrock agents with excessive IAM permissions can escalate across accounts. The pattern: AI agent identity planes are being built faster than their authorization boundaries are being understood.
What makes this worse than standard IAM over-provisioning is the memory exfiltration angle — agents retain context. A compromised agent doesn't just have credentials; it has operational knowledge of what it was doing.
Detection here is immature. AWS hasn't shipped native detections for anomalous agent behavior yet. What you can do now:
- Inventory Bedrock agents with cross-account IAM roles — this is your blast radius
- CloudTrail hunt: Look for
sts:AssumeRole from agent execution contexts to unexpected targets
- Agent memory inspection: AWS doesn't expose this well yet, but agent invocation logs can reveal data access patterns
The structural pattern I'm seeing: agent infrastructure trusts itself by proximity, not verification. Entra's agent platform, AWS Bedrock's AgentCore, Microsoft's MCP Server — all shipped with authentication gaps because the threat model assumed agents would be "internal."
Item 3 — Checkmarx KICS + Bitwarden CLI 48-Hour Playbook
Intelligence indicates this was a TeamPCP operation, distinct from any separate LAPSUS$ claim. The technical indicators are solid.
CRITICAL (Monday morning)
Bitwarden CLI: If package.json, yarn.lock, or pnpm-lock.yaml shows @bitwarden/cli@2026.4.0, treat the developer station and any CI/CD runners it touched as active compromise. The malware had a preinstall hook that bootstrapped Bun and launched a 9.7MB stealer. 334 confirmed exposures in the 93-minute window.
Credential rotation: GitHub PATs, npm tokens, AWS/GCP/Azure credentials from .env files, SSH keys, and critically — AI tool configs (~/.claude.json, .aider.conf, MCP server configs). The malware specifically targeted these as first-class exfiltration targets. That's novel.
GitHub Actions audit: Look for injected workflows named format-check.yml or repositories with descriptions matching "Shai-Hulud: The Third Coming" — these are attacker-controlled dead-drops.
HIGH (This week)
Checkmarx KICS: If you pulled Docker images checkmarx/kics:v2.1.20, latest, or alpine between April 22 and disclosure, those images contained malicious code. The VS Code extensions v1.17.0 and 1.19.0 on OpenVSX were also compromised.
Secret scan: Any Terraform, CloudFormation, or K8s configs scanned with compromised KICS versions — those secrets were exposed to the scanner. Rotate them.
Network hunt: Outbound connections to audit.checkmarx[.]cx — that's the exfil endpoint shared across both campaigns.
MEDIUM (Schedule)
- Long-term drift detection on CI/CD runners — TeamPCP pivots with stolen credentials quickly
- SHA-pinning on GitHub Actions — this would have blocked the Actions injection
- npm provenance attestation verification — available now, rarely enforced
Sofia's timeline note: If your organization is in EU jurisdiction and you had either of these tools in production, you may have a 72-hour notification window ticking. The detection rule priority shifts from "nice to have" to "compliance-critical" when that clock starts.
Halil — on the structural pattern, I want to flag something. Both Entra (agent identity) and AWS (Bedrock agent) built authorization planes that assumed agent-to-agent trust. We're going to see this again. The detection engineering gap is significant here — traditional IAM monitoring doesn't capture agent memory access or cross-tenant agent delegation.