Who Did This? Identity and Accountability When Your Cloud Actors Aren't Human

Jie Wu (Shopify), Pulkit Garg (Shopify)

fwd:cloudsec North America 2026 · Day 1

Overview

In the rapidly expanding landscape of cloud infrastructure, non-human identities – primarily service accounts – have become ubiquitous, performing a vast array of automated tasks from running CI/CD pipelines to managing complex cloud resources. This talk by Jie Wu and Pulkit Garg from Shopify addresses a critical and increasingly complex security challenge: maintaining identity, accountability, and control over these non-human actors, especially as their capabilities grow and their numbers proliferate. The speakers highlight how the traditional approach to managing these identities is failing, leading to significant blind spots during security incidents and making effective governance nearly impossible.

Watch on YouTube

Visual summary for Who Did This? Identity and Accountability When Your Cloud Actors Aren't Human by Jie Wu, Pulkit Garg
Visual summary for Who Did This? Identity and Accountability When Your Cloud Actors Aren't Human by Jie Wu, Pulkit Garg

Key moments

  1. 0:00 Introduction: The challenge of non-human identities
  2. 2:40 Incident example: Production bucket deleted by 007
  3. 4:00 Investigation challenges: Shared accounts, over-provisioning
  4. 4:20 Logs' limitation: Missing the 'why' behind actions
  5. 7:00 Solution: Assigning owner, origin, and purpose tags
  6. 8:00 Solution: Enforcing identity controls with OPA policies

Who Did This? Identity and Accountability When Your Cloud Actors Aren't Human

Speakers: Jie Wu, Infrastructure Security Team, Shopify; Pulkit Garg, Infrastructure Security Team, Shopify

Conference: fwd:cloudsec

YouTube: https://www.youtube.com/watch?v=JfHFOI_fotk

Overview

In the rapidly expanding landscape of cloud infrastructure, non-human identities – primarily service accounts – have become ubiquitous, performing a vast array of automated tasks from running CI/CD pipelines to managing complex cloud resources. This talk by Jie Wu and Pulkit Garg from Shopify addresses a critical and increasingly complex security challenge: maintaining identity, accountability, and control over these non-human actors, especially as their capabilities grow and their numbers proliferate. The speakers highlight how the traditional approach to managing these identities is failing, leading to significant blind spots during security incidents and making effective governance nearly impossible.

The core problem stems from the exponential growth and evolving roles of non-human identities. What once were simple, single-purpose automation scripts now often possess broad permissions, operate across numerous projects, and can even request permissions for themselves. This creates a massive attack surface and a nightmare scenario for incident responders, who often lack the crucial context to understand who initiated an action, why it occurred, and what the blast radius might be. Shopify's presentation delves into their strategies for tackling this, focusing on proactive controls, automated context gathering, and a vision for AI-driven security agents to manage the scale and complexity of non-human cloud actors.

This presentation is highly relevant for any organization grappling with the scale of cloud operations and the inherent challenges of securing automated processes. As AI agents become more integrated into development and operations workflows, the lines between human and non-human actions blur, and the potential for rogue or compromised identities to cause significant damage escalates. Shopify’s approach, blending policy enforcement, intelligent tooling, and a forward-looking perspective on AI, offers practical insights and a strategic roadmap for enhancing security posture in an increasingly automated cloud environment.

Background

▶ Watch: Introduction: The challenge of non-human identities (0:00)

The evolution of non-human identities in cloud environments has created a profound shift in security and operational paradigms. Initially, service accounts were designed for straightforward, single-purpose tasks, such as running CI pipelines or executing simple scripts. They were granted minimal permissions, often tied to a specific resource, and their actions were relatively predictable. However, as cloud adoption has matured and development velocities have increased, the role of these identities has expanded dramatically. Today, it's common to find non-human identities with extensive privileges, capable of orchestrating complex workflows, deploying code, and even, in advanced scenarios, requesting permissions for themselves.

