Vibecoding: A Promessa e o Perigo

VVercel
AI/미래기술컴퓨터/소프트웨어

Transcript

00:00:00Obrigado por terem vindo.
00:00:01Obrigado por terem ficado.
00:00:03O meu nome é Alex.
00:00:04Trabalho para uma pequena empresa chamada Corridor.
00:00:08Estou aqui para falar um pouco sobre vibe coding.
00:00:11Algumas das coisas fascinantes que estão a acontecer do ponto de vista da segurança.
00:00:17Primeiro, sou um grande fã de usar IA para gerar código.
00:00:21Acho que esta é uma oportunidade incrível para as pessoas utilizarem os computadores de uma forma que nunca o fizeram.
00:00:29Há muitos programadores de software profissionais na sala.
00:00:32Aqueles de nós que cresceram a escrever código,
00:00:36que cresceram a usar computadores a partir de uma linha de comando ou a programá-los desde cedo,
00:00:42não percebemos realmente o que isto significa para as pessoas normais,
00:00:47mas pela primeira vez,
00:00:48as pessoas normais vão poder utilizar os computadores,
00:00:52como deveriam ter estado disponíveis para as pessoas há muito tempo.
00:00:57Programar é um superpoder.
00:00:58Ser capaz de pedir aos computadores para fazer coisas sem ter de comprar software,
00:01:04usar código aberto ou pedir a outras pessoas para programar por si,
00:01:09isso é um superpoder..
00:01:11O vibe coding está a levar isso a milhões de pessoas.
00:01:16Isso é algo incrível.
00:01:18Devemos estar super felizes por estarmos no início,
00:01:23no verdadeiro início desta revolução que vai trazer acessibilidade a todos.
00:01:30É também um tiro no pé incrível.
00:01:33E
00:01:34Há inúmeros exemplos de coisas más que estão a acontecer a pessoas comuns quando estão a criar aplicações com vibe coding,
00:01:41algumas das quais são apenas pequenas coisas divertidas como o calendário da liga infantil dos seus filhos ou coisas onde estão a colocar os seus dados pessoais.
00:01:50Algumas pessoas estão a criar sistemas de registos médicos ou sistemas de Bitcoin com vibe coding,
00:01:56ou coisas que contêm dados pessoais,
00:01:58ou que recolhem números de cartão de crédito das pessoas,
00:02:01ou armazenam cartas de condução das pessoas.
00:02:04Há muitos exemplos de pessoas a usar aplicações de vibe coding para criar coisas importantes.
00:02:09Talvez algumas plataformas concorrentes que não devem ser nomeadas,
00:02:13mas cujos nomes são muito visíveis e óbvios atrás de mim,
00:02:16estejam a tornar isto especialmente mau porque estão a usar configurações padrão muito fracas e não estão a facilitar as coisas para as pessoas.
00:02:25E a tornar muito fácil para eles usarem configurações padrão realmente más de coisas como o Superbase.
00:02:31O que não é culpa do Superbase..
00:02:33É apenas a forma como a plataforma de vibe coding,
00:02:36e algumas outras plataformas,
00:02:38não configuram estas coisas de forma segura por padrão.
00:02:41Isto não é bom.
00:02:42E isto não se limita ao vibe coding direto numa plataforma; mesmo profissionais que utilizam,
00:02:48na verdade,
00:02:49temos dados académicos empíricos sólidos sobre isto.
00:02:52Este é um excelente artigo que recomendo que leiam,
00:02:56chamado Backbench Academic Group.
00:02:58Eles criaram uma série de prompts que eles pensaram,
00:03:01'hum,
00:03:02aqui estão prompts para agentes de codificação que achamos que podem criar código de backend com vulnerabilidades de segurança'.
00:03:10E depois testaram estes prompts contra várias ferramentas de codificação e LMs para ver.
00:03:15E depois testaram,
00:03:16primeiro,
00:03:17se o código gerado estava correto.
00:03:19E, segundo, se tinha falhas de segurança.
00:03:22E para seu crédito,
00:03:23eles continuam a atualizar isto à medida que novos modelos são lançados e publicados..
00:03:29Podem ir verificar isto.
00:03:31E como seria de esperar,
00:03:33os LMs,
00:03:33por um lado,
00:03:34cometem muitos erros,
00:03:35mas também introduzem muitas falhas.
00:03:38Agora, isto está a ir na direção certa..
00:03:41E não precisam de tirar fotos disto.
00:03:43Podem ir a backspends.com e obter uma versão muito mais fácil de ler.
00:03:46Além disso, todo o código deles é de código aberto.
00:03:49Por isso, podem recriar isto vocês mesmos..
00:03:51Então, primeiro, isto está a ir na direção certa, certo?
00:03:54Se olharem mesmo dentro de uma família de produtos,
00:03:57se olharem para a família de produtos da OpenAI,
00:04:00está a ir na direção certa.
00:04:02O GPT-5 está a ter um desempenho muito melhor do que o GPT-4.1,
00:04:05GPT-4.0,
00:04:06e assim por diante.
00:04:07Menos vulnerabilidades usando os mesmos prompts..
00:04:10Agora,
00:04:10um dos problemas aqui é que estes prompts e os testes são agora de código aberto.
00:04:14Então, podem ter um problema de overfitting para os testes.
00:04:17Embora tenhamos visto a mesma coisa,
00:04:19o que fizemos na nossa empresa foi trazer isto para dentro de casa,
00:04:22e agora estamos a usar alguns dos nossos próprios testes.
00:04:25E vemos os mesmos resultados.
00:04:27Nos nossos próprios testes,
00:04:28na verdade,
00:04:29o vencedor é o Claude Sonnet 4.5,
00:04:30que eles ainda não lançaram publicamente.
00:04:32Mas a Anthropic assumiu a liderança,
00:04:34apenas um pouco melhor do que o GPT-5.
00:04:36Mas de qualquer forma, está a ir na direção certa..
00:04:39Mas ainda assim,
00:04:40mesmo no topo,
00:04:41das coisas que passam nos vossos testes de regressão do código realmente correto,
00:04:46se 20% deles tiverem algum tipo de vulnerabilidade de segurança,
00:04:50isso não é fantástico.
00:04:52Isso não é o que eu,
00:04:53como profissional de segurança,
00:04:54consideraria o que realmente gostaria de ver.
00:04:56Sou um grande fã da série Fallout.
00:04:59A guerra nunca muda, certo?
00:05:00E parece-me um pouco que o que estamos a fazer aqui é que a estes vibe coders,
00:05:06especialmente àqueles que nunca escreveram software profissionalmente,
00:05:10estamos a dar-lhes uma arma básica.
00:05:13Estamos a dar-lhes um estilingue e uma mochila.
00:05:16E depois estamos a empurrá-los para um mundo cheio de mutantes com paus afiados.
00:05:21E eles são devorados imediatamente, certo?
00:05:24Porque não é como se os vilões estivessem a inventar o seu código do zero.
00:05:29Há mais de 20 anos,
00:05:30temos atacantes profissionais a descobrir como invadir aplicações web,
00:05:35como invadir aplicações móveis,
00:05:37como fazer engenharia reversa destas coisas,
00:05:40e especialmente como construir modelos financeiros de como fazer coisas maliciosas.
00:05:46E assim,
00:05:46temos uma geração inteiramente nova de pessoas que agora têm,
00:05:50milagrosamente,
00:05:51acesso para usar computadores de uma nova forma,
00:05:55a enfrentar profissionais cujo trabalho é monetizar bugs em software.
00:05:59Isto reflete-se na indústria da segurança nas formas como qualificamos e quantificamos estas vulnerabilidades.
00:06:07Um desses frameworks que usamos é chamado MITRE ATT&CK.
00:06:11Em segurança,
00:06:12roubámos esta ideia da cadeia de ataque (kill chain) dos militares,
00:06:16mas é basicamente a ideia dos passos que tem de dar para ter uma intrusão eficaz como atacante.
00:06:22Esses são os passos aqui da esquerda para a direita: reconhecimento,
00:06:27desenvolvimento de recursos,
00:06:29acesso,
00:06:29execução,
00:06:30persistência e afins.
00:06:31E para baixo estão as diferentes categorias de técnicas aqui.
00:06:36E para cada uma destas,
00:06:37há por vezes dezenas ou centenas de técnicas diferentes para cada uma destas categorias.
00:06:43Este é apenas o nível superior do MITRE,
00:06:46que é uma organização que o governo dos EUA paga para criar este gráfico excessivamente complicado,
00:06:53para categorizar todas estas coisas para que possamos rastrear diferentes atores de ameaça na comunidade de segurança e ter uma linguagem padrão para falar sobre o que vemos na natureza.
00:07:05Então,
00:07:06temos os nossos queridos moradores de abrigo a quem damos estas ferramentas e dizemos,
00:07:11"Ei,
00:07:12boa sorte." E o que eles estão a enfrentar é um mundo cheio de vilões que fazem tudo isto.
00:07:18Se forem a attack.mitre.org,
00:07:20verão a lista de cadeias de exploração conhecidas,
00:07:23coisas conhecidas que aconteceram na natureza de diferentes grupos de ameaça,
00:07:29os AP-228s e 29s,
00:07:30UNC-3886.
00:07:30Então,
00:07:31isto é como o Ministério da Segurança do Estado da República Popular da China ou o SVR russo ou uma lista inteira de grupos profissionais financeiramente motivados como Lapsus e outros.
00:07:43E depois aqui estão as técnicas que eles usaram para atacar diferentes vítimas.
00:07:49A ideia de que os vibe coders vão entender tudo isto é simplesmente ridícula.
00:07:54Mas essa tem sido, efetivamente, a suposição até agora.
00:07:58Então, o que podemos fazer melhor.
00:08:00Bem,
00:08:00a primeira coisa que podemos fazer é começar a,
00:08:04sabem,
00:08:04quando queremos resolver problemas como engenheiros,
00:08:08começamos a dividir o problema em partes,
00:08:10certo.
00:08:11E a verdade é que temos duas categorias de problemas totalmente diferentes aqui.
00:08:16A primeira é que temos de dividir o uso destas ferramentas em duas categorias principais?
00:08:22A primeira é o verdadeiro vibe coding, certo?
00:08:25Quando falo de vibe coding,
00:08:27refiro-me a pessoas que não são engenheiros de software profissionais,
00:08:32pessoas normais,
00:08:33certo.
00:08:34Pessoas que têm hobbies normais.
00:08:36Então, isto seriam pessoas que não estão nesta sala, certo?
00:08:40Que fazem coisas como não vir a esta conferência numa quinta-feira à tarde,
00:08:45têm coisas melhores para fazer,
00:08:47sem ofensa,
00:08:48do que estar no Chip AI?
00:08:49E isto é bom.
00:08:50É ótimo estar aqui?
00:08:51Eu estou aqui.
00:08:52Mas, tipo, se estão aqui, não são um vibe coder, certo.
00:08:56Sabem,
00:08:57nós somos pessoas que trabalham,
00:08:59quando usamos IA,
00:09:00provavelmente estamos a fazer engenharia assistida por IA,
00:09:04certo?.
00:09:09Então,
00:09:09vibe coding seriam pessoas que,
00:09:11pela primeira vez,
00:09:12conseguem aceder a este tipo de capacidade com novas ferramentas construídas apenas para elas.
00:09:17Então,
00:09:18a primeira coisa que temos de fazer é separar as classes totais de problemas e a forma como as pessoas estão a usar estas ferramentas.
00:09:25E acho que temos de parar de chamar vibe coding à engenharia assistida por IA.
00:09:29Talvez a engenharia assistida por IA seja,
00:09:32podemos encontrar um termo melhor aqui.
00:09:34Mas isto varia desde pessoas a autocompletar,
00:09:36a completar com tab e cursor,
00:09:38até,
00:09:38sabem,
00:09:39agora um engenheiro profissional irá despachar quatro ou cinco agentes diferentes em segundo plano para fazer diferentes trabalhos enquanto ele faz o que quer fazer.
00:09:48E mesmo que esses agentes estejam a agir autonomamente,
00:09:51eles ainda estão no comando e sabem o que querem,
00:09:53o engenheiro sabe.
00:09:54Isso ainda é muito diferente do vibe coding.
00:09:57O vibe coder está muitas vezes,
00:09:59a depender de uma plataforma completa,
00:10:01certo?
00:10:01Então,
00:10:02eles precisam de uma plataforma que faz efetivamente tudo por eles de ponta a ponta.
00:10:06Eles não estão a montar as coisas peça por peça.
00:10:09Eles estão a descrever um resultado.
00:10:11Eles têm um resultado que querem.
00:10:13Podem fazer isso em inglês ou na língua que falarem.
00:10:15Podem estar a fazê-lo visivelmente, certo?
00:10:18Há várias destas plataformas que permitem que o organizem com GUIs e tal.
00:10:22Obviamente, o V0 é um ótimo exemplo disso.
00:10:24E então eles têm um resultado que querem.
00:10:26Eles não estão necessariamente,
00:10:28é improvável que estejam a descrever como estão a tentar chegar lá.
00:10:32Muitas vezes, estão a começar do zero..
00:10:34Então,
00:10:35eles têm o benefício de não ter de encaixar o que quer que a plataforma de vibe coding esteja a fazer num tipo de base de código existente ou num tipo de arquitetura existente,
00:10:44o que,
00:10:45do ponto de vista da segurança,
00:10:46é realmente ótimo.
00:10:47Podemos falar sobre isso num segundo.
00:10:49Mas isto dá muitos benefícios do ponto de vista da segurança à plataforma de vibe coding,
00:10:54pois não tem de se encaixar em algum tipo de AWS existente ou,
00:10:57Deus me livre,
00:10:58numa arquitetura auto-hospedada..
00:11:00A desvantagem aqui é que eles têm pouca capacidade por si próprios para proteger a saída.
00:11:05Então,
00:11:05é aqui que acabamos com aqueles problemas sobre os quais vemos as pessoas a tweetar,
00:11:10como 'porque estou a ver este erro?' ou 'para onde foi todo o meu Bitcoin?' Que,
00:11:14se pesquisarem no X por 'para onde foi o meu Bitcoin',
00:11:17encontram muitos tweets,
00:11:18certo?
00:11:19Porque isso acaba por ser,
00:11:20quero dizer,
00:11:21encontram isso por muitas razões,
00:11:23mas o vibe coding acaba por ser uma das razões agora para as pessoas tweetarem isso?
00:11:27Porque eles não têm a capacidade de olhar para a saída e depois descobrir se é segura ou não?
00:11:33Enquanto um engenheiro de software que por acaso está a usar IA para melhorar o seu trabalho,
00:11:38é um profissional que está a supervisionar um agente..
00:11:41E,
00:11:42novamente,
00:11:42isso pode ser tão simples como 'comecei uma função e quero que a termines para mim'.
00:11:46Pode ser tanto quanto 'tenho este bug e quero que trabalhes nele e o corrijas'.
00:11:50E isso pode ser que estejas a despachar um agente para trabalhar para ti durante 30 minutos.
00:11:55Mas,
00:11:55no final,
00:11:56eles provavelmente estão a descrever um componente que querem com um pedido muito mais específico.
00:12:00E assim,
00:12:01eles têm muito mais especificidade e não tanto a saída que querem,
00:12:04mas sim 'aqui está a camada de passos que quero'.
00:12:07E eles também podem definir, 'ok, primeiro dá-me um plano.
00:12:10Tu editas o plano e depois devolves o plano ao agente e deixas que ele execute passo a passo'.
00:12:14Agora,
00:12:15a desvantagem para estas pessoas é que muitas vezes estão a trabalhar com uma base de código existente e,
00:12:20depois,
00:12:20muitas vezes com requisitos,
00:12:22requisitos de conformidade,
00:12:23requisitos de arquitetura.
00:12:24Normalmente não estão a começar do zero se estiverem a fazer engenharia assistida por IA.
00:12:29Então,
00:12:29não é tão fácil para ti simplesmente criar algum tipo de plano de segurança se fores este tipo de pessoa.
00:12:34Mas,
00:12:35esperançosamente,
00:12:36tens algumas competências de segurança e podes até ter uma equipa de segurança dedicada em que podes confiar se fores esta pessoa.
00:12:42Então,
00:12:43estas pessoas têm requisitos de segurança muito diferentes com os quais podemos ajudá-los.
00:12:47Eles precisam das suas próprias soluções.
00:12:49Então,
00:12:50quais são algumas soluções que podemos fazer como grupo para ajudar estas pessoas,
00:12:54especialmente as que trabalham em plataformas de codificação de IA??
00:12:56Então, o que precisam os vibe coders?
00:12:58A primeira coisa é que precisam que as coisas sejam seguras por design..
00:13:01Então,
00:13:01quando falamos de segurança por design,
00:13:03muitas vezes estamos a falar do produto final,
00:13:04certo?
00:13:04Isto é muitas vezes,
00:13:05estamos a falar de uma plataforma SaaS que deve ter boas opções de autenticação por padrão,
00:13:10que todas as configurações devem ser seguras por padrão e que se tem de desativar intencionalmente essas configurações seguras e tal.
00:13:16Na perspetiva da codificação de IA,
00:13:18o que realmente queremos é que a configuração do vibe coding,
00:13:21a arquitetura e o código sejam com escolhas bem definidas.
00:13:23Que o agente de codificação de IA deve ter uma opinião muito clara sobre quais componentes devem ser usados e como devem ser configurados para fazer as coisas corretamente à primeira vez.
00:13:32Falei sobre o exemplo do Superbase ou qualquer tipo de base de dados.
00:13:36Deve ter uma opinião sobre a segurança ao nível da função..
00:13:39Deve ter uma opinião sobre,
00:13:40bem,
00:13:41por padrão,
00:13:41os seus utilizadores devem ter muito pouco ou nenhum acesso aos dados e depois devemos dar-lhes explicitamente acesso aos dados conforme precisarem,
00:13:50certo?
00:13:50Não deveríamos ter apenas uma base de dados de backend onde se pode aceder a tudo e depois bloquear o acesso.
00:13:57Deve ter uma opinião forte sobre isto e depois tomar essas decisões em nome do utilizador porque é improvável que um vibe coder neste cenário seja capaz de tomar essas decisões por si próprio.
00:14:08Provavelmente também deve detetar se um projeto que lhe é pedido para fazer está fora do âmbito do que se sente confortável em fazer.
00:14:16Há várias plataformas de vibe coding onde se pode pedir,
00:14:19'por favor,
00:14:20constrói-me um sistema de registos médicos' e ele fá-lo-á e depois dirá,
00:14:24'aqui está.
00:14:24Aqui está um sistema de registos médicos'.
00:14:27O nosso CEO,
00:14:28Jack Cable,
00:14:28que está aqui,
00:14:29fez isto numa plataforma de vibe coding e ela disse,
00:14:32'aqui está o seu sistema de registos médicos.
00:14:35É compatível com HIPAA'.
00:14:36Sim, então, novidade: isso não era compatível com HIPAA..
00:14:40Deixem-me dizer-vos como profissional,
00:14:42como CSO de uma empresa pública,
00:14:44que isso não era verdade.
00:14:45Apenas dizer que algo é compatível com HIPAA não o torna magicamente compatível com HIPAA.
00:14:49Não é assim que funciona.
00:14:50E ele apontou.
00:14:51'Não acho que isso seja compatível com HIPAA'.
00:14:53E eu disse, 'oh não, tens razão.
00:14:54Não acho que seja'.
00:14:55E fez algumas mudanças.
00:14:56'Agora é compatível com HIPAA'.
00:14:58Ainda não era, certo?
00:14:59Este é o tipo de coisa que,
00:15:00se eu estivesse a construir uma plataforma de vibe coding,
00:15:03se me pedissem para construir um sistema de registos médicos,
00:15:05eu provavelmente diria,
00:15:06'não,
00:15:07não vou fazer isso.
00:15:08Essa é uma má ideia.
00:15:09Está no lugar errado para isso, senhor'.
00:15:11O mesmo com,
00:15:11'por favor,
00:15:12constrói-me um sistema para armazenar o meu Bitcoin'.
00:15:14Eu diria, 'não, não vou fazer isso.
00:15:16Essa não é uma boa ideia.
00:15:17Não vou armazenar Bitcoin para si.
00:15:18Isso vai ser roubado.
00:15:19Esse Bitcoin vai direto para a Coreia do Norte e vai ser usado para comprar foguetes.
00:15:23Deve fazer outra coisa com o seu Bitcoin'..
00:15:26As plataformas de vibe coding devem conhecer os seus limites.
00:15:30E deveria haver algo no meio que,
00:15:31se lhe pedirem para fazer algo como armazenar informações pessoais,
00:15:35ele permitirá que o faça,
00:15:37mas irá ativar uma série de funcionalidades de segurança e,
00:15:40se possível,
00:15:41trazer agentes de segurança,
00:15:42tal como em várias plataformas de vibe coding.
00:15:45Se quiser armazenar dados,
00:15:46ele dirá,
00:15:47'ótimo,
00:15:47preciso de um servidor de base de dados'.
00:15:50Se quiser reproduzir vídeo,
00:15:51ele dirá,
00:15:52'ok,
00:15:52preciso de um CDN de vídeo',
00:15:54certo?
00:15:54Então,
00:15:55há coisas no meio,
00:15:56mas há algumas coisas que deveriam ser tipo,
00:15:58'sim,
00:15:59essa é uma má ideia.
00:16:00Simplesmente não vou fazer isso por si'.
00:16:02E,
00:16:03finalmente,
00:16:03o que eles precisam é de ter esse tipo de envolvimento com parceiros que lhes permitam fazer revisão de código,
00:16:09porque um vibe coder não vai dizer,
00:16:11'oh,
00:16:12eu já tenho uma relação com uma ferramenta de revisão de software'..
00:16:15Isso simplesmente não é algo que eles vão trazer.
00:16:18Então,
00:16:18queremos que isso seja incorporado no produto base,
00:16:21assim como se tem essa relação base com um parceiro de base de dados ou algo do género..
00:16:25Paternalismo ou maternalismo de segurança,
00:16:28se preferirem,
00:16:29é aceitável.
00:16:29É aceitável tomar decisões em nome de utilizadores que não têm a capacidade de o fazer.
00:16:34Acho que isto é algo que a indústria da segurança tem tido medo de fazer porque nós,
00:16:39como pessoas de segurança,
00:16:40temos medo de ser responsabilizados por decisões que tomamos em nome de outras pessoas.
00:16:45Este é apenas um problema comum com as pessoas de segurança é que o que faremos é criar uma corda bamba.
00:16:51E se alguém cair da corda bamba,
00:16:52dizemos,
00:16:53'oh,
00:16:53droga,
00:16:54desculpa.
00:16:54Acho que não sabes andar na corda bamba.
00:16:57A culpa é tua, certo?' Isso não é aceitável?
00:16:59É melhor fazermos o nosso melhor para dar às pessoas uma forma segura de atravessar esse abismo e assumir alguma responsabilidade se as pessoas caírem.
00:17:07Não é aceitável para nós tornar as coisas tão difíceis.
00:17:10É aceitável ser um pouco paternalista nestes casos e tomar decisões,
00:17:14especialmente se estiver a construir produtos que sabe que serão usados por não-especialistas.
00:17:19Agora, e se alguém for um especialista.
00:17:22E se estiver a construir um produto para especialistas?
00:17:25Então,
00:17:25isto seria mais como um cloud code ou um cursor,
00:17:28ou um produto para o qual espera que as pessoas sejam mais experientes?
00:17:32Agora,
00:17:32o cloud code é um desafio interessante porque é usado tanto por pessoas comuns como por pessoas aqui,
00:17:38certo.
00:17:38E então,
00:17:39se for um gestor de produto para a Anthropic,
00:17:41torna-se mais como 'queremos ter um modo,
00:17:44um modo de vibe code?
00:17:45Queremos detetar se queremos dar um teste de antemão?'?
00:17:48Não tenho a certeza de como querem abordá-lo,
00:17:50mas acho que há um desafio interessante do ponto de vista de um gestor de produto.
00:17:54Em que ponto se ativa um modo de vibe code onde se está realmente a fazer coisas em nome de um utilizador versus dar-lhes mais capacidades??
00:18:01Portanto,
00:18:02certamente,
00:18:02um cursor só deveria ser usado provavelmente por engenheiros profissionais.
00:18:05Então,
00:18:06os engenheiros profissionais também precisam de segurança por design.
00:18:10Agora, é de uma forma diferente, certo?
00:18:12Tipo,
00:18:13se estiver a fazer segurança por design para um engenheiro profissional,
00:18:17provavelmente não estará a tomar decisões arquitetónicas abrangentes e radicais.
00:18:22Mas o que está a fazer é não cometer aqueles erros de que acabámos de falar,
00:18:2720% das vezes no GPT-5 e 60% das vezes ou algo assim na situação do Grok,
00:18:32onde está apenas a cometer erros de segurança estúpidos,
00:18:35certo?
00:18:36Precisa de criar e escrever código que não tenha falhas por padrão.
00:18:40E precisa de,
00:18:41pelo menos,
00:18:42avisar o utilizador e questioná-lo,
00:18:44"Ei,
00:18:44posso fazer isto melhor para si por padrão?" Em vez de tentar tomar decisões padrão que não são uma boa ideia?
00:18:51Algo em que estes agentes são realmente muito maus é ter uma visão geral..
00:18:56Acho que todos já viram isto acontecer,
00:18:58onde se perguntam a um agente de codificação,
00:19:01"Gostaria de construir um sistema incrivelmente complexo que faça muitas coisas." E ele responde,
00:19:08"Ótimo,
00:19:08vou começar a escrever código agora mesmo." Não é assim que construímos software,
00:19:13certo.
00:19:14Tipo,
00:19:14não se juntam 20 pessoas para construir um sistema distribuído incrivelmente complexo e se começa apenas por abrir um ficheiro e escrever código,
00:19:23certo.
00:19:24Tem um PRD?
00:19:25Tem uma reunião de design.?
00:19:26Pensa nos nossos requisitos.
00:19:28Faz muita gestão de produto.
00:19:29Há algumas exceções,
00:19:31mas na maior parte,
00:19:32os agentes de codificação só querem começar a escrever código.
00:19:35É isso que eles sabem.
00:19:36Eles saltam para isso imediatamente.
00:19:38E então,
00:19:38acho que o que seria bom seria que estas coisas começassem a abrandar e tivessem os passos de planeamento e fossem muito mais ponderadas sobre,
00:19:46"Vamos definir uma arquitetura e um design,
00:19:48" e depois fazer coisas como documentar APIs,
00:19:51documentar como vamos fazer a validação de entrada.
00:19:54Como vamos prevenir falhas comuns neste tipo de arquitetura?
00:19:57Como vamos fazer a autenticação entre,
00:19:59"Está a projetar algo que definitivamente terá diferentes serviços.
00:20:02Como vamos autenticar esses diferentes serviços?" Este é o tipo de coisa em que quase nenhum dos agentes de codificação pensa e seria realmente sensato fazer de antemão quando se está a começar,
00:20:13mesmo que seja um engenheiro profissional.?
00:20:16E também precisamos da capacidade de ter agentes de segurança de IA.
00:20:20Uma das coisas engraçadas que está a acontecer é que,
00:20:23se trabalhar numa pequena startup ou tiver 22 anos,
00:20:26pensa que as únicas pessoas que escrevem software são engenheiros de software,
00:20:30mas vejo muitos profissionais nesta sala..
00:20:33Quando se é um profissional,
00:20:35e especialmente se se trabalha numa empresa regulada ou que faz algo importante como construir aviões ou algo assim,
00:20:41percebe-se que existem engenheiros de software,
00:20:44mas também engenheiros de segurança,
00:20:46e arquitetos de segurança,
00:20:48e engenheiros de privacidade,
00:20:49e pessoas de conformidade,
00:20:51e advogados.
00:20:52Eu sei.
00:20:52Não somos super fãs de todas estas pessoas,
00:20:55mas elas têm trabalhos importantes.
00:20:57Há uma razão para estas pessoas existirem,
00:20:59e há uma razão para influenciarem a base de código,
00:21:02porque coisas más aconteceram com o software,
00:21:05e por isso criámos todo o tipo de regras sobre por que escrevemos software e por que temos de ter regras de conformidade e por que temos gestão de produto,
00:21:14por que temos leis de privacidade e tal.
00:21:16O que fizemos foi pegar no trabalho do engenheiro de software,
00:21:20e pegámos numa semana de trabalho de 40 horas,
00:21:23e transformámo-la em 20 minutos de tempo de GPU.
00:21:26Bem,
00:21:26todas essas outras pessoas ainda trabalham 40 horas por semana e interagem umas com as outras em salas de conferência e não por MCP e não conseguem operar à mesma velocidade que um engenheiro de software que tem 10 agentes a operar em segundo plano,
00:21:41a cuspir código.
00:21:42O que também precisamos de fazer é construir mecanismos para que todas as outras pessoas que ainda têm trabalhos importantes possam ser tão eficientes quanto um engenheiro de software na era da codificação de IA,
00:21:54porque no final,
00:21:55ainda há humanos nas empresas que têm responsabilidades reais.
00:21:59De facto,
00:21:59algumas destas pessoas poderiam ir para a prisão se os engenheiros de software com os seus agentes de codificação fizessem um mau trabalho.
00:22:08Fui CISO de uma empresa pública três vezes.
00:22:10Esse é um trabalho aterrorizante,
00:22:12como uma piada que gosto de contar,
00:22:14e não é verdade,
00:22:15mas parece um pouco verdade que a palavra CISO é grega para o bode que é sacrificado primeiro,
00:22:20certo?
00:22:21Mas é realmente aterrorizante ser um CISO hoje em dia,
00:22:24porque se é culpado pelo que centenas ou milhares ou dezenas de milhares de outras pessoas podem estar a fazer sobre o qual não se pode realmente ter controlo ou sequer compreender,
00:22:35e isso era verdade antes de cada uma dessas pessoas ter cinco agentes em segundo plano a escrever código para si.
00:22:42E então,
00:22:42precisamos de encontrar formas de que estes humanos que têm trabalhos incrivelmente importantes em torno da conformidade,
00:22:49da privacidade,
00:22:50da segurança,
00:22:51sejam capazes de entender e ter alguma ideia de que as regras que têm de cumprir no mundo físico ainda estão a ser aplicadas.
00:22:58Então,
00:22:59na Corridor,
00:22:59acreditamos que há duas áreas para começar,
00:23:02haverá mais,
00:23:03mas há pelo menos duas áreas com as quais temos de começar onde precisamos de ter alguma padronização para tornar a codificação de IA pronta para empresas.
00:23:12Primeiro,
00:23:12telemetria,
00:23:13e depois no fluxo de trabalho de segurança.
00:23:15No lado da telemetria,
00:23:17vamos escrever uma publicação de blog sobre isto.
00:23:20Provavelmente sairá na próxima semana.
00:23:22Pensamos que os agentes de segurança precisam de enviar tudo o que estão a fazer,
00:23:27todas as suas interações com os utilizadores,
00:23:29que este é o tipo de coisa que,
00:23:31se for uma empresa,
00:23:32precisa de ser capaz de ver num local central o que as pessoas estão a fazer com os seus agentes,
00:23:38quem está autenticado como quem,
00:23:40ter total visibilidade nos prompts e total visibilidade nas ferramentas que o agente está a chamar,
00:23:46e depois especialmente no código que está a ser gerado.
00:23:49O nosso produto realmente nos fornece visibilidade,
00:23:52mas temos de o fazer por engenharia reversa de como todos os agentes de codificação funcionam.
00:23:57É um pouco 'hacky'.
00:23:58Não é muito divertido.
00:24:00Seria muito melhor se o agente de codificação suportasse isto..
00:24:07Então, a empresa que foi mais longe aqui é a Anthropic.
00:24:10O Claude Code suporta um padrão baseado em telemetria,
00:24:13por isso é um bom padrão aberto.
00:24:14É bastante limpo.
00:24:15Na sua versão atual, tem 70% do que precisam.
00:24:17Numa versão futura,
00:24:18parece que vão lançar 90% do que todos nós precisamos.
00:24:21Então,
00:24:22seria ótimo se,
00:24:23primeiro,
00:24:23a Anthropic lançasse tudo,
00:24:24e depois,
00:24:25segundo,
00:24:25se todos os outros os copiassem.
00:24:27Mas seria realmente ótimo se todos os agentes de codificação tivessem a capacidade de obter telemetria do que todos estão a fazer.
00:24:34Esse é apenas o primeiro passo.
00:24:35É o primeiro passo de qualquer solução de segurança,
00:24:38apenas para saber o que está a acontecer.
00:24:40E seria realmente ótimo se isto pudesse ser configurado por MDM,
00:24:43por gestão de dispositivos.
00:24:45Assim,
00:24:45como CISO de uma empresa,
00:24:46poderia simplesmente enviar,
00:24:48usando o seu provedor de MDM,
00:24:49para a máquina de todos,
00:24:51"Ei,
00:24:51enviem-me toda a telemetria para este lugar." Então não teria de ter agentes a ir a todas estas máquinas para tentar puxá-la.
00:24:57A segunda área,
00:24:58penso eu,
00:24:59mais importante e mais interessante é que precisamos de um mecanismo para padronizar essa conversa.
00:25:04Como falamos,
00:25:05engenheiros de software e engenheiros de segurança costumavam encontrar-se para tomar café e conversar..
00:25:10Bem,
00:25:11precisamos de formas padrão para os agentes de segurança e os agentes de software falarem uns com os outros para replicar o que aqueles humanos costumavam fazer.
00:25:19E precisa de ser meio que determinístico..
00:25:20Então,
00:25:21novamente,
00:25:21fazemos isto agora com o nosso produto,
00:25:24mas tivemos de o 'empurrar' para lá.
00:25:25E não é determinístico.
00:25:27Baseia-se em como o LM se está a sentir.
00:25:29E seria bom que,
00:25:30se pedir a um agente de codificação para fazer algo em segundo plano durante 30 minutos,
00:25:34ele fosse e falasse com o seu agente de segurança e dissesse,
00:25:38"Aqui está o meu plano".
00:25:39Recebes feedback sobre o plano.
00:25:41Ele diz, "Aqui está o meu código".
00:25:42O código é verificado.
00:25:44Todos os bugs são verificados.
00:25:45E depois ele corrige todos os bugs.
00:25:47E tudo isso é feito sem o envolvimento do engenheiro.
00:25:50E depois a equipa de segurança vê nesta lista de verificação,
00:25:53"Sim,
00:25:54tudo isto foi corrigido",
00:25:55o que seria incrível.
00:25:56Então, o que temos agora é um corredor.
00:25:58Lançámos isto hoje em GA.
00:25:59Tivemos clientes empresariais,
00:26:01mas o que lançámos hoje em GA é que nos ligamos com um plugin VR ID,
00:26:05e ligamo-nos via MCP ao seu agente de codificação que,
00:26:07quando lhe pede para fazer algo,
00:26:09nos envia um plano.
00:26:10E depois podemos usar isso para fornecer contexto de segurança específico para uma base de código.
00:26:15E isso fornece tanto conselhos de segurança genéricos,
00:26:18mas também permite que uma empresa tenha as suas regras de segurança específicas para essa empresa.
00:26:24Então,
00:26:24digamos que é um grande banco e tem,
00:26:26'é assim que lidamos com números de segurança social',
00:26:29ou 'é assim que tokenizamos números de cartão de crédito'.
00:26:32Esse é o tipo de contexto que podemos fornecer a esse agente de segurança para garantir que o agente de codificação faça o seu trabalho em primeiro lugar.
00:26:40E depois verificamos esse código no backend para garantir que essa regra foi fornecida.
00:26:45E depois também recolhemos telemetria dos nossos plugins IDE.
00:26:48Assim,
00:26:48podemos ver toda esta interação e garantir que o plugin está a fazer o seu trabalho.
00:26:53E depois também ver todas as ferramentas de codificação não autorizadas que todos estão a usar.
00:26:58Não que algum de vocês traga uma ferramenta de codificação para o trabalho que não foi autorizada pela vossa equipa de segurança.
00:27:05Vejo muitos cumpridores de regras nesta sala, com certeza.
00:27:08E por isso já estamos a fazer isto,
00:27:10mas seria super legal se isto se tornasse uma coisa padrão que muitos agentes de codificação diferentes suportassem,
00:27:16e depois muitas pessoas pudessem competir contra nós e copiar o nosso produto..
00:27:22Está tudo bem.
00:27:23Estamos felizes por ser o Kleenex do setor,
00:27:25com muitas pessoas a fazer este tipo de trabalho.
00:27:28Mas acho que este vai ser o futuro de ter agentes de codificação e agentes de segurança a ter uma relação aqui,
00:27:34assim como os engenheiros de segurança e os engenheiros de software têm uma relação totalmente amigável e nada competitiva ou difícil hoje em dia..
00:27:42Lançámos orgulhosamente isto em GA hoje,
00:27:45e disponibilizámo-lo no marketplace de agentes de IA da Vercel.
00:27:48Então, estamos lá no topo.
00:27:50Podem ir a corridor.dev para nos ver ou encontrar-nos no marketplace da Vercel.
00:27:54Somos o único produto de segurança lá.
00:27:56Então,
00:27:57agradecemos muito à Vercel pela sua parceria nisso e agradecemos por me darem este tempo hoje.
00:28:02Se quiserem conversar connosco,
00:28:04o Jack e eu,
00:28:05o nosso CEO e cofundador,
00:28:06estaremos no corredor para falar sobre isso.
00:28:09De qualquer forma,
00:28:10acho que há muito que podemos fazer juntos aqui para dar este superpoder dos agentes de codificação de IA a milhões de pessoas,
00:28:17ao mesmo tempo que os protegemos destes vilões que também estão por aí.
00:28:21De qualquer forma, sou o Alex, alex@corridor.dev.
00:28:24Se quiserem conversar,
00:28:25estarei no corredor ou enviem-me um email.
00:28:27Muito obrigado.
00:28:28Muito obrigado à Vercel.
00:28:30Tenham um ótimo resto de dia..

