Inspiration

AI agents are becoming increasingly capable of using external tools, APIs, MCP servers, and models. That creates a new software supply-chain problem:

What happens when an AI agent trusts a capability that it should not trust?

A capability does not need to contain obviously malicious code to become dangerous. Its description, schema, endpoint, or requested permissions can contain instructions or behavior that causes an agent to expose sensitive information, make unauthorized requests, or operate beyond its intended scope.

Traditional software supply-chain security gives us mechanisms for provenance, integrity, and policy enforcement. AI-agent capabilities introduce another challenge: some security risks are semantic and require reasoning to identify.

We wanted to combine these ideas into a single security boundary for agent capabilities.

That became WARDEN.

The idea is simple:

AI reasons about risk
        +
Cryptography establishes trust
        +
Deterministic policy controls execution

WARDEN is designed around the principle that an LLM should help understand risk, but should not be the only thing responsible for enforcing security.


What it does

WARDEN is a software supply-chain firewall for AI agents.

A capability submitted to WARDEN goes through inspection before it can become trusted.

                         Capability
                              |
                              v
                    +-------------------+
                    | Gemma 2 Pre-Screen|
                    |  Fast First Pass  |
                    +---------+---------+
                              |
                              v
                    +-------------------+
                    |     Inspector     |
                    |  Gemini + ADK     |
                    +---------+---------+
                              |
                       Security Verdict
                              |
                     +--------+--------+
                     |                 |
                  BLOCK             APPROVE
                                       |
                                       v
                              +----------------+
                              |    Registrar   |
                              |   Ed25519 Seal |
                              +-------+--------+
                                      |
                                      v
                               Trusted Registry
                                      |
                                      v
                              +----------------+
                              |   Gatekeeper   |
                              | Signature +    |
                              | Policy Checks  |
                              +-------+--------+
                                      |
                                +-----+-----+
                                |           |
                              ALLOW        BLOCK

Two Google Models, Two Jobs

WARDEN uses two Google models, each matched to what it does best:

  • Gemma 2 (gemma-2-9b-it), Google's open-weights model, runs a fast, low-cost first-pass screen for obvious red flags — prompt-injection phrasing, suspicious egress, and dangerous over-broad scopes.
  • Gemini 3.5 Flash on Vertex AI then performs the deep OWASP LLM Top 10 analysis that produces the final structured verdict, with evidence for every finding.

The fast model handles the common signal; the deeper model does the heavy reasoning. Every capability's verdict records the Gemma pre-screen result alongside the Gemini findings.

Security Analysis

After Gemma 2's fast pre-screen, the Inspector uses Gemini through Google Vertex AI to analyze capability manifests adversarially.

WARDEN currently looks for risks including:

Threat What WARDEN evaluates
Prompt Injection Instructions attempting to manipulate agent behavior
Data Exfiltration Attempts to send sensitive information to external destinations
Sensitive Information Disclosure Exposure or misuse of sensitive information
Supply-Chain Risk Suspicious or potentially compromised capability behavior
Excessive Agency Capabilities requesting unnecessary authority or permissions
Insecure Plugin Design Dangerous capability interfaces or behaviors
Insecure Output Handling Unsafe handling of capability output

The findings are classified using the OWASP LLM Top 10 (2025) taxonomy, together with an explicit data-exfiltration category.

The Inspector returns a structured verdict containing information such as:

  • Risk score
  • Severity
  • Findings
  • Evidence
  • Threat classification
  • Approval or rejection decision

Test It With Your Own Capability

WARDEN is designed to make the inspection process directly testable.

The dashboard allows a user to paste a capability manifest or upload a capability definition and submit it to the real pipeline.

Your Capability
      |
      v
+-------------------+
| Paste / Upload    |
| Capability JSON   |
+---------+---------+
          |
          v
   Gemma 2 Pre-Screen
          |
          v
     Gemini Inspector
          |
          v
   Security Findings
          |
     +----+----+
     |         |
  APPROVE    BLOCK

This means the demonstration is not limited to a predefined list of security results. A capability submitted during the demonstration can go through the actual inspection pipeline.


Cryptographic Trust

The model verdict is not treated as the runtime security mechanism by itself.

When a capability is approved, WARDEN creates an Ed25519 cryptographic seal over the canonical representation of the capability manifest and its security verdict.

Conceptually:

$$ M = \operatorname{Canonicalize}(\text{Manifest} \parallel \text{Verdict}) $$

The registrar then creates the signature:

$$ \sigma = \operatorname{Ed25519.Sign}(sk, M) $$

At runtime, the Gatekeeper verifies:

$$ \operatorname{Ed25519.Verify}(pk, M, \sigma) $$

A modification to the signed capability or verdict causes verification to fail.

The trust relationship is therefore:

What was inspected
       =
What was approved
       =
What was cryptographically sealed
       =
What can be verified at runtime

Runtime Enforcement

The Gatekeeper performs deterministic checks before allowing a capability to execute.

Check Purpose
Signature verification Confirms the capability was cryptographically approved
Policy evaluation Checks requested permissions against policy
Risk threshold Rejects capabilities above the configured threshold
Registry lookup Confirms the capability exists in the trusted registry
Audit logging Records the enforcement decision

This creates a deliberate separation:

Gemini evaluates risk. Deterministic code enforces trust.


Continuous Re-Vetting

WARDEN also includes a Sweeper component for re-vetting previously approved capabilities.

The current architecture supports the re-vetting and revocation workflow, while automated scheduled sweeping is part of the planned next stage.

REGISTER
   |
   v
  VET
   |
   v
 SEAL
   |
   v
  RUN
   |
   v
RE-VET
   |
   +-----------> Keep Trusted
   |
   +-----------> Revoke

How we built it

WARDEN was built as a Google Cloud-based application with a FastAPI backend, Next.js dashboard, and separate components for inspection, registration, runtime enforcement, and re-vetting.

System Architecture

                         AI AGENT FLEET
                              |
                              |
                     Capability Registration
                              |
                              v
                  +-------------------------+
                  |      ORCHESTRATOR       |
                  | Registration Workflow   |
                  +------------+------------+
                               |
                               v
                  +-------------------------+
                  |   GEMMA 2 PRE-SCREEN    |
                  |                         |
                  |     Google ADK Agent    |
                  |   Fast first-pass scan  |
                  +------------+------------+
                               |
                               v
                  +-------------------------+
                  |       INSPECTOR         |
                  |                         |
                  |     Google ADK Agent    |
                  |            |            |
                  |            v            |
                  |   Gemini on Vertex AI   |
                  +------------+------------+
                               |
                        Structured Verdict
                               |
                               v
                  +-------------------------+
                  |       REGISTRAR         |
                  |                         |
                  | Provenance + Ed25519    |
                  +------------+------------+
                               |
                               v
                  +-------------------------+
                  |       FIRESTORE         |
                  |                         |
                  | Registry + Audit Events |
                  +------------+------------+
                               |
                               v
                  +-------------------------+
                  |      GATEKEEPER         |
                  |                         |
                  | Signature Verification  |
                  | Policy Enforcement      |
                  +------------+------------+
                               |
                         +-----+-----+
                         |           |
                       ALLOW        BLOCK

Component Architecture

WARDEN separates AI reasoning from deterministic security operations.

Component Responsibility AI-powered
Gemma Pre-Screener Fast first-pass capability screening Yes
Inspector Adversarial capability analysis Yes
Orchestrator Coordinates registration workflow No
Registrar Provenance and cryptographic sealing No
Gatekeeper Runtime verification and policy enforcement No
Sweeper Re-vetting and revocation No

The two model-backed agents — the Gemma 2 pre-screener and the Gemini Inspector — provide the reasoning. The cryptographic and policy-critical paths remain deterministic.


Registration Pipeline

Capability Manifest
        |
        v
Input Validation
        |
        v
Gemma 2 Fast Pre-Screen
        |
        v
Gemini Security Analysis
        |
        v
Structured Vetting Verdict
        |
   +----+----+
   |         |
 BLOCK     APPROVE
   |         |
   |         v
   |   Canonical Manifest
   |          +
   |   Security Verdict
   |         |
   |         v
   |     Ed25519 Seal
   |         |
   |         v
   |      Firestore
   |
   v
Audit Event

Runtime Pipeline

Agent Invocation
       |
       v
Capability Lookup
       |
       v
Signature Verification
       |
       +---- Invalid ------> BLOCK
       |
       v
Policy Evaluation
       |
       +---- Denied -------> BLOCK
       |
       v
Risk / Permission Checks
       |
       +---- Failed -------> BLOCK
       |
       v
     ALLOW
       |
       v
Capability Execution
       |
       v
  Audit Event

Google Cloud Stack

Layer Technology Role
Agent Framework Google ADK Gemma + Inspector agents
Pre-Screening Gemma 2 (open-weights) Fast first-pass capability screen
AI Reasoning Gemini 3.5 Flash on Vertex AI Deep security analysis
Backend FastAPI + Cloud Run API and orchestration
Frontend Next.js + Cloud Run Security dashboard
Database Firestore Capability registry and audit data
Secrets Secret Manager Signing-key storage
Cryptography Ed25519 Capability sealing
Observability OpenTelemetry + Cloud Trace Request tracing
Payload Security Model Armor integration point Planned runtime screening
Scheduling Pub/Sub + Cloud Scheduler infrastructure Planned automated sweep workflow