This exponential growth in both number and capability has outpaced traditional human oversight. Organizations like Shopify, with thousands of service accounts across their cloud environments, find it impossible for humans to manually review every permission change, new IAM binding, or cross-project access path. This leads to several critical issues:

  1. Over-provisioning: Service accounts are frequently granted more permissions than necessary. This can happen due to convenience, lack of understanding, or through inheritance from higher-level scopes (e.g., granting access at the GCP folder level, which then propagates to all projects within it). Developers, driven by the need for speed, often prioritize functionality over least privilege, leading to an accumulation of excessive access.
  2. Lack of Context: When an incident occurs, such as a production bucket being deleted by an unknown service account, investigators face a daunting challenge. Logs might show what happened and when, but they rarely provide the crucial why, who owns it, or what its intended purpose was. If an account is shared across 40+ pipelines, attributing an action to a specific human or workflow becomes nearly impossible, expanding the blast radius and hindering rapid response.
  3. Unpredictability of AI Agents: The emergence of AI agents introduces a new layer of complexity. Unlike traditional scripts with predefined actions, AI agents can make autonomous decisions, switch tasks, and potentially perform actions that were not explicitly programmed or predicted. Securing these agents requires a fundamental re-evaluation of current controls, as their "intent" can be dynamic and hard to scope.
  4. Manual Review Burden: Quarterly access reviews, while necessary, are often superficial when dealing with thousands of non-human identities. Humans cannot keep pace with the machine-speed layer of permission changes and access patterns, making these reviews largely ineffective for detecting subtle but critical drifts in behavior.

The speakers emphasize that the industry has seen a massive growth in articles and discussions around this problem, indicating a widespread recognition of the need for better controls. Without a robust framework for governing non-human identities, organizations risk significant security vulnerabilities, prolonged incident response times, and an inability to maintain accountability in their cloud environments.

Key Findings

▶ Watch: Investigation challenges: Shared accounts, over-provisioning (4:00)

Shopify's talk presents a multi-faceted approach to address the challenges of non-human identity management, built on the principles of proactive context, automated enforcement, and intelligent incident response. The key findings and contributions can be summarized as follows:

  1. Contextual Metadata is Paramount: The foundational insight is the critical need to embed rich metadata – specifically owner, origin, and purpose – directly into the provisioning of every new service account. This allows for immediate understanding of an identity's role and responsibility, drastically simplifying audits and incident investigations.
  2. Shift-Left Policy Enforcement with OPA: To ensure the consistent application of this metadata and other security best practices, Shopify leverages Open Policy Agent (OPA) policies integrated within their Terraform environment. This "shift-left" approach enforces security guidelines at the infrastructure-as-code stage, preventing misconfigurations from ever reaching production and guiding developers towards secure patterns.
  3. AI-Powered Incident Response via Slackbot (River): For existing and newly provisioned service accounts, Shopify developed River, an internal Slackbot that acts as a centralized intelligence hub. River can quickly pull essential context (owner, project, team, contact channels) for any given service account, transforming hours of manual investigation into a few seconds of interaction. This significantly reduces incident response time and empowers security engineers.
  4. Vision for AI-Driven Continuous Monitoring and Drift Detection: Looking ahead, Shopify plans to deploy advanced AI agents designed to continuously monitor service account behavior. These agents will correlate the assigned tags (owner, purpose) with actual usage logs to deterministically identify deviations from expected behavior (drift detection). This aims to automate the detection of suspicious activities and intelligently triage alerts, presenting human operators with pre-analyzed contexts and recommended next steps.
  5. Re-evaluating Security Controls for Agentic AI: The talk highlights the emerging challenge posed by increasingly sophisticated AI agents that can initiate, approve, and execute actions. This necessitates a fundamental re-thinking of security frameworks, moving beyond simply asking "does this identity need these permissions?" to establishing new controls that ensure these powerful agents operate strictly within predefined bounds, thereby reducing the attack surface.