Key Takeaway

Embora o vibe coding democratize o acesso à programação, é imperativo que as plataformas incorporem segurança por design e mecanismos de telemetria e comunicação entre agentes de segurança e codificação para mitigar os riscos inerentes a utilizadores não-especialistas e profissionais.

Highlights

Vibe coding oferece um superpoder de programação para milhões de pessoas comuns, mas introduz sérios riscos de segurança.

Plataformas de vibe coding frequentemente usam configurações padrão fracas, levando a vulnerabilidades em aplicações que lidam com dados sensíveis.

Estudos empíricos mostram que modelos de linguagem (LMs) geram código com falhas de segurança, embora a qualidade esteja a melhorar.

É crucial distinguir entre 'vibe coding' (não-profissionais) e 'engenharia assistida por IA' (profissionais) para aplicar soluções de segurança adequadas.

As plataformas de vibe coding devem implementar 'segurança por design', com configurações seguras por padrão e detecção de projetos fora do âmbito seguro.

É necessário que os agentes de segurança de IA acompanhem a velocidade dos agentes de codificação de IA, com telemetria padronizada e comunicação determinística entre eles.

A Corridor lançou uma solução que integra agentes de segurança com agentes de codificação para fornecer contexto de segurança e verificar o código gerado.

Timeline