Security Decision Model

WARDEN intentionally separates risk assessment from authorization.

A capability can be represented as:

$$ C = (M, V, \sigma) $$

where:

  • (M) is the canonical capability manifest
  • (V) is the security verdict
  • (\sigma) is the Ed25519 signature

The runtime decision is then based on deterministic verification and policy:

$$ \text{Allow}(C) = \text{ValidSignature}(C) \land \text{PolicyAllows}(C) \land \text{RiskAcceptable}(C) $$

This is the central architectural idea behind WARDEN.


Challenges we ran into

1. Using an LLM without making it the security boundary

The biggest architectural challenge was deciding how much authority to give Gemini.

An LLM is useful for understanding natural-language descriptions and identifying suspicious behavior, but security-critical enforcement should be predictable.

We therefore separated the responsibilities:

Gemini
  |
  +--> Understand and evaluate risk
              |
              v
       Structured Verdict
              |
              v
   Deterministic Security Layer
              |
        +-----+-----+
        |           |
   Cryptography   Policy
        |           |
        +-----+-----+
              |
              v
        Runtime Decision

This allows Gemini to provide the semantic reasoning while keeping cryptographic verification and policy enforcement outside the model.


2. Balancing cost and depth with two models

Running full deep analysis on every manifest is more work than most cases need. We added Gemma 2 as a fast, lightweight first-pass screener ahead of Gemini 3.5 Flash, so the cheap open-weights model handles the obvious signals while the deeper model does the full OWASP reasoning. Designing the pipeline as two tiers — an open-weights fast screen feeding a managed deep analysis — was a deliberate architectural choice.


3. Making approvals tamper-evident

A database record saying that a capability was approved is not sufficient.

We needed the approval to remain connected to the exact capability that was evaluated.

WARDEN therefore signs the canonical representation of the capability and its security verdict with Ed25519.

If the signed data changes, verification fails.


4. Firestore query constraints

During deployment, some registry queries required Firestore composite indexes.

For the current application, we redesigned those queries to use simpler equality filtering and perform the remaining ordering and version selection in application code.

This allowed the deployed application to operate without additional composite-index configuration.


5. Vertex AI authentication

Getting the deployed Inspector working correctly required handling Google Cloud authentication rather than relying on a consumer-style API-key setup.

WARDEN uses Google Cloud service-account credentials with Vertex AI, allowing the Cloud Run service to authenticate through its Google Cloud identity.


6. Making the demonstration genuinely interactive

We wanted to demonstrate actual inspection rather than predefined security results.

The dashboard therefore supports submitting a capability manifest directly for inspection.

The submitted capability is processed by the actual pipeline and the resulting security findings and verdict are displayed in the dashboard.


Accomplishments that we're proud of

WARDEN currently demonstrates an end-to-end capability trust workflow:

SUBMIT
  |
  v
PRE-SCREEN (Gemma 2)
  |
  v
INSPECT (Gemini 3.5 Flash)
  |
  v
APPROVE / BLOCK
  |
  v
CRYPTOGRAPHICALLY SEAL
  |
  v
REGISTER
  |
  v
VERIFY
  |
  v
ENFORCE
  |
  v
AUDIT

Key accomplishments

Capability Implementation
Two-tier model pipeline Gemma 2 fast screen + Gemini 3.5 Flash deep analysis
AI security inspection Gemini through Vertex AI
Fast pre-screening Gemma 2 (open-weights)
Agent integration Google ADK
Structured security verdicts Typed inspection results
Threat taxonomy OWASP LLM Top 10 (2025) + data-exfiltration category
Cryptographic trust Ed25519 signatures
Runtime verification Deterministic Gatekeeper
Permission control Policy enforcement
Capability registry Firestore
Provenance Registration metadata and signed approvals
Auditability Recorded security events
Re-vetting Sweeper component
Interactive testing User-submitted capability manifests
Cloud deployment Cloud Run + Google Cloud services

The accomplishment we are most proud of is that WARDEN does not stop at:

"The AI thinks this tool is safe."

The decision continues through:

AI Analysis
    ↓
Approval
    ↓
Cryptographic Sealing
    ↓
Runtime Verification
    ↓
Policy Enforcement

That gives the project a security model that combines AI reasoning with deterministic controls.


What we learned