These findings collectively describe a comprehensive strategy that moves beyond traditional reactive security measures, embracing automation and AI to manage the scale and complexity of modern cloud identity and access management.

Technical Deep Dive

▶ Watch: Logs' limitation: Missing the 'why' behind actions (4:20)

Shopify's strategy for managing non-human identities is deeply technical, integrating several modern cloud security and automation tools. The core components include a robust tagging mechanism, policy enforcement through OPA in Terraform, and an intelligent Slackbot for context retrieval, all leading towards a vision of AI agents for proactive security.

Contextual Tagging of Service Accounts

The foundational step is to ensure that every new service account is provisioned with essential metadata: owner, origin, and purpose. This is not merely descriptive but becomes an integral part of the identity's lifecycle management. The owner tag identifies the team or individual responsible for the service account. The origin tag specifies where the service account was created or for what primary system it is intended (e.g., a specific CI pipeline). The purpose tag clearly outlines the intended function of the service account. This tagging mechanism enables auditors and incident responders to understand at a glance what a service account is supposed to do, significantly simplifying future analysis and accountability. The speakers note that while this is primarily for new service accounts, the goal is to systematically apply this standard across their environment.

Policy Enforcement with OPA and Terraform

To enforce these tagging standards and other security best practices for non-human identities, Shopify has heavily invested in Open Policy Agent (OPA). OPA is an open-source policy engine that allows for policy-as-code, enabling security teams to define granular, declarative policies.

In Shopify's workflow, these Rego policies (OPA's policy language) are integrated into their Terraform environment. When a developer submits a Pull Request (PR) that includes a Terraform plan for provisioning a new service account, the OPA policies are automatically evaluated against this plan. If the service account definition in the Terraform plan does not adhere to the defined guidelines – for example, if it lacks the mandatory owner, origin, or purpose tags, or if it requests overly broad permissions (e.g., an owner role on a project) – the OPA policy will generate a violation. This violation is presented as a comment on the PR, effectively blocking the merge until the developer corrects the misconfiguration. This "shift-left" approach ensures that security policies are enforced at the earliest possible stage of the development lifecycle, preventing insecure configurations from ever being deployed to production. While currently focused on Terraform, Shopify also plans to extend OPA policies to enforce similar behaviors for service accounts created directly via the cloud console, though this is a secondary concern as the majority of new resources are provisioned through Terraform.

River: An AI-Powered Slackbot for Context Gathering

For immediate context retrieval, especially during incidents, Shopify developed River, an internal Slackbot powered by AI. River is designed to act as a central point of contact for security engineers and developers to quickly gather information about service accounts.

When a security engineer needs to investigate a service account – perhaps identified as 007 in an alert – they can query River directly within Slack. For instance, an engineer might ask, "Who owns this service account?" River, having the necessary backend access to GCP and other internal systems, will then look up the service account. It can determine the associated project ID, identify the team that owns that project, and even provide a direct Slack channel for contacting the responsible team. This functionality is crucial because service account names often don't clearly indicate their purpose, and default service accounts can be particularly opaque. River abstracts away the complexity of querying multiple systems, providing actionable context in seconds.

River's capabilities extend beyond just service account lookup. It is integrated into Shopify's monorepo, where 6,000 developers use it constantly to push code. Shopify is actively enhancing River's backend "skills" to embed security context directly into code generation, ensuring that future code developed through River automatically adheres to best security guidelines. River itself operates with a dedicated service account, which Shopify has carefully scoped to ensure it only has the minimum necessary permissions to perform its functions, highlighting their commitment to securing even their internal security tools.

Future Vision: AI Agents for Drift Detection and Alert Triage