A Promessa do Vibe Coding: Um Superpoder Acessível

O orador, Alex da Corridor, introduz o conceito de vibe coding como uma oportunidade revolucionária para pessoas comuns utilizarem computadores de formas inéditas. Ele compara a capacidade de programar a um 'superpoder', que agora está a ser estendido a milhões através da IA. Esta democratização da programação é vista como o verdadeiro início de uma revolução que trará acessibilidade a todos. A ideia é permitir que qualquer pessoa crie aplicações sem a necessidade de conhecimentos técnicos profundos. Este avanço é celebrado como um marco significativo na interação humana com a tecnologia.

Os Perigos Inerentes e Vulnerabilidades de Segurança

Apesar da promessa, o vibe coding apresenta perigos significativos, especialmente para utilizadores comuns que criam aplicações com dados pessoais ou sensíveis, como calendários infantis, sistemas de registos médicos ou carteiras de Bitcoin. O problema é agravado por plataformas que utilizam configurações padrão muito fracas, tornando fácil para os utilizadores introduzirem vulnerabilidades. Alex menciona um estudo académico que testou LMs (Large Language Models) na geração de código, revelando que eles cometem erros e introduzem falhas de segurança. Embora os modelos mais recentes, como o GPT-5 e o Claude Sonnet 4.5, mostrem melhorias, ainda há uma percentagem considerável de código gerado com vulnerabilidades.

