Executando Codex
O desenvolvimento de sistemas de inteligência artificial (IA) cada vez mais capazes está mudando a forma como os agentes de codificação operam em fluxos de trabalho reais. Com o aumento da capacidade desses sistemas, eles começam a agir em nome dos usuários, realizando tarefas que antes exigiam a intervenção humana direta. O Codex, desenvolvido pela OpenAI, é um exemplo disso, permitindo que agentes de codificação revisem repositórios, executem comandos e interajam com ferramentas de desenvolvimento de forma autônoma. No entanto, é fundamental garantir que esses agentes sejam utilizados de forma segura e controlada, especialmente em ambientes de produção.
Para alcançar esse objetivo, a OpenAI implementou controles, limites e recursos de telemetria para governar os agentes de codificação em fluxos de trabalho reais. A equipe de segurança da OpenAI necessita de mecanismos para controlar como os agentes operam, incluindo o que eles podem acessar, quando é necessário a aprovação humana, quais sistemas eles podem interagir e quais recursos de telemetria estão disponíveis para explicar seu comportamento. Com o Codex, a OpenAI projetou essas capacidades ao lado dos controles necessários para uma implantação segura. O objetivo é manter o agente dentro de limites técnicos claros, permitir que os desenvolvedores trabalhem rapidamente em ações de baixo risco e tornar as ações de alto risco explícitas, preservando os registros do agente para entender e auditorar suas ações.
Em prática, isso significa configuração gerenciada, execução restrita, políticas de rede e registros nativos do agente. A OpenAI implanta o Codex com o princípio de que ele deve ser produtivo dentro de um ambiente limitado, as ações diárias de baixo risco devem ser sem atrito, e as ações de alto risco devem ser interrompidas para revisão. Os controles de aprovação e sandboxing trabalham juntos para definir os limites técnicos de execução, incluindo onde o Codex pode gravar, se ele pode acessar a rede e quais caminhos permanecem protegidos. A política de aprovação determina quando o Codex deve solicitar permissão para realizar uma ação, como quando ele precisa fazer algo fora da sandbox. Os usuários podem aprovar a ação uma vez ou aprovar esse tipo de ação para a sessão.
Para solicitações de aprovação rotineiras, a OpenAI utiliza o modo de revisão automática, que é um recurso que, quando ativado, aprova automaticamente certos tipos de solicitações para reduzir a frequência com que os usuários precisam interromper e aprovar as ações do Codex. O Codex envia a ação planejada e o contexto recente para o subagente de aprovação automática, que pode aprovar automaticamente ações de baixo risco em vez de interromper o usuário. Isso mantém o Codex em movimento no trabalho de rotina enquanto ainda para em ações de alto risco ou ações com consequências não intencionais. Além disso, a OpenAI não executa o Codex com acesso aberto de saída. A política de rede gerenciada permite destinos esperados, bloqueia destinos que não queremos que o Codex alcance e exige aprovação para domínios desconhecidos.
Isso permite que o Codex complete fluxos de trabalho comuns e conhecidos sem dar a ele um acesso amplo à rede. A OpenAI também gerencia como o Codex se autentica. As credenciais de autenticação OAuth do CLI e do MCP são armazenadas no anel de chaves seguro do sistema operacional, o login é forçado por meio do ChatGPT, e o acesso é fixado no espaço de trabalho de empresa do ChatGPT. Isso mantém o uso do Codex vinculado aos controles de nível de espaço de trabalho e torna a atividade do Codex disponível na plataforma de logs de conformidade do ChatGPT para o espaço de trabalho de empresa. A OpenAI usa regras para que o Codex não trate todos os comandos do shell como igualmente seguros. Comandos comuns e benignos que os engenheiros usam no desenvolvimento diário são permitidos sem aprovação fora da sandbox, e comandos específicos perigosos podem ser bloqueados ou exigir aprovação.
Isso permite que o Codex se mova rapidamente por meio de tarefas de engenharia comuns enquanto ainda força a revisão ou bloqueia padrões que não queremos executar fora da sandbox. A OpenAI aplica essa postura por meio de uma combinação de requisitos gerenciados em nuvem, preferências gerenciadas do macOS e arquivos de requisitos locais. Os requisitos são controles administrativos que os usuários não podem substituir. As preferências gerenciadas do macOS e os arquivos de requisitos locais permitem que mantenhamos uma linha de base consistente enquanto ainda testamos diferentes configurações por equipe, grupo de usuários ou ambiente. Essas configurações se aplicam a todas as superfícies locais do Codex, incluindo o aplicativo de área de trabalho, o CLI e a extensão do IDE.
O controle é apenas metade do trabalho. Uma vez que os agentes são implantados, as equipes de segurança precisam de visibilidade sobre o que esses agentes estão fazendo e por quê. Os logs de segurança tradicionais ainda são úteis ao analisar as ações realizadas pelo Codex, mas eles principalmente respondem ao que aconteceu: um processo foi iniciado, um arquivo foi alterado, uma conexão de rede foi tentada. Os defensores ainda precisam descobrir por que o Codex fez algo ou qual era a intenção do usuário. O Codex pode fornecer às equipes de segurança uma visão mais consciente do agente. O Codex suporta a exportação de logs OpenTelemetry para vários eventos do Codex, como prompts de usuário, decisões de aprovação de ferramentas, resultados de execução de ferramentas, uso do servidor MCP e eventos de proxy de rede permitidos ou negados. Os logs de atividade do Codex também estão disponíveis por meio da plataforma de conformidade da OpenAI