Looking to the future, Shopify envisions deploying more sophisticated AI agents to automate the continuous security monitoring of non-human identities. These agents will operate at machine speed, a scale impossible for human analysts. The plan is for these agents to:

  1. Analyze Access Based on Tags and Usage Logs: Correlate the owner, origin, and purpose tags assigned to service accounts with their actual usage logs (e.g., Chronicle logs for GCP). This allows for a deterministic analysis of whether the service account's actions align with its intended purpose.
  2. Detect Service Account Drift: Identify instances where a service account begins performing actions outside its expected scope or purpose. This drift detection is critical for catching compromised identities or unintended permission creep.
  3. Automate Alert Triage: When a potential drift or suspicious activity is detected, instead of simply generating another raw alert in a queue, the AI agent will help triage it. It will pull together all relevant context – what the service account was supposed to do, what it actually did, recent changes, and whether the activity looks expected or suspicious. The goal is to provide human investigators with a pre-digested starting point, including evidence and recommended next steps, rather than a blank page.

While some of these AI agents are already running for other use cases and have shown some false positives, the speed and scale advantage they offer are seen as substantial. This proactive, AI-driven monitoring is essential for reducing the attack surface and improving response efficiency in an environment dominated by non-human cloud actors.

Demo / Proof of Concept

▶ Watch: Solution: Assigning owner, origin, and purpose tags (7:00)

The core demonstration and proof of concept presented in the talk revolves around River, Shopify's internal AI-powered Slackbot. The speakers illustrate River's immediate value by showcasing a common incident response scenario.

During the talk, Jie Wu demonstrates how a security engineer would interact with River. Faced with an alert indicating a problematic action by an unidentified service account, the engineer simply asks River, "Who owns this service account?" The demo highlights River's ability to swiftly query internal systems and GCP, extracting critical contextual information.

Specifically, River is shown returning:

  • The rightful owner of the service account.
  • The project it belongs to (e.g., a default service account from a specific project ID).
  • The team associated with that project.
  • A direct Slack channel where the responsible team can be contacted for further context or action.

This demonstration effectively illustrates how River transforms a potentially hours-long manual investigation – involving sifting through logs, checking IAM policies, and cross-referencing internal documentation – into a matter of seconds. By centralizing and instantly providing this crucial context, River acts as a powerful tool for accelerating incident response and improving accountability for non-human identities. The speakers also playfully mention using AI tools to generate their "really cute slides" as a lighter example of leveraging AI for efficiency, reinforcing the broader theme of AI integration.

Defensive Implications

▶ Watch: Solution: Enforcing identity controls with OPA policies (8:00)

The strategies and technologies presented by Shopify offer profound defensive implications for organizations struggling with the security of non-human identities in the cloud. These implications span proactive prevention, rapid incident response, and a forward-looking approach to emerging threats from AI agents.

  1. Proactive Contextualization is a Must-Have: The emphasis on tagging service accounts with owner, origin, and purpose from inception is a critical defensive measure. It shifts the paradigm from reactive investigation to proactive understanding. By embedding this metadata, defenders gain immediate clarity on the intended function and responsible party for any non-human identity. This significantly reduces the investigative burden during an incident and facilitates regular audits to ensure compliance with the principle of least privilege.
  2. Shift-Left Security with Policy-as-Code: Implementing OPA policies within Terraform environments fundamentally strengthens the security posture. This "shift-left" approach ensures that security best practices and organizational policies are enforced at the infrastructure-as-code stage, preventing misconfigurations (like over-provisioned permissions or untagged service accounts) from ever reaching production. It empowers developers to build securely by providing immediate feedback and guiding them towards the "green path," drastically reducing the attack surface created by insecure provisioning.
  3. Automated Context for Accelerated Incident Response: Tools like River are game-changers for incident response. By automating the aggregation of critical context from disparate systems (GCP, internal directories, Slack channels), River dramatically reduces the Mean Time To Respond (MTTR) for incidents involving non-human identities. Security engineers can quickly identify the owner, understand the purpose, and contact the responsible team, enabling faster containment and remediation. This is particularly vital in environments with thousands of service accounts where manual investigation is impractical.
  4. Continuous Monitoring and Drift Detection: The vision for AI agents to perform continuous monitoring and drift detection represents a necessary evolution in cloud security. Human analysts cannot keep pace with the volume and velocity of changes in cloud environments. AI agents, by correlating intended purpose (tags) with actual usage logs, can detect anomalous behavior at machine speed, identifying potential compromises or unintended privilege escalation much faster than traditional methods. This allows defenders to move towards a more predictive and adaptive security model.
  5. Rethinking Controls for Agentic AI: The rise of AI agents that can initiate, approve, and execute actions poses a new and complex defensive challenge. Traditional security frameworks, which often focus on static permissions, may be insufficient. Defenders must begin to think about new controls that govern the behavior and intent of AI agents, ensuring they operate within strict bounds and cannot autonomously expand their capabilities or deviate from their intended purpose. This might involve novel forms of behavioral analytics, dynamic policy enforcement, and robust auditing specifically tailored for the unique characteristics of AI-driven systems.
  6. Reducing Attack Surface: Ultimately, all these measures contribute to a significant reduction in the overall attack surface. By ensuring least privilege, providing clear accountability, and rapidly detecting anomalies, organizations can minimize the potential impact of compromised or misconfigured non-human identities, which are increasingly attractive targets for attackers. The call to "start recording [context] now" is a crucial defensive recommendation, emphasizing that foundational efforts today will pay dividends as the complexity of non-human identities continues to grow.

