figma

How We Secure Figma’s Internal Systems With Agents | Figma Blog (opens in new tab)

Figma built an AI-powered security agent to reduce the manual work involved in investigating SIEM alerts. What began as a retrieval system for finding similar past incidents evolved into an agent that investigates alerts, queries security data, writes fixes, opens pull requests, and retains useful knowledge. The system reportedly reduced alert time-to-resolution by 71% and changed how security engineers handle on-call work.

The Challenge of Internal Security Operations

  • Figma’s infrastructure, SaaS tools, identity systems, and employee devices change constantly.
  • Panther, Figma’s SIEM, monitors these systems and sends alerts to Slack while creating Asana tickets.
  • On-call engineers previously spent significant time gathering context:
    • Comparing alerts with incidents from the previous week
    • Checking whether an existing pull request addressed the issue
    • Searching Slack discussions for related investigations
    • Determining whether an alert was new, recurring, or already understood
  • Existing agent work focused on securing Figma’s codebase, but the team needed a broader system for the many issues detected by its SIEM.

The RAG Layer: Giving Alerts Historical Context

  • Figma first created a retrieval-augmented generation system using:
    • AWS Bedrock Knowledge Bases
    • Amazon Kendra
    • Lambda handlers connected to Panther
  • Each Panther alert is converted into a standardized searchable document.
  • The system extracts structured information such as:
    • IP addresses
    • Usernames and actors
    • AWS account IDs from ARNs
    • Alert type, severity, tags, status, and timestamps
  • Similar alerts are retrieved semantically using the alert title, typically containing the detection name and actor username.
  • Searches prioritize:
    • Recent alerts, since investigation procedures evolve
    • Alerts containing actual investigation context
    • Comments from engineers rather than merely closed alerts

Turning Engineer Comments into Institutional Memory

  • When an on-call engineer comments in a Slack alert thread, Figma captures that text and attaches it to the original alert.
  • Asana tickets follow a similar process.
  • The updated alert document is reindexed with:
    • The accumulated investigation comments
    • A has_investigation_context flag
  • Future alerts can retrieve these previous explanations and recommendations.
  • Engineers do not need to adopt a separate annotation workflow; their normal Slack and Asana comments become reusable knowledge.
  • Each useful investigation effectively makes subsequent similar alerts faster and less expensive to triage.

Figma’s approach demonstrates how security agents can build on existing workflows rather than requiring entirely new ones. Starting with searchable historical context allowed the team to progressively develop a broader agentic system while turning everyday investigative work into persistent operational knowledge.