Este é o MVP hiper-focado da nossa plataforma de governança para IA.
Ele é dividido em duas partes:
- Backend (Control Plane): Onde os CISOs registram os agentes e definem as políticas de segurança. Ele emite um JWT de curta duração.
- Gateway (Data Plane): O "pedágio" que fica na frente da API de destino (ex: Stripe, OpenAI). Ele intercepta, valida o JWT, checa se a política permite acessar aquele endpoint, e então faz o proxy.
Abra um terminal:
cd backend
npm install
npx ts-node src/index.ts(Deve rodar na porta 4000)
Abra outro terminal:
cd gateway
npm install
npx ts-node src/index.ts(Deve rodar na porta 8000)
Passo A: Registre um Agente de Vendas
curl -X POST http://localhost:4000/api/agents/register \
-H "Content-Type: application/json" \
-d '{"name": "Sales_Agent_01", "policy": {"allowed_endpoints": ["/v1/customers", "/v1/charges"], "max_daily_spend": 1000}}'Guarde o agentId e o clientSecret retornados.
Passo B: O Agente solicita um Token (Auth)
curl -X POST http://localhost:4000/api/auth/token \
-H "Content-Type: application/json" \
-d '{"agentId": "COLE_O_ID_AQUI", "clientSecret": "COLE_O_SECRET_AQUI"}'Copie o access_token (JWT).
Passo C: O Agente tenta acessar uma API através do nosso Gateway
Se ele tentar acessar um endpoint permitido (ex: /v1/customers na API do Stripe):
curl -X GET http://localhost:8000/proxy/v1/customers \
-H "Authorization: Bearer COLE_O_TOKEN_AQUI" \
-H "x-target-url: https://api.stripe.com"O gateway validará a política e, como é permitido, encaminhará o proxy.
Passo D: Tentativa Bloqueada (Segurança em Ação) Se o agente tentar acessar um banco de dados restrito:
curl -X GET http://localhost:8000/proxy/v1/disputas \
-H "Authorization: Bearer COLE_O_TOKEN_AQUI" \
-H "x-target-url: https://api.stripe.com"Resultado: 403 Forbidden - Policy Violation: Endpoint not allowed for this agent.
- Integrar com banco de dados real (PostgreSQL).
- Criar o Painel Front-end em Next.js para o CISO gerenciar isso visualmente.
- Criar a camada de log forense (Vault Incorruptível).