Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
wardn — aislamiento de credenciales para agentes de IA. Los agentes nunca ven claves API reales - garantía estructural, no política. | Kitploit
Herramientas/GitHubGitHub/rohansx/wardn
Autenticación y AutorizaciónHerramientas de Cifrado/DescifradoSeguridad en la NubeDevSecOpsUtilidades y FrameworksDetección de SecretosGestión de Identidad y Acceso (IAM)Seguridad de Cadena de SuministroSeguridad de APIs
GitHubrohansx/wardn

wardn

36313hace 2 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

aislamiento de credenciales para agentes de IA. Los agentes nunca ven claves API reales - garantía estructural, no política.

Ver Repositorio

wardn

Un firewall de credenciales para agentes de IA.

La afirmación principal es estructural, no política: los agentes reciben tokens de relleno, nunca claves de API reales. La clave real cruza solo una costura de red — dentro del proxy wardn, en su camino hacia la API ascendente — y se elimina de las respuestas antes de que lleguen al agente. Los registros, el entorno, las ventanas de contexto de LLM, los archivos temporales y el historial del shell solo contienen rellenos.```text agent process OPENAI_KEY=wdn_placeholder_a1b2c3d4e5f6g7h8 (useless) agent logs Authorization: Bearer wdn_placeholder_a1b2... (useless) LLM context wdn_placeholder_a1b2c3d4e5f6g7h8 (useless) wardn proxy injects the real key in-flight, single seam (deleted on response) ~/.vibeguard/vault.enc AES-256-GCM(Argon2id(passphrase)) (encrypted at rest)

Esta es la afirmación fundamental y es defendible hoy contra el compromiso del agente, la inyección de indicaciones, el robo de registros y la exfiltración de habilidades.
Lea [docs/THREAT-MODEL.md](https://github.com/rohansx/wardn/blob/main/docs/THREAT-MODEL.md) para conocer la división honesta entre lo que está cubierto y lo que no, incluido el nivel donde la afirmación más fuerte de "el compromiso del anfitrión no filtra nada" se vuelve alcanzable.

La bóveda en sí (cifrada en reposo, clave derivada de una frase de contraseña) es un componente real y la razón por la que el cortafuegos puede ejecutarse en una sola máquina. El próximo nivel [docs/HOSTED-TIER.md](https://github.com/rohansx/wardn/blob/main/docs/HOSTED-TIER.md) además envuelve el proxy en un enclave de cómputo confidencial para que incluso un VPS completamente comprometido no pueda leer la clave.

[![Crates.io](https://img.shields.io/crates/v/wardn.svg)](https://crates.io/crates/wardn)
[![License](https://img.shields.io/crates/l/wardn.svg)](LICENSE)

## El Problema

Cada framework de agente de IA hoy almacena claves API en variables de entorno o archivos `.env`. Un agente comprometido, una habilidad maliciosa, un ladrón de credenciales común o una inyección de indicaciones que exfiltre `Authorization: Bearer sk-...` de un registro de LLM obtiene acceso completo a sus credenciales.```
~/.env              → OPENAI_KEY=sk-proj-real-key      # plaintext, readable by anyone
agent context       → "Use OPENAI_KEY=sk-proj-real-key" # leaked into LLM context window
agent logs          → Authorization: Bearer sk-proj-... # sitting in log files

La solución: un cortafuegos de credenciales

