O maior problema da programação com IA foi finalmente resolvido

AAI LABS
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00A IA tornou a programação acessível a todos e as pessoas começaram a lançar códigos a um ritmo
00:00:04muito mais rápido.
00:00:05Mas, num ritmo ainda mais veloz, os problemas de segurança dentro dessas apps começaram a acumular-se.
00:00:09E, nos últimos meses, as coisas pioraram consideravelmente.
00:00:12Houve muitos casos em que um agente apagou o projeto inteiro de alguém.
00:00:16Outro agente apagou uma base de dados de produção inteira enquanto o desenvolvedor trabalhava em
00:00:20algo completamente não relacionado.
00:00:22E houve muitos problemas semelhantes, como o vazamento do Clod.md interno da Apple.
00:00:26Portanto, ferramentas que conseguem detetar estes problemas importam mais agora do que nunca.
00:00:30Vendo este aumento de problemas, a Vercel acaba de lançar um arnês de segurança para detetar brechas em
00:00:35aplicações geradas por IA chamado DeepSec.
00:00:37Agora, pode pensar que o Clod Code já consegue fazer revisões de segurança sozinho com os seus agentes.
00:00:42Então, por que precisaria do DeepSec, afinal?
00:00:44É porque o DeepSec é uma ferramenta estruturada que lida com revisões de forma muito mais sistemática.
00:00:49Por baixo do capô, utiliza agentes de codificação como Clod Code e Codex.
00:00:52A ferramenta foi concebida para varrer grandes repositórios porque suporta um design paralelo que
00:00:57acelera o fluxo de trabalho e agrupa o código em vários lotes, o que a torna perfeita para
00:01:01revisar grandes bases de código.
00:01:03Ora, isto não foi construído a pensar na relação custo-benefício.
00:01:06Estão a usar os modelos mais potentes do Clod Code e Codex, que são o Opus 4.7 em
00:01:10esforço máximo e o GPT 5.5 em raciocínio x-alto, ambos consumindo muitos tokens.
00:01:16E com eles a correr em paralelo, o uso de tokens acumula-se rapidamente, aumentando o custo.
00:01:20Várias apps conhecidas já correram este arnês nas suas bases de código e reportaram bons resultados.
00:01:25Nos testes que realizaram, a taxa de falsos positivos desta ferramenta é de cerca de 10-20%.
00:01:30Este número é significativo, considerando como costuma ser a precisão dos LLMs.
00:01:33Inversamente, isto significa que o agente está correto a maior parte do tempo e os seus positivos reais são
00:01:37elevados.
00:01:38A arquitetura por trás disto é o que o torna diferente.
00:01:40Se pedir ao Clod Code ou a qualquer agente uma revisão de segurança, ele começará por varrer diretamente
00:01:45a base de código e depois produzirá um relatório completo de revisão.
00:01:48Isso não só leva muito tempo, como também consome muitos tokens e a revisão
00:01:52ainda pode deixar passar coisas.
00:01:53Portanto, a primeira parte deste fluxo de trabalho é a varredura, realizando um varrimento apenas por RegEx
00:01:58de todos os ficheiros em busca de áreas sensíveis à segurança onde os passos seguintes se focarão.
00:02:01A deteção por RegEx é importante aqui porque a ferramenta foi desenhada para grandes bases de código
00:02:06onde pode haver facilmente milhares de ficheiros.
00:02:08A correspondência por RegEx é uma série de padrões de código que coincidem com áreas conhecidas
00:02:13por terem vulnerabilidades de segurança e depois filtram esses ficheiros do conjunto total.
00:02:16Assim que o grande conjunto de ficheiros é filtrado, o passo seguinte é a investigação usando o agente.
00:02:21O agente é a parte cara, consumindo muitos tokens e demorando normalmente muito tempo
00:02:25dependendo do tamanho real da sua base de código.
00:02:28Por isso, esta ferramenta divide todos os ficheiros em lotes e paraleliza-os para que possam ser processados
00:02:32ao mesmo tempo.
00:02:34Terminado esse processo, há outro passo de revalidação onde a investigação
00:02:37é verificada novamente para que os falsos positivos sejam cruzados.
00:02:40Caso algo tenha sido esquecido, ele deteta-o e garante que a classificação foi feita
00:02:45corretamente.
00:02:46Esta revalidação é, na verdade, opcional.
00:02:47Depois disso, o agente usa metadados do Git e outras fontes para identificar quais pessoas são
00:02:51responsáveis por quais problemas.
00:02:53Quando tudo estiver concluído, as descobertas são armazenadas em Markdown ou JSON para que possam
00:02:57ser transformadas em tickets tanto para humanos como para agentes de codificação.
00:03:01Como mencionado anteriormente, os ficheiros são agrupados em lotes com cerca de 5 ficheiros processados
00:03:05em conjunto por lote.
00:03:06Para cada lote, um novo prompt é montado com base na framework identificada juntamente com
00:03:11outras informações do projeto.
00:03:12Estes são então analisados pelo Clod Agent SDK ou Codex Agent SDK, conforme configurado,
00:03:17e são-lhes dadas ferramentas com acesso apenas de leitura para compreenderem o conteúdo da base de código.
00:03:22Assim que têm os resultados, tudo é fundido num único ficheiro que é desduplicado
00:03:26e normalizado.
00:03:27No final, há um passo de seguimento para garantir que a análise cobriu realmente tudo.
00:03:31Esta arquitetura torna-a eficaz pelo seu processo sistemático e método de análise estruturado,
00:03:36e ajuda a identificar problemas muito melhor do que seria possível sem o arnês.
00:03:41Para testar isto, utilizámos um projeto de código aberto que é uma aplicação web contendo
00:03:45riscos de segurança integrados apenas para prática.
00:03:47Queríamos ver se esta ferramenta era capaz de detetar todos os problemas neste repositório por si só.
00:03:52sozinha.
00:03:53Este projeto contém 10 problemas de segurança com todos os detalhes disponíveis diretamente no próprio código,
00:03:56incluindo como removê-los.
00:03:58Para correr o DeepSec, primeiro executa o comando “deepsec init”, que instala as dependências
00:04:03e cria uma pasta “.deepsec”, e depois instala as dependências dentro dessa pasta.
00:04:08Também lhe dá um prompt que precisa de colar em qualquer agente de codificação que utilize.
00:04:12Como estávamos a usar o Clod Code, corremos esse prompt no Clod, que contém as instruções
00:04:16para criar um pequeno ficheiro “info.md” que inclui toda a informação do projeto e é construído
00:04:21sobre um template específico.
00:04:23Não tem de correr este comando na pasta do projeto propriamente dita; corre-o na pasta “.deepsec”
00:04:27porque ele instrui o agente a olhar para o diretório anterior e ler toda a
00:04:31informação contida nele.
00:04:32O ficheiro “info.md” contém uma visão geral do que a base de código faz e como é o fluxo de
00:04:37autenticação, bem como os modelos de ameaça, padrões específicos do projeto e todos os
00:04:42falsos positivos conhecidos dentro do código.
00:04:44Assim que este ficheiro é criado, a tarefa seguinte é correr o comando “deepsec scan”.
00:04:48Este comando é o buscador por regex que mencionámos antes e encontra todos os endpoints
00:04:52correspondentes e lista todos os ficheiros filtrados que contêm potenciais problemas de segurança.
00:04:57Esta parte é rápida porque é apenas código em ação.
00:05:00O passo seguinte é correr o comando “deepsec process”.
00:05:02Pode especificar qualquer chave de API do modelo que queira usar, seja o Vercel API Gateway,
00:05:07Codex ou Clod dentro do ficheiro “.env.local”.
00:05:11Mas se não o fizer, como nós não fizemos, ele assume automaticamente a subscrição do Clod Code
00:05:16e usa a sua autenticação em vez de exigir qualquer chave de API.
00:05:19Ele divide o projeto em lotes e chama múltiplas ferramentas em cada um.
00:05:23Após cada lote, fornece um resumo de quantos tokens foram usados e qual foi o
00:05:27custo estimado.
00:05:28Agora, se estiver a usar uma subscrição, ele não cobrará nada além do valor da subscrição,
00:05:32mas ainda fornece uma estimativa dos custos de API.
00:05:35Como isto foi desenhado para revisões de grandes bases de código, mantém a fiabilidade em mente.
00:05:39Assim, caso ocorram erros durante a revisão, ele não recomeça tudo do
00:05:43zero e, em vez disso, continua a partir do ponto onde o erro ocorreu.
00:05:46Após a conclusão do varrimento, corre o comando “deepsec report” e ele gera um relatório
00:05:50tanto em formato JSON como Markdown, contendo uma visão geral de todos os resultados categorizados
00:05:55por nível de gravidade.
00:05:56Agora, uma vez gerado este relatório, pode executar o passo de revalidação.
00:06:00Este passo é inteiramente opcional.
00:06:02Pode executá-lo se quiser ou saltá-lo completamente.
00:06:04Ao executá-lo, ele valida as descobertas para verificar se os relatórios são falsos positivos
00:06:08ou não.
00:06:09Depois disso, pode exportar tudo usando o comando “export” e ele escreverá
00:06:13os resultados na pasta “findings”.
00:06:15Esta pasta “findings” contém os problemas ordenados por prioridade como nomes de pastas e cria um
00:06:20ficheiro por problema identificado.
00:06:22Primeiro lista a fonte do problema, ou seja, o ficheiro exato e as linhas que causam o problema,
00:06:26a gravidade do problema e o quão confiante o modelo estava ao identificá-lo.
00:06:30Menciona também qual commit introduziu o problema e atribui o utilizador que o cometeu.
00:06:34Em seguida, explica a correção recomendada, lista os resultados da revalidação e menciona todos
00:06:39os problemas que foram explicitamente abordados.
00:06:41Inclui também os passos para reproduzir os erros dentro das descobertas.
00:06:44Mas este relatório ainda não identificou todos os problemas, embora o tutorial estivesse
00:06:48dentro do próprio código e devesse ter sido capaz de os identificar.
00:06:52Por isso, iterámos com o Claude sobre o porquê de as lições de vulnerabilidade originais que foram incluídas
00:06:56na app por design não terem sido identificadas.
00:06:59Após a iteração com o Claude, descobrimos que a razão pela qual esta ferramenta apenas reportou 3 descobertas foi
00:07:03devido a uma menção explícita no ficheiro “info.md”.
00:07:07O DeepSec esperava uma app onde as 10 vulnerabilidades já fossem conhecidas e focou-se apenas em problemas
00:07:12além desses porque já eram conhecidos, ou seja, estava a tentar ir além
00:07:16do que já se sabia e focar-se apenas noutros padrões para que o varrimento se tornasse muito mais
00:07:21eficaz e não desperdiçasse tempo e tokens em problemas que já estão documentados.
00:07:25Testámos depois outra app para ver se se saía melhor desta vez.
00:07:28Executámos os mesmos passos, desde o varrimento até à fase de processamento.
00:07:32Não corremos a parte da revalidação, apenas criámos o relatório e exportámo-lo diretamente.
00:07:36E desta vez o ficheiro “info.md” do Claude continha apenas detalhes sobre a app e não incluía declarações
00:07:42como o anterior.
00:07:43Lado a lado, também pedimos ao Claude para rever o código e escrever um ficheiro “report.md” com uma
00:07:48revisão de segurança completa para podermos comparar qual deles teve realmente o melhor desempenho.
00:07:52O relatório criado pelo DeepSec encontrou vários bugs com diferentes níveis de gravidade.
00:07:56Encontrou 9 problemas e criou um relatório detalhado juntamente com passos recomendados sobre como corrigi-los.
00:08:01corrigi-los.
00:08:02E estes passos recomendados são o que a maioria dos outros relatórios omite, porque é isto que ajuda
00:08:05o agente a compreender como corrigir o problema, o que torna a depuração muito mais fácil.
00:08:09Mas reparámos que o relatório do Claude era muito mais detalhado e destacava 39 problemas.
00:08:13Por isso, pedimos-lhe primeiro para criar um “diff”.
00:08:15O “diff” mostrou que o número do Claude era maior.
00:08:18Mas já tínhamos visto isto durante os nossos testes com o Codex.
00:08:20O Claude tende a identificar outros problemas além do escopo ao longo do caminho.
00:08:24Não se foca apenas nos problemas delimitados para os quais o DeepSec foi especificamente desenhado.
00:08:29Assim, quando lhe pedimos para se focar apenas no escopo, ele reduziu as descobertas para 13 problemas.
00:08:34Mas ainda houve alguns problemas que o DeepSec falhou e que foram identificados no relatório do Claude.
00:08:38A razão pela qual o DeepSec falhou algumas descobertas é porque se foca apenas em problemas que o
00:08:43código contém diretamente e que podem ser resolvidos diretamente a partir das próprias funções.
00:08:47Não identifica problemas que possam surgir quando a app corre realmente, como problemas
00:08:52relacionados com CORS.
00:08:53Também não se foca propriamente em padrões lógicos e decisões arquiteturais.
00:08:57Como mencionámos anteriormente, utiliza RegEx para filtrar ficheiros primeiro.
00:09:01Portanto, foca-se principalmente no que está explicitamente presente no código e não em problemas que
00:09:05possam ocorrer dinamicamente quando a aplicação está a ser executada.
00:09:08Além disso, se estiver a gostar do nosso conteúdo, considere carregar no botão de “hype”, pois ajuda-nos
00:09:12a criar mais conteúdo como este e a chegar a mais pessoas.
00:09:15Agora, em vez de corrermos estes passos um por um sozinhos, criámos esta “skill” do DeepSec
00:09:20que contém todas as instruções sobre como usar o scanner de segurança da Vercel de ponta a ponta
00:09:24e como ele deve identificar a partir do prompt do utilizador o que está a ser pedido.
00:09:28Depois segue todo o processo passo a passo e gere o arnês inteiro por conta própria.
00:09:32Vem também acompanhado de múltiplos ativos, avaliações e referências para todos os problemas, juntamente com
00:09:37múltiplos scripts que podem realmente ajudar com a solução funcional e o funcionamento geral
00:09:42deste repositório.
00:09:43Com isto implementado, pode apenas correr este varrimento de segurança e especificar qual modelo deseja
00:09:47usar e ele tratará diretamente de tudo por si.
00:09:50Passará por todos os passos que vimos anteriormente, além de abordar os problemas que falhou
00:09:54anteriormente e será capaz de realizar uma revisão de segurança muito melhor combinando as habilidades
00:09:59do DeepSec enquanto cobre as lacunas nas suas descobertas.
00:10:02Esta skill, juntamente com todos os recursos, pode ser encontrada no AI Labs Pro para este vídeo e
00:10:07para todos os nossos vídeos anteriores, onde pode descarregar e usar nos seus próprios projetos.
00:10:11Se encontrou valor no que fazemos e quer apoiar o canal, esta é a melhor forma
00:10:15de o fazer.
00:10:16O link está na descrição.
00:10:17Isto traz-nos ao fim deste vídeo.
00:10:19Se quiser apoiar o canal e ajudar-nos a continuar a fazer vídeos como este, pode fazê-lo
00:10:23usando o botão de “super thanks” abaixo.
00:10:25Como sempre, obrigado por assistir e vemo-nos no próximo.

