Adrian is a free, open source ai security & privacy project written in Python and released under Apache-2.0. It has 566 GitHub stars, 93 forks and 6 open issues, and was last pushed 2 days ago. On this registry it ranks #33 of 34 tracked projects in AI Security & Privacy, with 5 head-to-head comparisons available. It gained 2 stars over the last 3 tracked days.

What is Adrian?

Adrian is an open-source, Apache-2.0 licensed runtime security engine for AI agents that inspects both what an agent does and why it does it, and can block or hold a risky action before it lands — aimed at teams shipping LLM agents on stacks such as LangChain and LangGraph.

What it is

Adrian is a runtime security monitoring and control engine for AI agents, aligned with the AARM specification. It analyses two streams that most tooling treats separately: agent activity logs covering tool calls, actions and outputs, and the agent's reasoning traces, which show the intent, context and planned next step behind each action. On that combined view it decides whether an action is malicious, misaligned or outside the agent's declared remit, and it can optionally intervene in flight rather than only report afterwards. It is written in Python, distributed under Apache-2.0, and currently sits at 564 stars and 93 forks on GitHub.

The concrete problem it addresses is that agent attacks slip past static analysis and network monitoring, and also past the behaviour-only monitoring that most agent observability stops at. Classifiers trained on prompt-injection datasets only catch attacks resembling their training data. Adrian instead holds a working understanding of what a given agent is meant to do and judges each new action against that, correlated across the whole session. The README's worked example is an e-commerce agent that starts resetting user passwords: no training set flags that, but the remit model does. Adrian positions itself as replacing the activity-log-only monitoring layer plus the static filter, and as the first tool to turn reasoning-plus-behaviour analysis into a deployable security control.

Key capabilities

  • Analyses combined activity logs (tool calls, actions, outputs) and reasoning traces, judging each action against the agent's declared remit and correlating decisions across the full session.
  • Detects prompt injection and jailbreaks, both direct and indirect.
  • Detects tool poisoning and unsafe or off-policy tool calls.
  • Detects data exfiltration and secret or credential leakage.
  • Detects privilege escalation and out-of-remit actions.
  • Supports in-flight intervention with an audit-versus-block mode setting, configured remit, alerting channels, and accepted behaviours versus known-risks lists.
  • Ships SDKs for Python (pip install adrian-sdk, with LangChain and Anthropic support) and TypeScript, plus a native Claude Code plugin installed with /plugin marketplace add secureagentics/Adrian and /adrian-init.

Who uses it and how

  • Teams running LangChain or LangGraph agents: the Python SDK auto-instruments those frameworks, so existing code keeps its structure while calls are classified.
  • Claude Code users who want every tool call classified in the terminal, with risky actions blocked or held for approval, and no code changes required.
  • Security and AI governance owners who start in audit mode to map agent behaviour, then switch to block mode once accepted behaviours are defined and alerting channels are wired up.
  • Managed-dashboard users who sign up at app.adrian.secureagentics.ai, generate an API key, and install nothing beyond the SDK.
  • Self-hosters who prefer to run the control plane on their own infrastructure instead of the managed service.

Getting started

The fastest paths are the managed dashboard at app.adrian.secureagentics.ai plus pip install adrian-sdk, the Claude Code plugin pair /plugin marketplace add secureagentics/Adrian and /adrian-init, or the guided install file GET_STARTED_AI_GUIDE.md, which an agent such as Claude, Codex or Cursor can follow.

How it compares

No comparable or paid products are named in the registry facts, so Adrian stands alone in this registry. The contrast the project itself draws is with monitoring that stops at activity logs — APIs, MCP, database interactions and tool calls — and with classifiers trained on prompt-injection data alone; Adrian cites OpenAI and DeepMind research (arXiv 2503.11926) for combining behaviour and reasoning analysis.

When to use it — and when not to

Use Adrian when agents take consequential actions and the gap between logging what happened and stopping what is about to happen matters. Self-hosting is documented in the repository, but it is a control plane the operator runs and maintains, so teams without capacity to operate and tune a security service should take the managed dashboard instead. The provided facts give no released version number, so maturity has to be read from commit activity (latest push 2026-09-15) and the small open-issue count of 6 rather than from a versioned release.

project readme (upstream, from github) — read inline

Agent attacks slip past static analysis and network monitoring.

Adrian catches them at runtime, by watching what the agent actually does (its actions and its reasoning) and stepping in before it acts. Open source, free forever.

+35% detection accuracy · 4x more nuanced attacks caught vs behaviour-only monitoring (OpenAI & DeepMind research)

Stars Licence Dashboard PyPI Discord LinkedIn Product Hunt

⭐ If you think agents need a runtime security layer, star the repo. It is how new people find Adrian, and how we know to keep building it in the open.


Adrian is an open-source, AARM-aligned runtime security monitoring and control engine for AI agents. It analyses both agent activity logs (tool calls, actions, outputs) and reasoning traces to detect malicious, misaligned, or out-of-remit behaviour, and optionally intervene in-flight. SDKs are available for Python (LangChain, Anthropic) and TypeScript (sdk/typescript/README.md), plus a native Claude Code plugin that secures every tool call from your terminal.