AI agents need a capability trust layer

Our biggest lesson was that securing an AI agent is not only about securing the model.

The tools, APIs, MCP servers, and other capabilities available to an agent become part of its effective attack surface.

That means these capabilities need their own security controls.


AI and deterministic security have different strengths

We learned that the strongest architecture is not necessarily one where AI does everything.

AI is useful for Deterministic systems are useful for
Understanding natural language Signature verification
Identifying suspicious intent Policy enforcement
Reasoning about ambiguous behavior Permission checks
Classifying findings Reproducible decisions
Producing contextual evidence Audit records

WARDEN combines these strengths instead of treating the LLM as the entire security mechanism.

Use AI to understand risk. Use deterministic systems to enforce trust.


Different models for different jobs

Pairing an open-weights model (Gemma 2) for fast screening with a managed model (Gemini 3.5 Flash) for deep reasoning taught us that a security pipeline does not need a single model to do everything. Routing each stage to the model best suited to it keeps the common path fast and inexpensive while preserving depth where it matters.


Trust is a lifecycle

We also learned that a capability's security status should not necessarily be permanent.

Capabilities can change, new threats can emerge, and previously accepted behavior may need to be reviewed again.

This led us to model trust as a lifecycle:

$$ \text{Vet} \rightarrow \text{Seal} \rightarrow \text{Verify} \rightarrow \text{Re-vet} \rightarrow \text{Revoke} $$

This is why WARDEN includes a Sweeper and revocation workflow.


Security for a fleet is different from securing one agent

WARDEN was designed around the idea of a shared trust layer for an agent fleet.

Instead of implementing capability security independently inside every agent, a common registry, inspection process, cryptographic trust model, and enforcement layer can provide a consistent security boundary across multiple agents.

This is also why WARDEN fits the Fortified Enterprise Fleet track: the focus is not simply protecting one AI interaction, but establishing consistent capability trust across an environment where multiple agents may depend on shared software capabilities.


What's next for Warden

WARDEN currently provides the foundation for a capability trust layer. The next steps are focused on making that trust layer more deeply integrated with agent runtimes and more continuous.

1. Direct agent-runtime integration

The next step is to integrate the Gatekeeper directly into agent runtimes through middleware or an ADK callback.

This would allow capability verification and policy enforcement to happen automatically during agent execution.


2. Identity-aware policies

We want to extend policy enforcement from a general policy to agent-specific capability policies.

For example:

Agent Example allowed scope
Research Agent Read-only web capabilities
Coding Agent Approved repository operations
Data Agent Approved database access
Deployment Agent Restricted deployment APIs

This would move WARDEN further toward least-privilege capability access for individual agents.


3. Continuous re-vetting

The Sweeper is designed to support recurring re-evaluation of approved capabilities.

The next step is to connect it to the existing scheduling infrastructure so capabilities can be periodically re-vetted and revoked when their security status changes.

Scheduled Sweep
      |
      v
Approved Registry
      |
      v
Re-vet Capabilities
      |
  +---+---+
  |       |
  v       v
Safe    Risk Changed
  |       |
  v       v
Keep    Revoke
Trust    Seal

4. Runtime payload screening

WARDEN includes a Model Armor integration point.

The next step is to enable runtime payload screening as part of the active enforcement path alongside capability verification and policy checks.


5. Capability-source connectors

We want WARDEN to eventually connect directly to capability registries and other trusted sources.

The longer-term workflow becomes:

DISCOVER
   |
   v
INSPECT
   |
   v
SEAL
   |
   v
MONITOR
   |
   v
RE-VET
   |
   v
REVOKE WHEN NEEDED

The goal is to make WARDEN a continuous trust layer between AI agents and the software capabilities they depend on.


Final Takeaway

AI agents are increasingly defined not only by the model behind them, but by what they are allowed to use and what they are allowed to do.

WARDEN addresses that boundary with three layers:

          AI REASONING
               |
        "Is this risky?"
               |
               v
     CRYPTOGRAPHIC TRUST
               |
       "Was this approved?"
               |
               v
     DETERMINISTIC POLICY
               |
       "Can it run here?"
               |
               v
          AGENT RUNTIME

WARDEN turns the AI-agent software supply chain into a verifiable security boundary.

Built With

  • docker
  • ed25519
  • fastapi
  • gemini-3.5-flash
  • gemma-2
  • google-adk
  • google-cloud-firestore
  • google-cloud-run
  • google-cloud-trace
  • google-secret-manager
  • model-armor
  • next.js
  • python
  • react
  • typescript
  • vertex-ai
Share this project:

Updates

Submission history