Key Takeaway

O DeepSec resolve falhas de segurança em códigos gerados por IA através de um sistema de varredura por RegEx seguido de análise paralela por agentes de alto raciocínio, mantendo falsos positivos abaixo de 20%.

Highlights

  • O DeepSec da Vercel utiliza os modelos Claude 3.5 Opus e GPT-4o em paralelo para detectar vulnerabilidades de segurança em grandes repositórios de código.

  • A ferramenta mantém uma taxa de falsos positivos entre 10% e 20%, superando a precisão padrão de revisões feitas puramente por agentes de IA genéricos.

  • O fluxo de trabalho começa com uma varredura via RegEx para filtrar arquivos sensíveis antes de acionar agentes de alto custo computacional.

  • Arquivos de código são processados em lotes de cinco unidades para otimizar o tempo e permitir o acompanhamento detalhado do uso de tokens e custos.

  • O relatório final gera arquivos JSON ou Markdown que incluem a gravidade do erro, o commit de origem e o desenvolvedor responsável pela falha.

  • O DeepSec foca em vulnerabilidades estáticas presentes nas funções, não identificando falhas dinâmicas de execução como problemas de CORS ou lógica de negócio.

Timeline

Aumento de incidentes em aplicações geradas por IA

  • A rapidez na geração de código por IA resultou em um acúmulo acelerado de brechas de segurança.
  • Agentes de IA sem supervisão apagaram bancos de dados de produção e causaram vazamentos de arquivos internos.
  • O DeepSec surge como um arnês de segurança estruturado para validar códigos produzidos por inteligência artificial.