Vibe Coders vs. Atacantes Profissionais: Uma Luta Desigual

O orador utiliza uma analogia do jogo Fallout para descrever a situação: vibe coders são como 'moradores de abrigo' com armas básicas, enfrentando um mundo cheio de 'mutantes com paus afiados' – atacantes profissionais. Estes atacantes têm mais de 20 anos de experiência em invadir aplicações web e móveis, e desenvolver modelos financeiros para atividades maliciosas. Alex introduz o framework MITRE ATT&CK, uma matriz complexa de táticas e técnicas usadas por atores de ameaça, para ilustrar a sofisticação dos adversários. A expectativa de que os vibe coders compreendam esta complexidade é considerada ridícula, sublinhando a vulnerabilidade dos novos utilizadores.

Distinção entre Vibe Coding e Engenharia Assistida por IA

Alex propõe uma distinção clara entre 'vibe coding' e 'engenharia assistida por IA'. Vibe coding refere-se a não-profissionais que usam plataformas completas para descrever um resultado desejado em linguagem natural, sem se preocuparem com os detalhes técnicos. Estes utilizadores dependem da plataforma para fazer tudo de ponta a ponta e têm pouca capacidade para proteger a saída. Por outro lado, a engenharia assistida por IA é usada por profissionais que supervisionam agentes de IA para melhorar o seu trabalho, com pedidos mais específicos e a capacidade de rever e corrigir o código gerado. Os engenheiros profissionais, embora beneficiem da IA, trabalham com bases de código existentes e requisitos de conformidade, mas possuem as competências para avaliar a segurança.