wardn entrega a los agentes una cadena de marcador de posición inútil y elimina la clave real de todas las superficies a las que puede acceder. Las claves reales se inyectan en la capa de red — una única costura — y se eliminan de las respuestas antes de que lleguen al agente.``` agent environment → OPENAI_KEY=wdn_placeholder_a1b2c3d4e5f6g7h8 (useless) wardn vault → OPENAI_KEY=sk-proj-real-key (encrypted at rest) upstream request → Authorization: Bearer sk-proj-real-key (network transit only) upstream response → ...real keys stripped, placeholders returned... (re-injected on the way back) agent logs → Authorization: Bearer wdn_placeholder_a1b2... (useless) LLM context window → wdn_placeholder_a1b2c3d4e5f6g7h8 (useless)

## Arquitectura```mermaid
flowchart TB
    subgraph Agent["AI Agent Process"]
        A1["Agent Code"]
        A2["ENV: OPENAI_KEY=wdn_placeholder_a1b2..."]
    end

    subgraph Wardn["wardn daemon · localhost:7777"]
        direction TB
        P["HTTP Proxy"]
        MCP["MCP Server\n(stdio)"]

        subgraph Pipeline["Request Pipeline"]
            direction LR
            S1["Identify\nAgent"] --> S2["Resolve\nPlaceholder"] --> S3["Check\nAuth"] --> S4["Rate\nLimit"] --> S5["Inject\nReal Key"]
        end

        subgraph ResponsePipeline["Response Pipeline"]
            direction RL
            R1["Strip Real\nKeys"] --> R2["Replace with\nPlaceholders"]
        end

        subgraph Vault["Encrypted Vault"]
            V1["AES-256-GCM"]
            V2["Argon2id KDF"]
            V3["Placeholder Map\nper agent × credential"]
        end
    end

    subgraph External["External APIs"]
        E1["api.openai.com"]
        E2["api.anthropic.com"]
        E3["..."]
    end

    A1 -- "placeholder token\nin headers/body" --> P
    A1 -. "MCP: get_credential_ref\nlist_credentials\ncheck_rate_limit" .-> MCP
    MCP -. "placeholder token\n(never real keys)" .-> A1
    P --> Pipeline
    Pipeline --> External
    External --> ResponsePipeline
    ResponsePipeline -- "response with\nplaceholders only" --> A1
    Pipeline <--> Vault
    ResponsePipeline <--> Vault

    style Agent fill:#1a1a2e,stroke:#e94560,color:#fff
    style Wardn fill:#0f3460,stroke:#16213e,color:#fff
    style Pipeline fill:#16213e,stroke:#e94560,color:#fff
    style ResponsePipeline fill:#16213e,stroke:#e94560,color:#fff
    style Vault fill:#1a1a2e,stroke:#00d2ff,color:#fff
    style External fill:#0a0a0a,stroke:#533483,color:#fff

Cómo funciona```

Agent sends request with placeholder in Authorization header │ ▼ ┌─────────────────────────┐ │ wardn proxy │ │ localhost:7777 │ │ │ │ 1. Identify agent │ │ 2. Resolve placeholder │ │ 3. Check authorization │ │ 4. Check rate limit │ │ 5. Inject real key │ │ 6. Forward request │ │ 7. Strip key from resp │ │ 8. Return to agent │ └─────────────────────────┘ │ ▼ External API (only place real key exists in transit)

## Demostración

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12823/1fa6109ffd855ec98c173c5edd2d7ee77f6b0c918a3cdecb1ea5fbfe8326161d.gif" alt="demostración de wardn" width="800">
</p>

## Niveles de Confianza, Honestamente

| Nivel | Dónde | Qué ofrece |
|---|---|---|
| **Autoalojado (hoy)** | tu portátil, tu VPS, CI | Bóveda cifrada en reposo, reclamo de firewall contra agentes. **No** defiende contra root en el anfitrión. |
| **Alojado (próximamente)** | gestionado por wardn o BYO-cloud | Entorno de computación confidencial (Nitro / SEV-SNP) + atestación remota + flujo de cifrado hacia el proxy. Afirmación real de "una compromiso del anfitrión no filtra nada". |

El nivel autoalojado es la afirmación principal y se envía hoy. El nivel alojado
es la ruta de actualización estricta: cuesta dinero y complejidad operativa, y
su diseño está en [docs/HOSTED-TIER.md](https://github.com/rohansx/wardn/blob/main/docs/HOSTED-TIER.md). Inventario completo
y honesto de lo que está y no está cubierto:

👉 **[docs/THREAT-MODEL.md](https://github.com/rohansx/wardn/blob/main/docs/THREAT-MODEL.md)** — tabla de cubre / no cubre,
"ninguna bóveda de software elimina la compromiso del anfitrión" indicado claramente, y
la ruta de actualización.

## Instalación```bash
# Prebuilt binary (Linux/macOS, amd64/arm64), checksum-verified
curl -sSf https://raw.githubusercontent.com/rohansx/wardn/main/install.sh | sh

# or from crates.io
cargo install wardn

# or Homebrew, once the tap is published (see Formula/wardn.rb)
brew install rohansx/wardn/wardn

Inicio rápido```bash

Create an encrypted vault and store your keys

wardn vault create wardn vault set OPENAI_KEY wardn vault set ANTHROPIC_KEY

Set up Claude Code integration (one command)

wardn setup claude-code

Eso es todo. Claude Code ahora usa el servidor MCP de wardn para obtener tokens de marcador de posición en lugar de leer claves reales de tu entorno.

### Qué sucede a continuación
Descargar herramienta