A acessibilidade da programação via IA permitiu que pessoas sem experiência técnica lançassem aplicações rapidamente. No entanto, a falta de verificações rigorosas levou a incidentes graves, como a deleção total de projetos e o vazamento do arquivo interno 'clod.md' da Apple. O DeepSec é a resposta da Vercel para criar uma camada de proteção sistemática contra esses riscos operacionais.

Arquitetura e modelos de alto desempenho

  • A ferramenta utiliza os modelos mais potentes do Claude e Codex em modos de esforço máximo.
  • O processamento paralelo de grandes bases de código prioriza a precisão em detrimento da economia de tokens.
  • A taxa de acerto do sistema é alta, com falsos positivos limitados à faixa de 10-20%.

Embora agentes comuns de IA possam revisar código, o DeepSec opera de forma estruturada e sistemática. Ele utiliza modelos como o Opus 4.7 e GPT 5.5 em configurações de alto raciocínio para garantir profundidade técnica. O design paralelo permite escanear repositórios com milhares de arquivos simultaneamente, agrupando-os para acelerar o fluxo de trabalho.

Fluxo de trabalho de varredura e investigação

  • A primeira fase utiliza RegEx para identificar padrões de vulnerabilidades conhecidas e filtrar o conjunto total de arquivos.
  • Agentes analisam lotes de cinco arquivos com acesso de apenas leitura para entender o contexto da base de código.
  • Uma etapa de revalidação opcional cruza os dados para eliminar descobertas incorretas antes do relatório final.

