← Últimos artigos
🤖 AI

Constitutional Spec-Driven Development: Enforcing Security by Construction in AI-Assisted Code Generation

Este artigo introduz o Desenvolvimento Baseado em Especificação Constitucional, uma metodologia que incorpora restrições de segurança legíveis por máquina na camada de especificação para impor a segurança por construção na geração de código assistida por IA, demonstrando uma redução de 73% em defeitos de segurança enquanto mantém a velocidade do desenvolvedor.

Autores originais: Srinivas Rao Marri

Publicado 2026-02-04
📖 6 min de leitura🧠 Leitura aprofundada

Autores originais: Srinivas Rao Marri

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está contratando um aprendiz de programador incrivelmente rápido, talentoso, mas ligeiramente imprudente. Este aprendiz (a IA) consegue escrever um programa de computador funcional em segundos apenas ouvindo sua descrição. No entanto, como o aprendiz está focado demais em fazer as coisas funcionarem, ele frequentemente esquece de trancar as portas, esconder as chaves ou reforçar as paredes. Nos velhos tempos, você construía a casa primeiro e depois contratava um inspetor de segurança para encontrar os buracos e consertá-los. Mas quando o aprendiz constrói uma casa em 10 segundos, o inspetor não consegue acompanhar, e a casa pode estar cheia de armadilhas antes mesmo da inspeção começar.

Este artigo apresenta uma nova forma de trabalhar chamada Desenvolvimento Orientado por Especificação Constitucional. Pense nisso como dar ao aprendiz uma Constituição antes que ele escreva uma única linha de código.

A Ideia Central: A "Constituição"

Na política, uma constituição é um conjunto de regras inquebráveis que governam como um país funciona. Você não pode simplesmente passar uma lei que diga "todos devem ser pobres" se a constituição diz "todos têm direitos".

Neste artigo, os autores sugerem que demos à nossa IA uma Constituição de Software. Isso não é uma sugestão vaga como "seja cuidadoso". É um livro de regras estrito e legível por máquina que diz:

  • "Você DEVE trancar cada porta (Autenticação)."
  • "Você NÃO DEVE deixar as chaves sob o tapete (Sem senhas codificadas/hardcoded)."
  • "Você DEVE verificar as identidades antes de deixar qualquer pessoa entrar (Autorização)."

A IA é instruída: "Você pode construir o que quiser, mas não pode quebrar estas regras". Se a IA tentar escrever um código que viole uma regra, o sistema o rejeita imediatamente, forçando a IA a reescrevê-lo corretamente antes que o código esteja sequer terminado.

A Analogia: O "Programador de Vibe" vs. O "Guarda-corpo"

O artigo chama a tendência atual de usar IA para programar rapidamente de "Vibe Coding" (Programação de Vibe).

  • Vibe Coding: Você diz: "Faça um aplicativo de banco para mim", e a IA instantaneamente cospe o código. Funciona! Mas pode ter um buraco na parede por onde qualquer um pode roubar dinheiro.
  • Desenvolvimento Orientado por Especificação Constitucional: Você diz: "Faça um aplicativo de banco para mim", mas entrega à IA uma Constituição primeiro. A IA constrói o app, mas tem que construí-lo dentro de um conjunto de guarda-corpos. Se ela tentar construir uma porta sem uma fechadura, o guarda-corpo a fecha bruscamente. A IA tem que tentar novamente até que a porta tenha uma fechadura.

O Experimento: Um Banco em uma Caixa

Para provar que isso funciona, os autores construíram um microsserviço bancário (uma pequena parte do software de um banco que lida com contas e dinheiro). Eles escolheram um banco porque, se você errar a segurança ali, as pessoas perdem dinheiro real e o banco recebe multas enormes.

Eles fizeram duas coisas:

  1. O Jeito "Vibe": Eles deixaram a IA construir um app de banco sem regras, apenas pedindo para ela "fazer funcionar".
  2. O Jeito "Constituição": Eles deram à IA o livro de regras estrito (Constituição) e pediram para ela construir o mesmo app.

Os Resultados

Os resultados foram dramáticos:

  • Menos Buracos: A versão "Constituição" teve 73% menos falhas de segurança do que a versão "Vibe".
  • Mais Rápido para a Segurança: Levou 56% menos tempo para a equipe obter uma versão segura do app. Normalmente, as equipes passam semanas corrigindo falhas de segurança após a IA escrever o código. Com a Constituição, o código era seguro enquanto estava sendo escrito.
  • Prova para o Chefe: O sistema criou automaticamente um mapa mostrando exatamente qual regra foi seguida em qual linha de código. Isso é como ter um recibo para cada trava de segurança instalada, o que é ótimo para auditores bancários.

O Que Foi Corrigido?

O artigo lista 10 tipos específicos de "buracos de segurança" (como SQL Injection, onde hackers enganam o banco de dados, ou Senhas Fracas) que a Constituição evitou.

  • Exemplo 1: A IA tentou escrever uma consulta ao banco de dados usando uma simples string de texto. Isso é como escrever o número de uma conta bancária em um post-it. A Constituição disse: "Não! Use uma consulta parametrizada segura". A IA corrigiu.
  • Exemplo 2: A IA tentou registrar (logar) a senha do usuário em um arquivo para poder "rastreá-la". A Constituição disse: "Nunca registre senhas". A IA removeu a senha do log.
  • Exemplo 3: A IA permitiu que qualquer pessoa consultasse qualquer número de conta. A Constituição disse: "Você deve verificar se o usuário é o dono dessa conta". A IA adicionou uma verificação.

As "Lições Aprendidas"

Os autores aprenderam algumas coisas importantes sobre como usar este método:

  1. Seja Específico: Não diga "Seja seguro". Diga "Use hashing bcrypt com um custo de 12". A IA precisa de instruções exatas.
  2. Não Sobrecarregue: Se você der à IA todo o livro de regras de 50 páginas de uma vez, ela ficará confusa. É melhor dar a ela apenas as 3 a 5 regras relevantes para a tarefa específica que ela está realizando agora.
  3. Proteja o Livro de Regras: A própria Constituição é um alvo. Se um hacker pudesse enganar a IA para mudar a Constituição para dizer "Nenhuma senha necessária", todo o sistema falha. Portanto, o arquivo da Constituição deve ser protegido como um cofre.

Resumo

Este artigo argumenta que não devemos esperar para corrigir a segurança depois que a IA escreve o código. Em vez disso, devemos integrar as regras de segurança logo no primeiro passo do processo. Ao dar à IA uma Constituição, forçamos ela a construir software seguro por construção, e não por acidente. Isso transforma a segurança de uma tarefa de "consertar depois" em uma parte essencial do projeto.

Nota: O artigo foca estritamente nesta metodologia para o desenvolvimento de software, especificamente usando um exemplo bancário para demonstrar as melhorias de segurança. Não afirma que estes resultados se aplicam a tratamentos médicos, dispositivos de segurança física ou outros campos de fora do software.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →