Como Tornar Agentes de IA Seguros: Uma Análise da Arquitetura de Segurança da OpenAI

Como Tornar Agentes de IA Seguros: Uma Análise da Arquitetura de Segurança da OpenAI

A OpenAI revela sua arquitetura de segurança para agentes de IA, abordando desde sandboxing e políticas de aprovação até gerenciamento de rede e telemetria avançada. O artigo detalha as camadas de proteção implementadas para garantir a segurança em sistemas de IA.

MundiX News·14 de maio de 2026·5 min de leitura·👁 3 views

Como Tornar Agentes de IA Seguros: Uma Análise da Arquitetura de Segurança da OpenAI

Com o crescente uso de agentes de Inteligência Artificial (IA) capazes de ler repositórios, executar comandos shell e interagir com ferramentas de desenvolvimento, a segurança da informação se torna uma preocupação primordial. A OpenAI publicou detalhes sobre como eles abordam a segurança de seus agentes internamente. Vamos analisar essa arquitetura em detalhes.

O que é Codex?

Codex é um agente de IA que navega autonomamente por repositórios, executa comandos, acessa APIs externas e ferramentas de desenvolvedor. Agentes podem operar em paralelo, em cópias isoladas de código, permitindo que o usuário alterne entre tarefas, visualize alterações e obtenha resultados. Diante da possibilidade de ambientes multi-agentes que dispensam a intervenção humana, a questão da segurança se torna ainda mais crítica.

A Abordagem da OpenAI

A OpenAI implementou um princípio claro: ações de baixo risco são executadas sem interrupção, enquanto ações de alto risco passam por verificação.

Camada 1: Sandbox e Sistema de Aprovações

A primeira linha de defesa é o sandbox. Ele define os limites técnicos de execução, incluindo onde o Codex pode escrever e quais caminhos ele pode acessar, garantindo a proteção de áreas sensíveis. Acima do sandbox, opera uma política de aprovações: se um agente precisa realizar uma ação fora do sandbox, ele deve solicitar permissão. O usuário pode aprovar a ação individualmente ou permitir uma classe inteira de ações para a sessão.

Para evitar que o agente se torne uma máquina de aprovações, a OpenAI adicionou o modo de auto-revisão (auto_review). Este é um subagente que aprova silenciosamente solicitações de baixo risco sem interromper o usuário. No entanto, se algo incomum ou potencialmente perigoso surgir, o controle é transferido para um humano.

toml
# config.toml
approvals_reviewer = "auto_review"
sandbox_workspace_write.writable_roots = ["~/development"]

# requirements.toml
allowed_sandbox_modes = ["read-only", "workspace-write"]

Camada 2: Gerenciamento de Rede

O Codex não tem acesso de saída irrestrito. A política de rede é baseada em uma allowlist: apenas o que é explicitamente permitido é autorizado.

toml
# requirements.toml
allowed_web_search_modes = ["cached"]

[experimental_network]
enabled = true
allow_local_binding = true
denied_domains = ["pastebin.com"]
allowed_domains = ["login.microsoftonline.com", "*.openai.com"]

A lógica é simples: o agente deve ser capaz de executar processos de trabalho padrão, acessar os serviços necessários e trabalhar com localhost, mas não deve ter a capacidade de enviar dados para qualquer lugar. Um domínio desconhecido fora da lista resultará em uma pausa e uma solicitação de aprovação.

Camada 3: Regras no Nível de Comando

Nem todos os comandos shell são igualmente seguros. A OpenAI define políticas granulares através de prefix_rules: comandos padrão para leitura e inspeção (por exemplo, logs do Kubernetes) são permitidos sem aprovação, enquanto padrões potencialmente destrutivos são imediatamente bloqueados ou exigem permissão explícita.

# default.rules
prefix_rule(
    pattern = ["gh", "pr", ["view", "list"]],
    decision = "allow",
    justification = "Allows read-only GitHub PR inspection via gh CLI.",
)
prefix_rule(
    pattern = ["kubectl", ["get", "describe", "logs"]],
    decision = "allow",
    justification = "Allows Kubernetes resource inspection for debugging.",
)

Isso permite que o Codex lide rapidamente com tarefas de engenharia diárias sem parar em cada git status, mas sem executar nada destrutivo em silêncio.

Camada 4: Autenticação e Gerenciamento de Credenciais

As credenciais CLI e MCP OAuth são armazenadas no keychain do sistema operacional, e não em arquivos de configuração ou variáveis de ambiente. O login é feito apenas através do ChatGPT Workspace corporativo.

toml
# config.toml
cli_auth_credentials_store = "keyring"
mcp_oauth_credentials_store = "keyring"
forced_login_method = "chatgpt"
forced_chatgpt_workspace_id = "<workspace-uuid>"

Essa abordagem oferece duas vantagens: primeiro, toda a atividade do Codex está vinculada a um espaço de trabalho específico e é registrada na plataforma de conformidade da OpenAI. Segundo, a comprometimento da configuração não equivale ao comprometimento das credenciais.

Camada 5: Telemetria no Nível do Agente

Os logs de segurança tradicionais registram fatos: um processo foi iniciado, um arquivo foi modificado, uma conexão de rede foi estabelecida. Eles não respondem à pergunta por quê. O Codex exporta logs OpenTelemetry com contexto completo do agente: solicitação do usuário, decisões de aprovação de ferramentas, resultados de execução, uso de servidores MCP, eventos de rede (permitido/bloqueado).

toml
# config.toml
[otel]
log_user_prompt = true
environment = "prod"

[otel.exporter.otlp-http]
endpoint = "http://localhost:14318/v1/logs"
protocol = "binary"

Esses logs podem ser enviados para qualquer SIEM. A OpenAI foi além: eles adicionaram um agente de IA para classificação de segurança, que analisa os logs do Codex no contexto de alertas de segurança de endpoint. Uma IA monitora a outra e explica à equipe de segurança se o comportamento foi normal, um erro inofensivo ou algo que realmente precisa ser escalado.

Conclusão

Ao analisar o sistema, a OpenAI construiu várias camadas de controle independentes que trabalham juntas: limitação técnica (sandbox) → limitação comportamental (regras de comando) → isolamento de rede → gerenciamento de identidade → telemetria com contexto → triagem de IA sobre telemetria. Cada camada resolve seu próprio problema e não depende de que a anterior funcione perfeitamente. Isso é defense in depth, embora não seja um conceito novo, mas aplicado a sistemas de agentes de forma bastante consistente.

📤 Compartilhar & Baixar