🆕 Claude Code plugin - now live. Drop Adrian into Claude Code and every tool call is classified in real time, with risky actions blocked or held for your approval right in the terminal. No code changes: install with /plugin marketplace add secureagentics/Adrian then /adrian-init. Full guide: integrations/claude-code/README.md.

Documentation  •  Dashboard  •  Discord  •  LinkedIn

▶️ See it in action: Adrian catches an agent going out-of-remit in real time and steps in before the action lands.

https://github.com/user-attachments/assets/ba50e6e4-fe3e-47b2-aa69-2902e1ef2924

New to Adrian? Check out the Launch Video.

Why Adrian is different

Most agent monitoring stops at activity logs: APIs, MCP, DB interactions, tool calls, etc. Adrian enhances this by also analysing the agent's reasoning: understanding why it took an action, under what context, and what it is planning on doing next. Combining behaviour and reasoning analysis like this is exactly what the OpenAI and DeepMind research found catches far more, and Adrian is the first tool to put it into a deployable security control, free forever.

What it catches:

  • Prompt injection and jailbreaks, direct and indirect
  • Tool poisoning and unsafe or off-policy tool calls
  • Data exfiltration and secret / credential leakage
  • Privilege escalation and out-of-remit actions

Classifiers trained on prompt-injection datasets only catch what they have seen before. Adrian works differently: it holds a working understanding of what your agent is meant to do and judges each new action against that, correlated across the whole session. So when your e-commerce agent starts resetting user passwords, something no training set would flag, Adrian catches it.

Quickstart

Want the stupidly simple, 60-second hands-off install? Feed your coding agent (Claude, Codex, Cursor, etc.) this file: GET_STARTED_AI_GUIDE.md. It will walk you through the installation process (video guide here). Always review instructions manually.

The next fastest way to try Adrian is the managed dashboard at app.adrian.secureagentics.ai. Sign-up takes a minute and there is nothing to install beyond the SDK. To run Adrian on your own infrastructure instead, jump to Self-hosting below.

  1. Sign up at app.adrian.secureagentics.ai and generate an API key.

  2. Configure Adrian for your agent and your preferences (remit of your agent, audit vs block mode, alerting channels, accepted behaviours vs known-risks).

  3. Install the SDK:

    pip install adrian-sdk
    
  4. Install LangChain and the provider for your agent's model (the SDK auto-instruments LangChain / LangGraph; pick whichever provider matches your model):

    pip install langchain langchain-openai   # or langchain-anthropic, etc.
    # or, in a uv project:  uv add langchain langchain-openai
    

langchain pulls langgraph in, so this covers both create_agent and create_react_agent. Last verified 2026-06-24 with langchain==1.3.9, langgraph==1.2.5, langchain-core==1.4.7, langchain-openai==1.3.2. Supported: langchain/langgraph/langchain-openai `>=1.0,=1.2.19,

  1. Wrap your LangChain agent. Two lines of Adrian (init + shutdown) bracket your normal LangChain / LangGraph code:

    import asyncio
    import adrian
    from langchain_openai import ChatOpenAI
    
    async def main():
        adrian.init(api_key="adr_live_...")
        llm = ChatOpenAI(model="gpt-4o")
        response = await llm.ainvoke(
            "Find the most underpriced recent IPOs and build an investment strategy",
        )
        print(response.content)
        adrian.shutdown()
    
    asyncio.run(main())
    

    Full runnable version (with env-var checks) at examples/python/quickstart.py. More complex examples using agents are in examples/python/.

  2. Run your agent. Events appear in the dashboard within seconds, classified by severity.

Full guide: Quickstart.

Self-hosting

Adrian supports entirely offline, data sovereign deployments using just a handful of docker commands. This repository ships everything needed to run the entire Adrian stack on a single host: the Go backend (WebSocket + dashboard API + AI engine), the Next.js dashboard, the Python SDK, and a Llama.cpp container that serves a local Gemma model. No managed cloud, no telemetry leaving the box.

Hardware support: Tested on NVIDIA GPUs with Gemma 4 (E2B / E4B) which is the model the bootstrap picker downloads by default. CPU-only is technically possible but will be slow on real workloads with those sized models.

Prerequisites

  • A host with Docker + Docker Compose v2.
  • An NVIDIA GPU with recent CUDA driver and the NVIDIA Container Toolkit installed (for the bundled Llama.cpp classifier). ~10 GB free disk for the model.

Bring-up

  1. Clone:

    git clone https://github.com/secureagentics/Adrian
    cd Adrian
    
  2. Run bootstrap. Creates data/adrian.db, applies migrations, generates a random admin password, and writes .env. With no --gguf flag, the bootstrap interactively offers to download the recommended on-device classifier (Gemma 4 E4B, ~5 GB, or E2B ~3 GB) into ./models/.

    # Default: interactive picker downloads Gemma 4 E4B / E2B
    docker compose --profile setup run --rm setup bootstrap
    
    # Already have a GGUF under ./models/? Pass it by name
    docker compose --profile setup run --rm setup bootstrap \
    

readme truncated — read the full docs on github

Frequently asked questions

Is Adrian free to use?

Adrian is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Adrian do?

Open-source runtime AI agent security tool - monitors and controls AI agents, catching malicious tool use, prompt injection, and policy drift in real time, befo

What is Adrian written in?

Adrian is primarily written in Python. Its source is publicly available at https://github.com/secureagentics/Adrian, and it has 566 GitHub stars.