Saltar para o conteúdo principal
Quando um agente roda solto através de uma dúzia de ferramentas MCP, a pergunta que importa depois do fato nunca é “esta ferramenta é segura” — é “o que o agente de fato chamou, o que o firewall decidiu e qual regra fez essa chamada.” O OrcaRouter responde isso a partir de um lugar: o log de auditoria de mcp. Cada tools/call que o gateway MCP avalia na superfície mcp chega como um evento de firewall — veredito, ferramenta, regra correspondente e o run do agente que o emitiu — de modo que você pode monitorar uma sessão ao vivo ou reconstruí-la depois. Esta página é o how-to focado para ler esse rastro. Para o próprio gateway, o vocabulário de vereditos e o DSL de regras, veja Firewall e Firewall: servidores MCP.
Cada leitura aqui é configurada a partir do console (ou da API REST com o seu token de sessão/acesso — UserAuth) e é restrita por papel. Apenas chamadas de relay /v1/* e as rotas do gateway do firewall carregam uma chave no estilo sk-orca-....

1. O que o log de auditoria de mcp registra

Cada chamada de ferramenta MCP produz um evento de firewall na superfície mcp. O evento carrega o que você precisa para responder “quem chamou o quê, e o que a política fez” — e nada que não deveria (os argumentos de ferramenta são redigidos, veja §4).
verdict (allow / audit / deny / sanitize / pending_approval / observe), surface (mcp aqui), policy_name, rule_label e uma reason legível por humanos. Uma flag quarantine marca uma chamada retida porque a skill proprietária está em modo de quarentena.
tool_name (com namespace <server>.<tool>), skill_name quando a chamada é atribuível a uma skill registrada, model_name e token_name.
agent_run_id, conversation_id e request_id — as chaves que você usa para agrupar as chamadas de uma sessão ou descer de uma requisição para cada chamada que ela disparou.
Uma flag gap marca uma chamada em modo observe que a sua política anexada viu mas não correspondeu a nenhuma regra — o sinal que a visão de Ferramentas Descobertas usa para expor ferramentas que a sua política ainda não cobre.

2. Lendo o feed

A aba Events no console é a visão primária. Para puxar os mesmos dados programaticamente, liste eventos com o seu token de acesso e filtre para a superfície mcp:
# Rota de console (UserAuth). Ler eventos exige Developer+.
curl "https://api.orcarouter.ai/api/workspace/firewall/events?surface=mcp&verdict=deny,pending_approval" \
  -H "Authorization: Bearer <your-access-token>"
O filtro verdict aceita um único valor ou um conjunto separado por vírgulas (o preset “denies + holds” acima). Um evento de amostra:
{
  "created_at": 1700000000,
  "surface": "mcp",
  "tool_name": "github.create_issue",
  "verdict": "deny",
  "policy_name": "Coding agent",
  "rule_label": "no writes to prod org",
  "reason": "rule matched: no writes to prod org",
  "agent_run_id": "run_8f3a",
  "model_name": "claude-sonnet-4-5",
  "token_name": "ci-agent"
}
Para reconstruir o fan-out completo de uma requisição — cada ferramenta que o modelo chamou sob uma única requisição de relay — desça por request id:
curl "https://api.orcarouter.ai/api/workspace/firewall/events/by-request/<request_id>" \
  -H "Authorization: Bearer <your-access-token>"
Para um rollup em nível de sessão em vez de linhas brutas, acesse GET /api/workspace/firewall/events/aggregate?group_by=run (ou group_by=session) — uma linha por run de agente com um breakdown por veredito, ferramentas distintas e first/last-seen. Os endpoints de trace (/trace/runs, /trace/by-run) reconstroem a árvore de chamadas do run.

3. Linhas de auditoria de governança de servidor

Os eventos por chamada dizem o que o agente fez. Um segundo rastro, menor, diz o que você fez à governança de um servidor — e é onde a história do rug-pull vive. Quando um probe encontra que o conjunto de ferramentas anunciado de um servidor registrado teve drift, e um admin refaz o baseline ou o coloca em quarentena, essa decisão é escrita no log de auditoria do workspace:
Ação de auditoriaEscrita quando
firewall_mcp_schema_changedUm probe encontra o conjunto de ferramentas ao vivo com drift em relação ao aprovado.
firewall_mcp_schema_approvedUm admin refaz o baseline para o novo conjunto de ferramentas.
firewall_mcp_schema_quarantinedUm admin coloca em quarentena (e desabilita) um servidor com drift.
Cada linha carrega o id do servidor, o nome e a contagem de ferramentas — nunca argumentos de ferramenta ou credenciais. Este é o rastro forense por trás da Defesa contra rug-pull: um servidor que você aprovou na segunda não pode crescer silenciosamente uma ferramenta shell.exec na sexta sem deixar uma linha aqui.
Mudanças de política, regra e configurações do firewall escrevem suas próprias linhas de auditoria junto a estas. Quando um admin de plataforma faz a mudança, ela também chega ao log de auditoria de admin central (GET /api/admin/audit-logs, apenas admin); a edição de um membro comum permanece na trilha do workspace.

4. Os argumentos são redigidos por padrão

O stream de eventos é construído para ser legível pela sua equipe sem vazar segredos. Os argumentos de chamada de ferramenta nunca são armazenados verbatim — um evento carrega no máximo um args_summary limitado e redigido, e o hash de argumento bruto usado para agrupamento de anomalias nunca deixa o servidor.
Como os eventos carregam esse snapshot de argumento sanitizado, os endpoints de events, aggregate e trace são restritos a Developer+ — um membro com papel Viewer pode ler políticas e ferramentas descobertas mas não a proveniência de chamada de ferramenta de outro membro. Planeje seus papéis de acordo.

5. Monitoramento ao vivo: anomalias

Ler depois do fato é uma metade; a outra é ser avisado enquanto está acontecendo. O feed de anomalias observa MCP (e cada outra superfície) por comportamento que rompe com a baseline aprendida do workspace — picos de taxa e custo contra um perfil de hora-da-semana, loops de retry e caminhos de ferramenta novos — e os expõe sem que você escreva uma única regra.
# O feed de anomalias é aberto a qualquer Member.
curl "https://api.orcarouter.ai/api/workspace/firewall/anomalies?window=5m" \
  -H "Authorization: Bearer <your-access-token>"
Um sinal ruidoso pode ser adiado (snooze, até 7 dias) para que pare de lotar o feed sem ser permanentemente silenciado. A leitura de anomalias é aberta a Member — mais ampla que o stream de eventos — porque ela carrega o sinal, não os argumentos.
Combine o feed com o shadow mode: faça rollout de uma política apertada como apenas-audit, observe os would-be denies no stream de eventos (reason prefixado com [shadow] would …) e promova-a quando o feed estiver quieto.

6. Retenção e apagamento

Os eventos de firewall expiram automaticamente — eles não são um store permanente, são uma janela de monitoramento rolante. As linhas de auditoria de workspace (o rastro de governança de servidor em §3) são mantidas por até 180 dias. E quando um usuário é deletado, o ciclo de grace-then-scrub cascateia através dos eventos e correspondências de firewall de modo que o rastro de chamada de ferramenta de um usuário que saiu não fique sobrando.
Os controles de residência de dados e retenção vivem no plano de conformidade. O log de auditoria de mcp herda a postura de retenção do workspace; você não o configura por servidor.

7. Para onde ir em seguida

Visão geral de segurança de MCP

Toda a superfície de governança de MCP — gateway, vereditos, skills, egress.

Defesa contra rug-pull

Os eventos de drift em §3, de ponta a ponta: detectar, refazer baseline, colocar em quarentena.

Lista de permissão de ferramentas MCP

Transforme o que o log de auditoria mostra em uma política default-deny.

Firewall: servidores MCP

A referência completa de campos e rotas.
Novo no modelo? Veja Como o OrcaRouter inspeciona para onde os eventos são emitidos no caminho de avaliação, e Agência excessiva para a ameaça que uma trilha de auditoria limpa ajuda você a pegar cedo.