OpenAI
Esta página foi traduzida automaticamente. Ver o artigo original em inglês.

Segurança do Codex

Atualizado: 7 days ago

O Codex Security é uma pré-visualização de investigação que ajuda as equipas a identificar, validar e corrigir vulnerabilidades no código. Foi concebido para funcionar mais como um investigador de segurança do que como um scanner tradicional: lê código, executa testes, explora caminhos de ataque realistas e propõe correções que as equipas podem rever no seu fluxo de trabalho habitual.

Visão geral

Atualmente, o Codex Security liga-se diretamente a repositórios GitHub. Depois de ativar um repositório, cria um modelo de ameaças específico da base de código, analisa o histórico do repositório, valida potenciais vulnerabilidades num ambiente isolado e apresenta correções propostas para revisão humana.

O Codex Security assenta em três fases: identificação, validação e correção. Durante a identificação, analisa o repositório e explora caminhos de ataque realistas. Durante a validação, tenta reproduzir cada problema para confirmar que é real. Durante a correção, gera um patch concreto que as equipas podem rever e transformar numa pull request.

Como o Codex Security funciona

Quando o Codex Security se liga a um repositório, analisa commits por ordem cronológica inversa e cria um modelo de ameaças específico da base de código. Esse modelo capta pontos de entrada para atacantes, limites de confiança, dados sensíveis e caminhos de código de elevado impacto, que o Codex usa para centrar a análise em cenários de ataque realistas. As equipas podem inspecionar e editar o modelo de ameaças para que reflita os seus pressupostos reais de implementação.

O Codex Security segue um fluxo de trabalho de correção em circuito fechado:

  1. Analisar o repositório: o Codex liga-se ao seu repositório GitHub, analisa a base de código e cria um modelo de ameaças a partir do repositório e do histórico de commits.

  2. Descobrir vulnerabilidades: usando esse modelo de ameaças, o Codex explora caminhos de código realistas e identifica potenciais vulnerabilidades.

  3. Validar numa sandbox: o Codex executa um validador automatizado num ambiente isolado para reproduzir o problema, captar detalhes de execução e confirmar a explorabilidade antes de apresentar a descoberta.

  4. Gerar um patch: para vulnerabilidades validadas, o Codex produz uma sugestão de patch mínima que resolve a causa raiz.

  5. Revisão humana e pull request: o patch não modifica automaticamente o seu código. É apresentado para revisão humana e pode ser transformado numa pull request para o seu fluxo de trabalho habitual.

  6. Revalidar após a correção: depois de um problema confirmado ser corrigido e integrado, o Codex pode revalidar a correção, fechando o ciclo da deteção à correção.

Para cada descoberta, o Codex Security pode produzir uma análise do caminho de ataque que mostra como uma entrada controlada por um atacante pode passar de um ponto de entrada para um resultado sensível. Atribui uma pontuação a esse caminho com base na probabilidade e no impacto e torna visíveis os pressupostos subjacentes, o que ajuda as equipas a priorizar riscos realistas em vez de alertas isolados.

Antes de apresentar uma descoberta, o Codex Security tenta reproduzi-la num ambiente isolado. O validador regista resultados de reprodução, detalhes de execução e artefactos de prova de conceito para que as equipas se possam concentrar em descobertas que foram efetivamente demonstradas.

Para descobertas validadas, o Codex Security propõe um patch mínimo que resolve a causa raiz. Não modifica automaticamente o seu código. Em vez disso, o patch é apresentado para revisão humana e pode ser transformado numa pull request no seu fluxo de trabalho existente.

Primeiros passos

  1. Aceda a chatgpt.com/codex/security.

  2. Ligue e ative os repositórios GitHub que pretende que o Codex Security analise.

  3. Aguarde que a análise inicial termine. O Codex Security começa por criar um modelo de ameaças para o projeto e analisar o histórico do repositório em busca de vulnerabilidades existentes. Isto pode demorar mais em projetos grandes. As análises de código novo são mais rápidas.

  4. Reveja as descobertas, os detalhes de validação e os patches propostos.

Controlos de acesso baseados em funções (RBAC)

Nos espaços de trabalho Enterprise e Edu, os administradores podem gerir o acesso ao Codex Security nas permissões do espaço de trabalho. O Codex Security exige que tanto o acesso ao Codex Cloud como ao Codex Security estejam ativados para o espaço de trabalho. O acesso também pode ser limitado a funções ou grupos específicos através de RBAC, incluindo grupos sincronizados por SCIM.

Para atualizar as permissões do seu espaço de trabalho:

  1. No ChatGPT, clique no ícone do seu perfil e selecione Definições do espaço de trabalho -> Permissões para ir para a página permissões do espaço de trabalho.

  2. Desloque-se para baixo até Codex Cloud.

  3. Certifique-se de que o acesso ao Codex Cloud está ativado.

  4. Ative ou desative o acesso alternando Permitir que os membros usem o Codex Security.

Saiba mais sobre os controlos de acesso baseados em funções no seu espaço de trabalho ChatGPT.

Boas práticas

  • Comece com um pequeno conjunto de repositórios e um grupo dedicado de revisores. Recomendamos uma implementação inicial focada, especialmente enquanto a integração e a partilha de vulnerabilidades ainda são relativamente manuais.

  • Refine o modelo de ameaças à medida que aprende. Pequenas atualizações ao modelo podem melhorar o contexto e tornar as descobertas mais precisas ao longo do tempo.

  • Se atualmente não utiliza GitHub Cloud, considere começar com repositórios de menor risco ou que não sejam de produção para avaliação. Isso pode ajudar as equipas a ganhar confiança no fluxo de trabalho antes de uma adoção mais alargada.

  • Reveja as PRs de patch geradas com o seu processo de revisão habitual. Também recomendamos usar o Codex Code Review nas PRs do Codex Security para que a correção não introduza regressões.

Perguntas frequentes

O Codex Security altera automaticamente o meu código?

Não. O Codex Security propõe um patch para revisão humana. Essa proposta pode ser transformada numa pull request, mas não modifica automaticamente o seu código.

O Codex Security depende de fuzzing ou de análise baseada em assinaturas?

Não. O Codex Security utiliza raciocínio de modelos de linguagem, capacidade de computação em tempo de teste, utilização de ferramentas e grande contexto, em vez de fuzzing ou análise baseada em assinaturas.

Posso inspecionar ou editar o modelo de ameaças?

Sim. O modelo de ameaças é visível e editável, para que as equipas possam inspecionar como o Codex Security compreende a aplicação e atualizar pressupostos para corresponder ao seu ambiente.

O que significa validação?

A validação é a etapa em que o Codex Security tenta reproduzir uma potencial vulnerabilidade num ambiente isolado antes de a apresentar. Isto destina-se a reduzir falsos positivos e a manter as descobertas com elevado sinal.

O que acontece depois de uma descoberta ser validada?

Após a validação, o Codex Security propõe um patch que resolve a causa raiz e que pode ser transformado numa pull request para revisão.

Este artigo foi útil?