Key Takeaways

  • Non-human identities are proliferating and evolving: Service accounts, once simple, now wield significant, often over-provisioned, permissions, creating a vast and complex attack surface.
  • Context is paramount for accountability: Assigning clear owner, origin, and purpose tags to service accounts from their inception is crucial for effective governance, auditing, and rapid incident response.
  • Automated policy enforcement is essential for scale: Leveraging Open Policy Agent (OPA) policies within Terraform environments enables "shift-left" security, enforcing best practices and preventing misconfigurations before deployment.
  • AI-powered tools enhance incident response: A Slackbot like River can drastically reduce incident investigation time by instantly gathering comprehensive context for service accounts, centralizing disparate information.
  • Prepare for AI agent security challenges: The emergence of autonomous AI agents requires re-evaluating traditional security controls and developing new frameworks to secure identities that can initiate, approve, and execute actions.
  • Proactive context gathering is non-negotiable: Organizations must start embedding context and accountability into their non-human identities now to effectively manage the increasing complexity and volume of AI agents in the future.

About the Speaker(s)

Jie Wu and Pulkit Garg are both integral members of the Infrastructure Security Team at Shopify. Their work at the e-commerce giant focuses on all aspects of cloud security, with a particular emphasis on securing Kubernetes environments. Their presentation at fwd:cloudsec reflects their deep expertise in managing complex cloud infrastructures and addressing the intricate security challenges posed by the proliferation of non-human identities and automation. Both speakers expressed their enthusiasm for attending the conference, highlighting their commitment to staying at the forefront of cloud security discussions and sharing their practical insights from Shopify's extensive operations.

Reviews

Dr. Zero (Offensive Security Researcher) — SOLID

Competent practitioner talk from Shopify on a real and growing problem — non-human identity governance at scale. The problem framing is solid, the OPA-in-Terraform enforcement pattern is well-understood, and the River Slackbot demo is a nice concrete artifact. Nothing here is novel to anyone who's been paying attention to the cloud IAM space for the last two years, but it's honest work presented by people who actually built the thing.

Heather Calloway (CISO) — SOLID

Shopify's team presents a real operational problem — the accountability gap in non-human identity — and offers a credible, if narrow, engineering response. The tagging-plus-OPA-plus-Slackbot stack is practical and honest, but the talk stays inside Shopify's own toolchain without telling the broader audience what the governance failure actually costs or who in the organization owns fixing it.

→ Top-rated talks at fwd:cloudsec North America 2026

All talks from fwd:cloudsec North America 2026