O GitHub, o Copilot, o ChatGPT e o Claude são assistentes de programação baseados em IA. Permitem aos programadores criar código a um ritmo mais acelerado. Isto revolucionou a produtividade dos programadores. No entanto, este aumento de velocidade acarreta riscos ocultos. A segurança da cadeia de abastecimento de software, as questões de direitos de autor e a integridade no recrutamento são todas afetadas.
O MOSS da Stanford consegue, em geral, determinar se um script foi gerado por IA, mas um programador experiente pode ajustar a ordem dos métodos e alterar variáveis para passar despercebido. Além disso, está disponível apenas para uso não comercial. Determinar efetivamente se um código foi gerado por IA requer uma infraestrutura especializada. Plataformas empresariais como a Pangram estão agora a entrar em cena para fornecer detecção dedicada de código gerado por IA.
Se está a perguntar:«É possível detetar código gerado por IA?», a resposta é «Sim». Detetar código gerado por IA é fundamentalmente diferente — e mais difícil — do que detetar texto gerado por IA. Este guia aborda os seguintes pontos:

Detecção de Pangrams por IA para programadores
O código gerado por IA é mais difícil de detectar do que o código escrito por humanos, porque as linguagens de programação têm menos «graus de liberdade». Um programador dispõe de menos opções estilísticas e estruturais. Isto é especialmente verdadeiro quando comparado com as inúmeras opções estilísticas e estruturais de que um autor dispõe.
Linguagens como o C e a linguagem de montagem têm requisitos sintáticos muito rigorosos. Se um ser humano estiver a tentar resolver um problema, poderá desenvolver a função mais eficiente para esse problema. Uma IA também poderá desenvolver esse mesmo código, porque é a função mais eficiente. Tanto um ser humano como uma IA podem produzir código matematicamente idêntico.
O código padrão não contém muitos sinais estatísticos. Um detetor de IA não conseguirá classificar com segurança este tipo de código como sendo gerado por IA ou escrito por humanos. O mesmo se aplica a ficheiros de configuração simples.
Os diretores de tecnologia (CTOs) e as equipas de operações jurídicas utilizam detectores de código de IA para verificar a origem do seu código-fonte. Fazem-no para garantir que os seus programadores não publicam propriedade intelectual de IA que não pode ser protegida por direitos de autor, nem lógica alucinada ou vulnerável.
Nos EUA, os conteúdos gerados inteiramente por IA não podem ser protegidos por direitos de autor. Se o produto principal de uma startup tiver sido gerado inteiramente pelo Copilot sem supervisão humana, essa startup poderá não conseguir proteger esse produto por direitos de autor.
Um detetor de código gerado por IA constitui um primeiro passo essencial nos fluxos de trabalho de segurança. Se um trecho de código for sinalizado como 100% gerado por IA, é necessário submetê-lo a uma revisão manual rigorosa de segurança. Esta revisão deve ser realizada antes da integração do código.
Os responsáveis pelo recrutamento utilizam um detector de código baseado em IA nas tarefas técnicas para realizar em casa. Recorrem a este detector para garantir que os candidatos compreendem a lógica por trás do código que apresentam. Os responsáveis pelo recrutamento não querem candidatos que se limitem a copiar e colar resultados do ChatGPT. Querem candidatos que compreendam a lógica subjacente a esses resultados.
Um programador que dependa inteiramente de um LLM para passar num teste de programação provavelmente irá falhar quando lhe for pedido que depure sistemas legados complexos e sem documentação. O código é complexo. Um programador incapaz de lidar com essas complexidades sem o ChatGPT poderá não ser capaz de desempenhar as suas funções.
Em vez de proibir totalmente a IA, os recrutadores utilizam ferramentas de deteção para orientar as perguntas da entrevista. Eis um exemplo: «Vejo que esta função depende fortemente da assistência da IA. Pode explicar-me por que razão o modelo escolheu esta estrutura de loop específica?»
É necessário utilizar software para garantir a precisão da deteção de IA em grandes volumes. No entanto, para volumes mais reduzidos, os revisores manuais podem detetar código de IA procurando:
Os modelos de IA, como o Claude/ChatGPT, são treinados para serem úteis. Isso faz com que insiram comentários exaustivos e pouco naturais em cada linha de código. Os programadores humanos raramente fazem isso, o que torna este tipo de comentário um indício de que se trata de IA.
Em contextos académicos ou de recrutamento, o código gerado por IA apresenta-se frequentemente idêntico em vários trabalhos apresentados. O MOSS consegue destacar essa semelhança. Isto permite que o MOSS funcione como um indicador secundário da geração por IA. Outras ferramentas também o conseguem fazer.
Para verificar se o código foi gerado por IA, o Pangram recorre à aprendizagem profunda. A aprendizagem profunda é utilizada para identificar a «impressão digital» estatística dos modelos de IA.
O Pangram apresenta uma taxa de precisão de 96,2%. Além disso, tem uma taxa de falsos positivos quase nula, de 0,3%. Isto deve-se, em grande parte, à aprendizagem profunda.

Precisão do Pangram em códigos com mais de 40 linhas
Ao contrário de outros detectores de código gerado por IA, o Pangram é intencionalmente conservador. Foi concebido para ignorar algumas sequências padrão de código gerado por IA — o Pangram apresenta uma taxa de falsos negativos de 8,5% em trechos longos de código. Isto tem como objetivo garantir que nunca acuse falsamente um programador humano.
As equipas de engenharia e de recrutamento podem integrar o Pangram de forma transparente no fluxo de trabalho da sua empresa. Podem fazê-lo através do SDK Python de deteção de código por IA do Pangram. Em alternativa, podem utilizar a API do Pangram. Ambas as opções permitem a verificação automatizada de código por IA no âmbito dos fluxos de trabalho existentes do Git ou do ATS.
Verificação da integridade do código
Os assistentes de programação baseados em IA são ferramentas poderosas que aceleram o desenvolvimento de todo o tipo de software. No entanto, não se pode confiar cegamente neles para criar infraestruturas seguras e proprietárias.
Ao integrar um detetor de código preciso baseado em IA no seu fluxo de trabalho, as equipas de engenharia e de recrutamento podem:
Verifique a proveniência e a originalidade do seu código-fonte com a plataforma de deteção por IA mais precisa do setor.