O sistema evita o desperdício de tokens ao não enviar o repositório inteiro para a IA de imediato. O filtro RegEx localiza áreas críticas, e apenas estas são enviadas para a investigação cara do agente. Após a análise, os resultados são fundidos em um único arquivo desduplicado, contendo metadados do Git para rastrear quem introduziu a vulnerabilidade e em qual commit isso ocorreu.

Execução prática e configuração do ambiente

  • O comando 'deepsec init' prepara o ambiente instalando dependências e criando a estrutura de pastas necessária.
  • O arquivo 'info.md' fornece à IA o contexto do fluxo de autenticação e os modelos de ameaça do projeto.
  • O sistema retoma o processamento de onde parou em caso de erro, garantindo a conclusão de varreduras em grandes projetos.

A configuração exige a criação de um diretório '.deepsec' e a geração de um prompt específico para o agente de codificação. Esse prompt instrui o modelo a ler o diretório pai e entender a arquitetura da aplicação. Se o usuário possuir uma assinatura do Claude Code, o DeepSec utiliza essa autenticação automaticamente, eliminando a necessidade de chaves de API externas, enquanto fornece estimativas de custo por lote processado.

Análise de resultados e limitações do sistema

  • Os relatórios categorizam falhas por gravidade e fornecem passos exatos para a reprodução e correção do erro.
  • O DeepSec ignora problemas já documentados no 'info.md' para economizar recursos e focar em novas ameaças.
  • Vulnerabilidades dinâmicas de execução e decisões de arquitetura lógica ficam fora do escopo da ferramenta.

Em testes comparativos, o DeepSec identificou 9 problemas críticos com alta precisão, fornecendo guias de correção que facilitam a depuração. Comparado ao Claude puro, que encontrou 39 itens, o DeepSec mostrou-se mais focado em vulnerabilidades de código estático. Ele falha em detectar problemas que só aparecem com a aplicação rodando, como configurações de CORS, devido ao seu método de filtragem inicial focado em padrões de texto.

Automação via DeepSec Skill

  • Uma 'skill' customizada gerencia todo o processo do DeepSec de ponta a ponta a partir de um único prompt.
  • A integração combina as habilidades de varredura sistemática com o raciocínio amplo da IA para cobrir lacunas de detecção.
  • Recursos adicionais e scripts funcionais estão disponíveis no AI Labs Pro para implementação em projetos reais.

Para simplificar o uso, as instruções do scanner foram consolidadas em uma 'skill' que executa init, scan, process e report automaticamente. Essa abordagem resolve as limitações anteriores, permitindo que a IA identifique até mesmo problemas que o DeepSec padrão poderia ignorar. O objetivo final é fornecer um fluxo de trabalho onde o desenvolvedor apenas especifica o modelo e recebe a revisão completa e corrigida.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video