arquitetura de ia · segurança

Segurança em cada etapa da inteligência artificial: como blindar agentes corporativos

Versão técnica. Se você é dono de empresa e quer o mesmo assunto sem jargão, leia IA sem risco na sua empresa (4 min).

1. Onde os sistemas de IA autônoma quebram

A adoção corporativa de modelos de linguagem e fluxos agênticos expôs um ponto cego: muitas empresas ligam a IA direto no banco de dados e nas APIs operacionais, sem nenhuma camada de contenção no meio.

Software determinístico valida entrada por tipo e regra de compilador. Um modelo de linguagem opera por probabilidade. Isso o torna suscetível a três classes de falha que não existem no software tradicional:

  • Alucinação — o modelo produz um dado plausível e falso, e o sistema a jusante o trata como verdadeiro.
  • Prompt injection — direto (o usuário instrui o modelo a ignorar suas regras) ou indireto (a instrução maliciosa vem dentro de um documento, e-mail ou página que o agente leu).
  • Privilégio excessivo — o agente tem acesso a mais ferramentas e mais dados do que a tarefa exige.

O nosso princípio de engenharia é que segurança não é um acabamento: é a fundação do fluxo de dados. Na prática, isso significa quatro camadas de contenção entre a entrada do usuário e qualquer alteração de estado no seu sistema.

2. As quatro etapas críticas de blindagem

  1. Entrada do usuário — sanitização e guardrails de escopo.
  2. Processamento interno — isolamento de memória e RAG com permissão por linha.
  3. Ação de ferramenta — validação estrita de schema antes de qualquer execução.
  4. Infraestrutura — execução isolada e trilha de auditoria imutável.

→ resultado: resposta confiável e ação auditada no banco de dados.

Etapa 1 · Sanitização de entrada e defesa contra prompt injection

Antes de qualquer conteúdo do usuário — WhatsApp, chat web, webhook de e-commerce — ser concatenado ao contexto do modelo, ele passa por inspeção determinística:

  • Detecção de padrões adversariais: bloqueio de termos de bypass conhecidos (ignore all previous instructions, system override) e de caracteres invisíveis de Unicode usados para esconder instruções.
  • Classificação de intenção: um classificador barato valida se a mensagem está dentro do domínio antes de acordar o modelo principal — o que corta custo e superfície de ataque na mesma decisão.

Filtro de entrada sozinho não resolve. Ele reduz o volume de tentativas triviais, mas injeção indireta chega por documento indexado, não pelo campo de texto. As etapas 2 e 3 é que contêm o estrago — trate a etapa 1 como redução de ruído, não como perímetro.

Etapa 2 · RAG com isolamento de permissões

O vazamento de dado corporativo mais comum em assistentes internos não vem de invasão: vem do agente recuperando um documento ao qual o usuário que perguntou não deveria ter acesso.

  • Row-Level Security no PostgreSQL acoplado aos embeddings em pgvector: o agente só recupera vetores cujo rótulo de permissão (tenant, papel do usuário) bate com a credencial já validada de quem perguntou.
  • Criptografia em repouso dos chunks de texto armazenados em MinIO (compatível com S3).

A regra: a permissão é resolvida antes da busca vetorial, no banco, e não depois, no prompt. Instrução em linguagem natural pedindo ao modelo para "não revelar documentos restritos" não é controle de acesso.

Etapa 3 · Tool calling com schema estrito

O modelo nunca executa comando arbitrário. Ele emite apenas uma intenção estruturada, que passa por validação rígida antes de qualquer alteração de estado no banco ou no ERP.

contrato_estoque.py · pydantic 2.x✓ testado
import re
from pydantic import BaseModel, Field, field_validator


class ComandoConsultaEstoque(BaseModel):
    """Contrato estrito para a única ação que o agente pode solicitar."""

    sku_produto: str = Field(..., max_length=20, description="Código SKU do produto")
    quantidade: int = Field(default=1, ge=1, le=100, description="Quantidade solicitada")

    @field_validator("sku_produto")
    @classmethod
    def validar_formato_sku(cls, v: str) -> str:
        if not re.fullmatch(r"[A-Z0-9\-]+", v):
            raise ValueError("SKU malformado ou contendo caracteres proibidos.")
        return v
saída real da execução✓ 4/4 ataques bloqueados
# entrada legítima
VALIDO  -> ABC-123 5

# tentativas rejeitadas na camada de tipagem
BLOQUEADO -> "ABC'; DROP TABLE produtos;--"   (injeção SQL)
BLOQUEADO -> 'abc-123'                        (fora do padrão)
BLOQUEADO -> quantidade: 999                  (acima do teto)
BLOQUEADO -> 'AAAAAAAAAAAAAAAAAAAAAAAAA'      (estouro de tamanho)

Se o modelo tentar injetar SQL, caractere de escape ou parâmetro fora do catálogo, a validação falha na camada de tipagem, a execução é abortada e um incidente é registrado. O código acima foi executado com Pydantic 2.13 — a saída é a real, não ilustrativa.

Etapa 4 · Sandboxing, imutabilidade e auditoria

  • Workers que fazem chamada de sistema rodam em contêineres efêmeros com privilégio reduzido (no-new-privileges: true, sistema de arquivos raiz em somente leitura).
  • Trilha de auditoria imutável: cada raciocínio, ferramenta acionada e decisão gera um registro assinado com carimbo de tempo — o que dá rastreabilidade para atender à LGPD e sustenta um processo alinhado aos princípios da ISO/IEC 42001.

Nota de transparência: alinhamento a princípios não é certificação. A CAS-L Tech não é uma organização certificada em ISO/IEC 42001; o que entregamos é a arquitetura de rastreabilidade que um processo de certificação exige como evidência.

3. O que isso muda no negócio

Adotar IA sem governança coloca a reputação da empresa em risco a cada conversa no WhatsApp e a cada chamada de API. As quatro camadas acima existem para que a resposta a "e se o modelo errar?" seja uma propriedade do sistema, não uma esperança.

Elas são construídas sobre componentes open-source — PostgreSQL, pgvector, MinIO, Docker — então o custo é de engenharia e infraestrutura, sem licença por assento. Veja os serviços onde esse desenho é aplicado.

próximo passo

Seus agentes de IA já passam por essas quatro etapas?

Diagnóstico preliminar de arquitetura e segurança de IA, sem custo, para mapear onde o fluxo atual não tem contenção.