Soluções para Vibe Coders: Segurança por Design e Paternalismo

Para os vibe coders, a solução reside na 'segurança por design'. As plataformas devem ter configurações seguras por padrão, com escolhas bem definidas para componentes e arquitetura. O agente de codificação de IA deve ter uma 'opinião' sobre como as coisas devem ser configuradas de forma segura, como o acesso a dados. Além disso, as plataformas devem ser capazes de detetar quando um projeto está fora do seu âmbito seguro, como a criação de sistemas de registos médicos ou carteiras de Bitcoin, e recusar ou ativar funcionalidades de segurança adicionais. Alex defende o 'paternalismo de segurança', onde as plataformas tomam decisões em nome de utilizadores que não têm a capacidade de o fazer, assumindo a responsabilidade pela segurança.

Soluções para Engenheiros Assistidos por IA: Planeamento e Prevenção

Para engenheiros profissionais que utilizam IA, a segurança por design também é crucial, mas de uma forma diferente. Os agentes de IA devem evitar cometer erros de segurança básicos e alertar os utilizadores sobre configurações potencialmente inseguras. Uma falha comum dos agentes de codificação é a tendência de começar a escrever código imediatamente sem um planeamento adequado. Alex sugere que os agentes de IA devem abrandar, focar-se em passos de planeamento, definir arquiteturas e designs, e documentar as APIs, validação de entrada e autenticação. Esta abordagem mais ponderada é essencial para prevenir falhas comuns em arquiteturas complexas, mesmo para profissionais experientes.

A Necessidade de Agentes de Segurança de IA e Telemetria Padronizada

Alex destaca que, enquanto os engenheiros de software ganham eficiência com a IA, outras funções críticas como engenheiros de segurança, privacidade e conformidade ficam para trás. É fundamental construir mecanismos para que estes profissionais possam operar à mesma velocidade que os engenheiros de software na era da codificação de IA. A Corridor propõe a padronização da telemetria, onde os agentes de segurança devem enviar todas as suas interações com os utilizadores, prompts e código gerado para um local central. A Anthropic, com o Claude Code, já está a avançar neste sentido, e Alex espera que outros agentes de codificação sigam o exemplo para permitir visibilidade e gestão de segurança empresarial.

Padronização da Comunicação e a Solução da Corridor

O segundo passo crucial é a padronização da comunicação entre agentes de segurança e agentes de software, replicando as interações humanas de forma determinística. Alex descreve a solução da Corridor, lançada em GA, que se conecta via plugins IDE e MCP aos agentes de codificação. Quando um engenheiro pede algo, a Corridor recebe um plano, fornece contexto de segurança (genérico e específico da empresa), verifica o código gerado e corrige bugs automaticamente. A solução também recolhe telemetria dos plugins, garantindo que as regras de segurança são aplicadas e identificando ferramentas de codificação não autorizadas. A Corridor está disponível no marketplace de agentes de IA da Vercel, visando ser um padrão da indústria para a relação entre agentes de codificação e segurança.

Community Posts

View all posts