Guia interativo · Dia 4 · Série Agents

Vibe Coding Agent
Security & Evaluation

Software engineering está passando pela maior transformação desde as linguagens de alto nível — de escrever código para expressar intenção. Mas um agente que passa em todos os checks de segurança ainda pode ter entendido tudo errado. Este é o framework definitivo de 2026.

🛡️ 7 Pilares de Segurança 📊 7 Dimensões de Avaliação 🔧 8 Métodos de Eval 💻 4 Snippets Python 📚 6 Endnotes
security-scan --agent vibe-coder-01
$ security-scan --agent vibe-coder-01 --full ▸ Scanning sandbox isolation... SANDBOX ✓ ▸ Checking egress governance... EGRESS ✓ ▸ Verifying IAM & JIT tokens... IAM ✓ ▸ Validating SBOM & signatures... SBOM ✓ ▸ Evaluating intent satisfaction... INTENT: ? ⚠ All security checks passed. But did the agent build what you MEANT?

Figura 1 · O Framework do Agente de Vibe Coding Seguro — visão geral da arquitetura

Autores: Sokratis Kartakis · Aron Eidelman · Wafae Bakkali · Meltem Subasioglu — Google, 2026

01

De sintaxe a intenção

A maior transformação desde as linguagens de alto nível: confiar em sistemas inteligentes para traduzir intenção em software funcional.

Software engineering está passando pela sua transformação mais significativa desde a introdução das linguagens de alto nível. A mudança mais profunda é a transição de escrever código para expressar intenção — confiando em sistemas inteligentes para traduzir essa intenção em software funcional. Esse novo paradigma abrange um espectro: do "vibe coding" casual, onde o desenvolvedor descreve o que quer em linguagem natural e aceita o que a IA gera, até a "agentic engineering" disciplinada, onde a IA atua como motor de implementação dentro de constraints cuidadosamente desenhados.

🔒 Trust binário (software determinístico)

O código compila ✓ · os testes passam ✓ · as credenciais estáticas são válidas ✓. Se tudo está verde, o sistema é confiável. Simples e previsível.

🤖 Agência ambiente (sistema agêntico)

Um workforce autônomo possui a agência ambiente para executar código gerado, acessar APIs internas sensíveis e modificar dinamicamente ambientes de produção. Trust binário não basta.

Para operacionalizar vibe coding na enterprise, precisamos redefinir confiança em dois eixos distintos:

🛡️ Security

  • O agente ficou dentro dos limites?
  • Operou com segurança e sem intenção maliciosa?
  • O "safety harness" conteve o blast radius?

📊 Evaluation

  • O que aconteceu dentro dos limites vale a pena shipar?
  • O agente alcançou a intenção nuançada do usuário?
  • O "glass box" revela raciocínio de qualidade?

Um agente vibe-coded pode passar em todos os checks de segurança e ainda assim ler fundamentalmente mal a intenção do desenvolvedor, ignorar convenções do projeto ou degradar silenciosamente a experiência do usuário.

— paper: "Vibe Coding Agent Security and Evaluation", Google 2026

Este whitepaper fornece o framework definitivo de 2026 para ambos: estabelecer o "safety harness" estrito necessário para proteger agentes não-determinísticos, e abrir o "glass box" para medir rigorosamente a qualidade, eficiência e alinhamento do raciocínio interno.

02

A evolução: por que segurança tradicional falha

Não estamos mais protegendo web apps — estamos protegendo um workforce não-humano com agência ambiente.

⚠️ Mandiant / Google Cloud

"Adversaries have moved beyond the simple use of large language models to draft phishing content and are now deploying adaptive tools capable of rewriting code." — Mandiant special report para Google Cloud, 2026.

Desenvolvimento orientado por intenção acelera drasticamente a inovação, mas introduz vulnerabilidades de segurança sem precedentes. Não estamos mais simplesmente protegendo aplicações web contra exploits tradicionais — estamos encarregados de proteger um workforce não-humano que possui a agência ambiente para executar código gerado, acessar APIs internas sensíveis e modificar dinamicamente ambientes de produção.

Modelos tradicionais de teste e segurança de software dependem de lógica determinística, onde um conjunto fixo de inputs produz um output previsível. Porém, num sistema agêntico, um agente pode possuir um token de acesso válido mas operar autonomamente com intenção desalinhada. Uma realização crítica: um modelo de IA bruto NÃO é um agente. Ele só se torna um quando envolvido num "harness" — o scaffolding que lhe dá estado, execução de ferramentas, loops de feedback e constraints aplicáveis. Proteger esse novo paradigma exige mudar o foco de proteger sintaxe de código para proteger o harness.

🔑 Effective Trust

Neste ambiente fluido e não-determinístico, identidade estática atua como um perímetro pobre. Trust não pode ser um portão que o agente passa uma vez no deploy — deve ser continuamente conquistado, verificado e aplicado dinamicamente baseado em contexto de runtime. Definimos essa garantia contínua como Effective Trust — uma métrica contínua avaliada em 4 fatores: supply chain, identidade, comportamento de runtime e associações contextuais.

Para alcançar essa Effective Trust contínua e proteger a realidade caótica do vibe coding, desenvolvemos uma arquitetura defence-in-depth em camadas: um baseline estrito de 7 pilares, estendido por controles de execução de alta velocidade, e coroado por mecanismos de defesa agêntica ativa.

03

A fundação: 7 Pilares de Segurança

De Identity-as-a-Perimeter (RBAC) para Context-as-a-Perimeter — um "safety envelope" externo à IA.

Em ambientes enterprise tradicionais, segurança é determinística. Aplicações dependem de sintaxe de código previsível, e acesso é governado por modelos estáticos de Identity-as-a-Perimeter, como RBAC. Se um usuário ou service account tem o token de autorização correto, o sistema implicitamente confia no caminho de execução.

O ambiente agêntico fundamentalmente rompe esse modelo. Como falhas do dia a dia de agentes frequentemente remontam a uma ferramenta ausente, uma regra vaga ou um guardrail inexistente, organizações devem migrar para um modelo "Context-as-a-Perimeter". Como devemos assumir que o modelo subjacente pode falhar ou ser comprometido, segurança não pode residir somente na IA — precisamos aplicar um "safety envelope" externo e estrito abrangendo múltiplas disciplinas.

1 · Infrastructure

Sandboxes kernel-level (gVisor) + governança de egresso estrita

2 · Data

CMEK + mTLS + least privilege + tenant partitioning em Vector DBs

3 · Model

Prompts e rule files como novo source code — artefatos criptograficamente atestados

4 · Application & Runtime

LLM firewalls + hooks determinísticos + Agent Gateways (bouncers A2A)

5 · IAM

SPIFFE IDs + ABAC + JIT downscoping → Intent × User × Time

6 · Observability & SecOps

Tríade Red/Blue/Green + OpenTelemetry + Agent Behavioural Analytics

7 · Governance

EU AI Act · Algorithmic Impact Assessments · audit trail imutável · Logic Reviews · Risk-Stratified Attestation

04

Pilares 1–3: Infraestrutura, Dados, Modelo

A fundação, as paredes e a planta da casa: terreno cercado, cofres internos e regras do que é proibido construir.

Pilar 1 — Infrastructure & Networking

Cloud Infrastructure Engineers devem proteger o ambiente fundacional contra upstream poisoning e container escapes. Como o harness deve ditar onde o código do agente realmente roda e o que ele não pode alcançar, isolamos a execução de runtime dentro de sandboxes efêmeros kernel-level (como gVisor). Além disso, governança de egresso de rede estrita garante que dados gerados pelo agente viajem apenas por caches offline autorizados ou proxies internos explícitos, prevenindo exfiltração pública inadvertida.

Pilar 2 — Data

Data Architects enfrentam a ameaça de agentes vazarem informações sensíveis de suas janelas de contexto ou ingerirem dados RAG envenenados. A prática de "context engineering" fornece aos agentes informação rica e estruturada sobre codebases e intenção. Para proteger esse contexto sensível: dados em repouso são protegidos com Customer-Managed Encryption Keys (CMEK), dados em trânsito via mutual TLS (mTLS). Acesso a dados deve ser estritamente escopado para aplicar o princípio de least privilege. Crucialmente, stores de memória de longo prazo — particularmente Vector Databases — devem aplicar tenant partitioning estrito para prevenir Cross-Tenant Vector Poisoning: um payload malicioso ingerido por um tenant não pode ser recuperado durante a similarity search de outro tenant.

Pilar 3 — Model

AI Engineers devem defender a lógica central da aplicação contra ataques semânticos que subvertem as instruções do modelo. Em workflows agênticos, o prompt e os "Instructions and Rule Files" que definem o que o agente é proibido de fazer servem como o novo source code. Proteger este pilar exige tratar as system instructions e prompt templates do modelo como artefatos altamente sensíveis e criptograficamente atestados.

05

Pilares 4–7: Aplicação, IAM, Observabilidade, Governança

Do runtime à sala do board: firewalls de LLM, identidades efêmeras, a tríade SecOps e o EU AI Act.

Pilar 4 — Application & Runtime

Agentes operam interativamente — firewalls rules-based tradicionais são insuficientes. Deployamos LLM firewalls para filtragem dinâmica de prompt e resposta, junto com "hooks" determinísticos que rodam em pontos específicos do lifecycle (antes de uma tool call, depois de uma file edit). Centralised Agent Gateways atuam como os "bouncers do ecossistema", governando orquestração Agent-to-Agent (A2A) para prevenir movimento lateral não autorizado.

Pilar 5 — Identity & Access Management

O risco principal é o "Confused Deputy": um agente com privilégios excessivos é enganado para executar comandos não autorizados. Resolvemos atribuindo identidades criptográficas únicas (SPIFFE IDs) a cada agente. Acesso depende de Attribute-Based Access Control (ABAC) e Just-In-Time (JIT) token downscoping, aplicando uma matriz de permissões estrita de Intent × User × Time — agentes recebem credenciais fresh e hiper-restritas que expiram imediatamente após a conclusão da tarefa.

Pilar 6 — Observability & Security Ops

SecOps deve combater "invisible failures" onde um agente cascateia silenciosamente em loop infinito de raciocínio. Sem observabilidade — logs, traces e metering — não há como saber se um agente está indo bem ou derivando silenciosamente. Resolvemos deployando uma tríade SecOps autônoma: o Blue Team utiliza OpenTelemetry e Agent Behavioural Analytics (ABA), o Red Team simula proativamente ataques multi-hop, e o Green Team executa "Stateful Quarantines" se uma anomalia é detectada.

Pilar 7 — Governance

Governance Officers devem garantir que decisões autônomas atendam padrões regulatórios rigorosos. Além de frameworks tradicionais de dados, governança deve agora aderir estritamente ao EU AI Act, mandando Algorithmic Impact Assessments para agentes autônomos de alto risco. Organizações devem criar um audit trail imutável que atribui estritamente cada ação do mundo real a um agente específico e ao humano que o deployou ou aprovou. Substituímos botões simples de aprovação por "Logic Reviews" obrigatórios (traduzindo sintaxe complexa para linguagem simples) e utilizamos Risk-Stratified Attestation para vincular assinaturas digitais aos outputs do agente.

🎼 Transição · O novo papel do desenvolvedor

Com os 7 pilares estabelecidos, o desenvolvedor moderno deixa de ser um executor linha-a-linha e se torna um maestro — orquestrando agentes especializados como uma orquestra, onde cada instrumento tem seu papel, mas a sinfonia só funciona sob regência precisa.

06

Sandboxes e o "Vibe Loop"

Escreve → executa → lê erros → reescreve: o ciclo iterativo de alta velocidade que exige isolamento total.

O mecanismo central do vibe coding depende de traduzir dinamicamente intenção humana em lógica executável on the fly. Porém, agentes vibe-coded raramente escrevem código perfeito na primeira tentativa. A realidade do desenvolvimento orientado por intenção é um ciclo iterativo de alta velocidade: o agente escreve um script, executa, lê os error logs resultantes e reescreve autonomamente a lógica até alinhar com o "vibe" do usuário. Como esse processo generativo introduz alta variabilidade, o código resultante não pode ser implicitamente confiado. Rodar esses scripts gerados dinamicamente diretamente junto com o agente raiz ou na infraestrutura host padrão introduz um nível inaceitável de risco.

🧪 Ephemeral Sandboxing

Qualquer código gerado por skill deve primeiro executar dentro de um sandbox efêmero e network-isolated. Sub-agentes projetados para executar código não confiável ou invocar ferramentas devem rodar em ambientes hardened — containers dedicados, VMs ou ambientes kernel-level como gVisor. Crucialmente, esses sandboxes não são meramente "prisões" para payloads maliciosos: devem bloquear ativamente acesso raw ao host e resetar completamente seu estado entre execuções. Mesmo que um script vibe-coded contenha vulnerabilidade severa ou seja manipulado para tentativa de container escape, a lógica comprometida não pode persistir nem impactar o host node subjacente.

💡 Analogia

O sandbox efêmero é como uma sala de testes que se autodestrói e se reconstrói do zero a cada experimento — se a experiência explodir, a próxima começa numa sala nova.

07

Slopsquatting e Governança de Egresso

LLMs alucinam pacotes que não existem — e atacantes publicam malware sob esses nomes exatos.

Geração de código agêntica introduz uma vulnerabilidade de supply chain altamente específica e perigosa: LLMs frequentemente alucinam pacotes de software que não existem. Atores maliciosos monitoram ativamente fóruns de desenvolvedores e outputs de IA para essas alucinações, publicando proativamente malware sob esses nomes exatos e falsos. Como agentes autônomos podem alterar dependency graphs sem confirmação humana, uma única alucinação pode puxar malware diretamente para o ambiente de build.

⚠️ Slopsquatting (Wiz Research)

Atacantes exploram ativamente a tendência de LLMs de alucinar nomes de dependências: fazem upload de pacotes maliciosos usando esses nomes fabricados para que agentes automatizados os baixem inadvertidamente — técnica que a Wiz chama de "slopsquatting". Agentes devem buscar dependências exclusivamente de providers vetados ou registries internos enterprise, com cryptographic version pinning estrito. CI/CD deve verificar automaticamente entradas de SBOM e assinaturas digitais antes de qualquer artefato avançar para produção, via Binary Authorisation.

Enquanto isolamento kernel-level protege a infraestrutura host, organizações também devem proteger o limite de rede. Em software tradicional, tráfego de saída é altamente previsível. Em sistemas vibe-coded, egresso é não-determinístico porque é dirigido pelo uso dinâmico de ferramentas recém-geradas. Um failure mode comum: o agente tenta inadvertidamente pushar código não verificado para ambientes live ou exfiltrar dados sensíveis. Porém, confiar numa simples allowlist de domínios aprovados é insuficiente — uma allowlist não pode proteger um agente contra prompt injections indiretos escondidos em páginas web de terceiros.

Para mitigar esse risco, agentes devem ser restritos a acesso à internet não-interativo. Administradores devem forçar o agente a buscar informação externa exclusivamente por caches offline ou serviços de web-crawling dedicados e pré-sanitizados. Forçando todos os dados a viajar estritamente por caminhos governados, organizações previnem o agente de interagir diretamente com payloads maliciosos ou baixar inadvertidamente pacotes typosquatted.

08

Vulnerabilidades de Aplicação e IDE vs CI/CD

Código gerado por IA falha de duas formas previsíveis: confia demais no browser e deixa o backend escancarado.

Um sandbox perfeito não previne um agente de escrever código fundamentalmente falho ou conectar a uma ferramenta interna maliciosa. Vibe coding inerentemente prioriza funcionalidade imediata sobre design seguro — as aplicações geradas frequentemente contêm falhas estruturais severas. Usuários frequentemente confiam implicitamente no código gerado simplesmente porque compila e roda sem erros, cegos para o fato de que a aplicação pode ter completamente bypassado controles de segurança padrão do backend.

🌐 Falha 1: Confia demais no browser

IA toma o caminho de menor resistência: operações sensíveis no frontend. API keys, validação de senha e flags de sessão direto no client side. Qualquer um com devtools do browser lê credenciais ou manipula nível de acesso sem senha real.

🔓 Falha 2: Backend escancarado

Velocidade de construção supera setup de camadas invisíveis. IA conecta databases e cria dashboards admin, mas raramente habilita controles default-deny. Row-level database security é pulada — dados privados e staging expostos na internet pública.

Para capturar essas falhas estruturais, precisamos balancear velocidade do desenvolvedor com enforcement estrito de segurança. Tentar bloquear agressivamente prompts inseguros diretamente na IDE é facilmente bypassado e causa fricção excessiva. Em vez disso: "shift left" via Developer Advisory Linters na IDE (orientação em tempo real), enquanto o enforcement inegociável é empurrado para checks determinísticos no CI/CD pipeline. Integrar SAST (Static Application Security Testing) e SCA (Software Composition Analysis) no pipeline garante que toda lógica de aplicação gerada é deterministicamente escaneada para dependências vulneráveis e falhas estruturais antes de alcançar produção.

09

MCP Spoofing e Autorização Contextual

Servidores forjados se passam por ferramentas MCP legítimas — e agentes autônomos executam comandos maliciosos antes de qualquer intervenção humana.

Uma vez que a lógica da aplicação vibe-coded é deployada, controles de segurança devem governar como o agente interage com sistemas externos. Agentes dependem cada vez mais de frameworks de coordenação de ferramentas, como o Model Context Protocol (MCP), que permitem descobrir e conectar a servidores externos ou internos enterprise em runtime.

⚠️ Vetor de ameaça crítico

Um servidor forjado ou comprometido pode se passar por uma ferramenta MCP legítima para injetar payloads ou demandar privilégios excessivos. Como agentes operam autonomamente, podem executar comandos maliciosos fornecidos por esses servidores spoofed antes de qualquer intervenção humana.

Para proteger orquestração Agent-to-Tool e Agent-to-Agent (A2A), organizações devem deployar um LLM firewall de runtime na frente do agente ativo para interceptar dinamicamente prompt injections oportunistas. Além disso, um Centralised Agent Gateway deve avaliar Autorização Contextual — atuando como enforcer do fator de trust "Association", verificando dinamicamente se o pedido do agente de chamar uma ferramenta se alinha perfeitamente com a intenção original do desenvolvedor.

🔑 Princípio

Ao rotear todas as invocações por este ponto de entrada e saída governado, a arquitetura previne movimento lateral não autorizado quando um agente tenta conectar com ferramentas internas.

Ao rotear todas as invocações de ferramentas por um Centralised Agent Gateway, limitamos com sucesso a capacidade do agente de executar ações não autorizadas no pilar de runtime. Porém, a integridade dessas decisões depende em última instância de como verificamos o ator por trás do agente, gerenciamos credenciais sob pressão e estabelecemos controle humano sobre ações de alto risco. Isso desloca o limite de segurança da orquestração de aplicação para a verificação criptográfica de identidade e a mecânica de autorização humana.

10

Identidade, Confused Deputy e Zero Ambient Authority

Cada agente precisa de identidade criptográfica única — e nunca deve herdar os privilégios completos do desenvolvedor.

Como desenvolvedores frequentemente usam linguagem natural vaga ou altamente abstraída para gerar código (por exemplo, "fix the backend routing"), os workflows agênticos resultantes são inerentemente amplos. Conceder a esses agentes autônomos identidades de serviço compartilhadas e de longa vida cria um vetor de ameaça interna incontrolável. Para proteger este pilar, organizações devem atribuir identidades criptográficas únicas (como SPIFFE IDs) a cada agente individual.

O Confused Deputy e Identidade Delegada vs. Agêntica

Mesmo com identidade única, um agente vibe-coded permanece altamente suscetível ao problema do Confused Deputy. Isso ocorre quando um prompt injection — como uma instrução maliciosa escondida dentro de um repositório open-source que um desenvolvedor colou sem saber na janela de contexto da IDE — engana um agente com privilégios excessivos para executar um comando não autorizado em nome do atacante.

❌ Credenciais delegadas do humano

  • Agente opera sob a identidade do usuário
  • Acesso ambiente perigoso — herda tudo
  • Audit logs não distinguem humano de agente

✅ Identidade agêntica dedicada

  • Agente autentica com identidade explicitamente marcada como agêntica
  • Permissões estritamente vinculadas e observáveis
  • Audit logs granulares por agente

Para resolver isso, um agente nunca deve ser o árbitro final de acesso. Uma identidade agêntica distinta e observável garante que suas permissões permaneçam estritamente vinculadas e sujeitas a audit logs granulares.

Zero Ambient Authority e JIT Downscoping

Construindo sobre isso, a arquitetura deve aplicar Zero Ambient Authority. Um agente executando um "vibe" nunca deve herdar os privilégios administrativos completos e ambientes do desenvolvedor. Em vez disso, o sistema depende de Just-In-Time (JIT) token downscoping.

🔐 Como funciona o JIT Downscoping

Quando um agente escreve dinamicamente um novo script ou skill para resolver uma tarefa, o sandbox de execução recebe credenciais fresh e hiper-restritas com escopo explícito para as fontes de dados exatas necessárias para aquele script específico — em vez de herdar as permissões amplas do agente pai. Administradores devem aplicar file-tree allowlists que confinam operações de leitura e escrita a diretórios específicos do projeto, usando regras deny-by-default para bloquear acesso a secrets, build scripts e manifests de produção. Esses tokens downscoped são altamente efêmeros e expiram no exato momento em que a tarefa conclui.

Zero Ambient Authority é como dar ao estagiário a chave de UMA gaveta, por UMA hora, para UMA tarefa específica — em vez do chaveiro master do prédio inteiro.

ANALOGIA · PILAR 5 — IAM
11

Elicitação, MFA e o "Vibe Diff"

Ações de alto risco exigem mais que botões de approve/deny — exigem que o humano realmente entenda o que está autorizando.

Enquanto constraints automatizados de identidade lidam com a maioria das tarefas de rotina, ações de alto risco — como modificar databases de produção, executar transferências financeiras ou alterar configurações de IAM — requerem verificação explícita e não podem depender de simples botões "approve/deny". Como vibe coders frequentemente dependem da IA para escrever sintaxe complexa que podem não entender completamente (a falácia "It Works, Ship It"), portões de aprovação simples rapidamente causam confirmation fatigue, levando desenvolvedores a autorizar cegamente código que não compreendem.

Para combater isso, o sistema deve implementar elicitação estruturada e context-aware. O agente é forçado a solicitar ativamente confirmação baseada no contexto específico de uma ação de alto risco, que deve ser acompanhada por duas fronteiras de segurança distintas:

🔑 Cryptographic Hardware MFA

O sistema deve exigir desafios físicos de autenticação multifator — como requerer que o desenvolvedor toque uma chave de segurança USB hardware para aprovar criptograficamente a execução.

📋 The Vibe Diff

Antes de uma ferramenta crítica rodar, um Evaluator Quorum intercepta o pedido e traduz o código gerado complexo de volta para um resumo em linguagem simples. Mostra ao dev exatamente como a intenção original e difusa se mapeia para os passos de execução propostos — garantindo que o operador humano realmente entende o que está autorizando antes de fornecer consentimento criptográfico.

O Vibe Diff é como o médico traduzindo o laudo técnico para linguagem simples antes de você assinar a cirurgia — você não assina o que não entende.

ANALOGIA · ELICITAÇÃO & MFA

Mesmo com verificação de identidade perfeita e autorização humana granular, instruções maliciosas ainda podem passar pelas defesas iniciais. Quando desenvolvedores confiam cegamente em repositórios open-source ou puxam blocos massivos de contexto não estruturado, convidam ataques semânticos sofisticados que bypassam controles IAM padrão. Para detectar e neutralizar proativamente essas ameaças ocultas à medida que o código é gerado, as operações de segurança devem evoluir para corresponder à velocidade exata do workflow agêntico.

12

A Tríade Red/Blue/Green (Pilar 6)

As próprias operações de segurança devem se tornar agênticas — uma tríade contínua de IA rodando em paralelo com o workflow do dev.

Num ambiente vibe-coded, lógica de aplicação é gerada, executada e descartada a uma velocidade sem precedentes. Como a superfície de ataque é não-determinística e dirigida por linguagem natural, operações de segurança manuais tradicionais simplesmente não escalam. Para proteger sistemas autônomos, as próprias operações de segurança devem se tornar agênticas, exigindo o deploy de uma tríade contínua de Red, Blue e Green teaming rodando em paralelo com o workflow do desenvolvedor.

Invisible Payloads e Repository Poisoning

Antes de deployar operações defensivas, precisamos entender a natureza furtiva das ameaças agênticas. Repositórios atuam como um vetor de ataque altamente eficaz. Atores de ameaça podem comprometer repositórios inserindo caracteres Unicode zero-width ou homóglifos diretamente no codebase. A Knostic alerta que esses "invisible payloads hide in plain sight and bypass human review". Como agentes manipulam e replicam código muito mais rápido que um desenvolvedor humano, um único payload oculto pode "spread across hundreds of files in minutes" antes que alguém perceba.

🔴 Red Team (Agent Attacker)

Monitoramento passivo é fundamentalmente reativo. Virtual Red-Teaming Agents injetam proativamente "Adversarial Vibes" — jailbreaks de roleplay sofisticados e instruções maliciosas ocultas em blocos massivos de contexto RAG ou posts de fórum falsos que devs colam nas IDEs. Testa ativamente se o agente enterprise se distrai com contexto envenenado e alucina uma solução insegura.

🔵 Blue Team (Agent Defender)

Substitui UEBA tradicional (ineficaz para IA não-determinística) por Agent Behavioural Analytics (ABA) — baseline de caminhos de execução esperados + detecção de anomalias específicas de IA. Monitora continuamente o Runtime AgBOM (inventário dinâmico de ferramentas, modelos e fontes de dados ativos a cada milissegundo). Se a lógica deriva — script consulta número incomum de ferramentas externas ou entra em loop de recursos ilimitado — o ABA sinaliza imediatamente.

🟢 Green Team (Agent Fixer)

Matar o container host é disruptivo e perigoso — agente "mid-thought" pode deixar APIs em estado corrompido. Em vez disso, executa "Stateful Quarantine" via SOAR playbooks: revoga graciosamente o acesso a ferramentas, congela a capacidade de agir MAS preserva memória de curto prazo intacta para análise forense. Vai além: Auto-Refactoring — reescreve autonomamente o script inseguro e apresenta o código seguro direto na IDE do dev.

É como ter um hacker ético, um vigilante com detector de mentiras e um cirurgião de emergência — todos robôs — trabalhando em turnos contínuos dentro do seu codebase.

ANALOGIA · TRÍADE SECOPS
13

Integrando a Tríade e Batch Sizes

Três fases de runtime onde a tríade adapta dinamicamente o comportamento do agente primário.

Para prevenir agentes de gerar modificações massivas e não revisáveis de código durante este processo, desenvolvedores devem restringir o output do agente a small batch sizes. Isso é idealmente alcançado usando um loop test-driven onde o sistema bloqueia o agente de modificar testes e código de implementação simultaneamente, garantindo que o teste permaneça como baseline objetivo.

Com esses constraints em vigor, a tríade Red, Blue e Green adapta dinamicamente o comportamento do agente primário em runtime em três fases distintas:

📐 Planner Phase

Quando o agente primário desenha um workflow, uma skill especializada de threat-modelling ajuda a avaliar o plano, identificando falhas lógicas e violações de política antes do agente iniciar execução ativa.

⚖️ Evaluator Phase

O quorum de avaliadores revisa a execution trace proposta enquanto o Agent Defender (Blue) simultaneamente verifica o AgBOM e monitora o contexto semântico para intent drift.

⚡ Executor Phase

Enquanto o Executor performa a ação downscoped, o Agent Fixer (Green) monitora a execução real de ferramentas — pronto para orquestrar instantaneamente um stateful quarantine ou disparar um loop de auto-refactoring se o agente encontrar erro ou violar constraint de segurança.

Para garantir que esses mecanismos de defesa automatizados possam intervir com sucesso, a tríade de segurança requer uma visão granular e sem impedimentos no raciocínio interno do agente. Uma operação de segurança agêntica é inteiramente cega se olha apenas para o output final de código. Precisamos deslocar o foco de observar a infraestrutura host para observar a "mente" do agente, criando um audit trail imutável que mapeia exatamente como uma intenção difusa se traduz em uma ação no mundo real.

14

Observabilidade: Auditando a Mente do Agente

"You cannot secure what you cannot see." — Observabilidade é requisito estrito de segurança, não apenas preocupação operacional.

Para proteger e avaliar efetivamente um agente vibe-coded, precisamos reconhecer uma regra fundamental: you cannot secure what you cannot see. Em microservices tradicionais, um status HTTP 200 OK indica operação bem-sucedida. Porém, num sistema agêntico, um status "success" pode meramente mascarar um cenário onde a lógica interna do agente cascateou silenciosamente em um loop de alucinação. Isso introduz o risco crítico de ataques de Denial of Wallet (DoW), onde adversários disparam intencionalmente loops de API infinitos e computacionalmente caros para falir deliberadamente as contas de billing de cloud e LLM da organização.

Observabilidade não é mais meramente uma preocupação operacional de uptime e latência; é um requisito estrito de segurança para iluminar o "glass box" da lógica não-determinística.

Tracing the "Vibe Trajectory" e Content Scanning

Para responder à pergunta crítica "Why did an agent do that?", times de segurança devem construir uma lente cronológica unificada para ver os passos cognitivos do agente. Utilizando frameworks de telemetria padrão como OpenTelemetry, enterprises podem agregar sinais diversos — API calls, tool inputs/outputs, RAG retrievals e token latency — numa Vibe Trajectory completa.

Rastrear essa trajetória requer logar o salto cognitivo massivo do prompt inicial do usuário até a Abstract Syntax Tree (AST) compilada. Para fortificar esse trace, organizações devem parear logging tradicional com Centralised Content Scanning, explicitamente desenhado para inspecionar todos os snippets de código dinâmicos ou scripts recuperados pelo agente em runtime. Esse trace vincula com segurança o loop de raciocínio interno do agente às suas ações físicas, suportando auditorias de segurança rigorosas de terceiros.

Measuring Intent Drift e Trust Decay

À medida que um agente vibe-coded gera dinamicamente lógica e puxa novas ferramentas, seu perímetro de segurança flutua constantemente, tornando inventários estáticos de ativos (SBOMs) instantaneamente obsoletos. Em vez disso, plataformas de observabilidade devem monitorar um Runtime Agent Bill of Materials (AgBOM) — um documento vivo que mapeia o blast radius ativo do agente a cada milissegundo.

Como trust num sistema autônomo é um ativo degradável, a arquitetura monitora continuamente por Intent Drift. O princípio de Trust Decay dita que confiança se perde quando a cadeia de pensamento interna do agente persegue sub-objetivos que divergem do "vibe" humano original. Por exemplo, um prompt simples para "optimize the database query" pode derivar maliciosamente para o agente tentar baixar uma nova biblioteca de indexação não autorizada.

Checkpoints e Stateful Circuit Breakers

Para prevenir ações destrutivas quando esse drift ocorre, o pilar de observabilidade deve gerenciar proativamente o estado. Antes de um agente executar qualquer modificação de codebase, o sistema deve gerar um version control checkpoint.

⚡ Circuit Breaker automático

À medida que o Agent Behavioural Analytics avalia a Vibe Trajectory contra o AgBOM, qualquer instabilidade detectada penaliza instantaneamente o Agent Trust Score dinâmico. Se esse score cai abaixo de um threshold pré-definido, um "circuit breaker" automático é disparado. O ambiente usa o version control checkpoint para fazer rollback imediato das mudanças, revogando graciosamente acesso a ferramentas e congelando a execução autônoma do agente sem corromper APIs conectadas, preservando o estado do ambiente para análise forense.

O circuit breaker é como o disjuntor da sua casa: quando a corrente (drift) sobe demais, ele desliga tudo ANTES do incêndio — e você pode investigar o que causou o curto com tudo preservado.

ANALOGIA · CIRCUIT BREAKER
15

Security Recap: Os 5 Mandamentos

Abandonar confiança implícita. O baseline prático para proteger uma arquitetura vibe-coded.

Para desenvolvedores operacionalizando esses conceitos, proteger uma arquitetura vibe-coded depende de abandonar confiança implícita e implementar o seguinte baseline prático:

1️⃣ Sandbox the Vibe Loop

Sempre execute scripts gerados dinamicamente dentro de sandboxes kernel-level e network-isolated para conter o blast radius. Embuta Software Composition Analysis (SCA) atualizado para escanear ativamente dependências alucinadas ou vulneráveis antes do código alcançar produção.

2️⃣ Shift the Perimeter Left

Aplique o uso de fontes confiáveis e registries internos verificados. Enquanto bloquear geração insegura no nível da IDE fornece um primeiro passo advisory, dependa de checks determinísticos estritos em múltiplos pontos do CI/CD pipeline para interceptar lógica de agente vulnerável ou maliciosa antes do deployment.

3️⃣ Enforce Zero Ambient Authority

Nunca conceda a um agente uma "Global Key". Restrinja acesso mandando identidades delegadas de usuário e tokens JIT hiper-restritos que expiram no momento em que a tarefa conclui. Para ações de alto risco, substitua botões de aprovação cega por um "Vibe Diff" obrigatório para garantir que desenvolvedores entendam a lógica gerada.

4️⃣ Deploy Agentic SecOps

Stress-test continuamente sua arquitetura deployando Virtual Red-Teaming Agents para injetar "Adversarial Vibes". Aproveite Agent Behavioural Analytics para monitorar o Runtime AgBOM dinâmico, enquanto capacita o Green Team para auto-refatorar vulnerabilidades on the fly.

5️⃣ Trace the Execution Trajectory

Logue as API calls do agente, tool inputs e passos de raciocínio. Times de segurança devem monitorar continuamente esses logs de execução para detectar comportamento inesperado e utilizar version control checkpoints para reverter acesso se o agente derivar da tarefa pretendida.

Implementar esses controles de segurança ajuda nossos agentes vibe-coded a operar com segurança dentro de um perímetro seguro e bem governado. Porém, um agente seguro não é inerentemente um agente eficaz. Segurança garante que o agente não fez nada malicioso ou não autorizado — mas como provamos definitivamente que ele realmente alcançou a intenção nuançada do usuário?

Para verdadeiramente operacionalizar esses agentes, precisamos ir além de proteger o perímetro e abrir o "glass box" para medir a qualidade, eficiência e alinhamento do raciocínio interno. Isso nos traz à próxima fase crucial do pipeline: Agent Evaluation.

16

Evaluation: Orquestrando Qualidade

Security tells you the agent stayed inside the boundary; evaluation tells you whether what happened inside that boundary is worth shipping.

As seções anteriores cobriram os controles de segurança que restringem o que um agente vibe-coded pode fazer. Esses controles não respondem à pergunta que o desenvolvedor realmente tem: o agente construiu o que eu pedi, e é bom? Um agente vibe-coded pode passar em todos os checks de segurança e ainda assim ler mal a intenção do desenvolvedor, ignorar as convenções do projeto ou quebrar uma feature não relacionada.

Security tells you the agent stayed inside the boundary; evaluation tells you whether what happened inside that boundary is worth shipping.

FRASE-ÂNCORA · O EIXO DUPLO DE CONFIANÇA

As seções seguintes são estruturadas em torno de três perguntas: por que a avaliação de vibe coding é diferente de avaliar outro software, o que avaliar e como avaliar. Duas áreas ficam deliberadamente fora do escopo deste framework, ambas merecendo tratamento dedicado: avaliação subjetiva de outputs não-verificáveis, onde qualidade é definida por preferências do usuário ou da empresa em vez de ground truth; e o feedback loop de correções do usuário de volta para o modelo, o harness ou o eval suite para impulsionar melhoria.

Figura 2 · O framework de avaliação de agentes de vibe coding

17

Por que avaliar agentes vibe coding é diferente

Não é o mesmo problema que avaliar software determinístico — nem agente de customer-service, nem agente de pesquisa.

Avaliar agentes vibe coding não é o mesmo problema que avaliar software determinístico, e também não é o mesmo problema que avaliar um agente de customer-service ou um agente de pesquisa. Três coisas o tornam único:

📭 1. The Underspecification Gap

Teste de software tradicional opera na suposição inabalável de que uma especificação completa e rígida existe antes de uma única linha de código ser avaliada. Vibe coding é o oposto exato: o prompt do usuário é inerentemente subespecificado. "Make the dashboard load faster" não é um caso de teste. O prompt depende inteiramente do conhecimento latente, julgamento estético e expertise de domínio do modelo para preencher as lacunas operacionais. O primeiro trabalho da avaliação é determinar se o agente preencheu essa lacuna e reconstruiu a spec não declarada correta.

🙈 2. O usuário não pode validar

Usuários não-técnicos não conseguem revisar 600 linhas de código linha por linha. Engenheiros experientes também não, em tempo real. O gap entre "o agente acha que teve sucesso" e "o código está realmente correto" é mais largo aqui do que em qualquer outra categoria de agente — e fechar esse gap é o trabalho central da avaliação.

🔄 3. Sessão iterativa, codebase é estado

Cada turno modifica arquivos reais. Decisões ruins iniciais se compoundam. A avaliação precisa cobrir não só decisões por turno, mas o arco completo de uma conversa multi-turno, num codebase vivo com suas próprias convenções, dependências e história.

Esses três constraints moldam cada dimensão, método e dica que segue.

Avaliar vibe coding é como julgar um chef que recebeu apenas "faz algo gostoso" como pedido — sem receita, sem foto do prato, e o cliente não sabe cozinhar para conferir.

ANALOGIA · OS 3 CONSTRAINTS
18

O que avaliar: as 7 dimensões

Sete dimensões em dois grupos — user-facing e internal — com Safety & Responsible AI como faixa transversal.

A avaliação de agentes vibe coding se divide em sete dimensões, em dois grupos. Dimensões user-facing são o que o desenvolvedor experimenta diretamente. Dimensões internal descrevem o que o agente faz invisivelmente ao usuário. Além disso, Safety e Responsible AI é transversal — intersecta múltiplas dimensões (vulnerabilidades de código, comportamento de recusa, segurança de conteúdo, exposição de IP) e deve ser avaliada junto com cada uma delas.

👤 Dimensões User-Facing

1. Intent satisfaction

O agente construiu o que o usuário quis dizer, não apenas o que ele disse? A dimensão mais difícil de avaliar porque a intenção é não declarada, ambígua e frequentemente muda no meio da sessão. É o que o usuário usa para julgar o agente no final.

2. Functional correctness

O código builda, roda e passa nos testes? O piso, não o teto. Fácil de medir mas fácil de burlar: testes podem ser deletados ou mockados para transformar vermelho em verde sem consertar nada.

3. Visual & behavioural correctness

Para agentes que produzem web apps ou UI, o artefato é o output renderizado, não o código. Métricas de nível de código erram o alvo completamente. A página parece certa e se comporta certa, ou não.

4. Cost & efficiency

Gasto de tokens, latência wall-clock, contagem de tool-calls e iteration count — quantas correções o usuário precisou emitir antes do agente convergir? Um agente que acerta o diff em 1 turno é um produto diferente de um que precisa de 8 correções.

5. Code quality & convention matching

O código corresponde aos idiomas, padrões e convenções do projeto? Um diff que passa nos testes mas viola o estilo do codebase é uma falha de vibe-coding mesmo quando localmente correto.

🧠 Dimensões Internal

6. Trajectory quality

O agente tomou um caminho sensato: leu os arquivos relacionados primeiro, sequenciou edições coerentemente, escolheu a ferramenta ou skill certa em cada passo? Output correto produzido por raciocínio ruim é um sucesso frágil.

7. Self-repair behaviour

Quando o build falha, o teste quebra ou o usuário diz "não, não assim" — o agente se recupera ou compounda a falha? A qualidade de recuperação se compounda ao longo de uma sessão multi-turno.

🔗 Dimensões interligadas

Essas dimensões não são independentes. Por exemplo, trajectory quality (dimensão 6) mais forte tende a significar functional correctness (dimensão 2) mais forte, que é pré-requisito para intent satisfaction (dimensão 1).

Figura 3 · Dimensões de avaliação para agentes de vibe coding

19

Como avaliar: os 8 métodos

Nenhum método único cobre tudo — pipelines de produção combinam vários. A matriz mostra qual método cobre qual dimensão.

As sete dimensões não são todas mensuráveis da mesma forma. Nenhum método único cobre tudo, então pipelines de produção combinam vários. A matriz abaixo resume os métodos de avaliação e as dimensões recomendadas para cada um; o restante da seção descreve cada um em detalhe.

MétodoO que fazDimensões recomendadas
Standardized benchmarksCompara contra o campo em task sets compartilhados.2, 4
Automated functional testingRoda build, testes e linters no output.2, 5
Security & safety evaluationAnálise estática + probing adversarial de recusa.RAI
LLM-as-judge / Agent-as-judgePontua outputs contra rubrics.1, 5, 6
Browser-based testingWorkflows multi-step no app deployado.3
Trajectory inspectionAnalisa raciocínio, tool calls, retrievals.6, 7
Human reviewRevisores qualificados; ground truth para intenção.1, 5, RAI
Online evaluationAmostra tráfego de produção; rubrics offline.Todas

Figura 4 · Métodos de avaliação e dimensões recomendadas

🧪 Automated functional testing

Rode o build, a test suite e os linters no output do agente. O ferramental padrão faz a maior parte do trabalho aqui — pytest, jest, eslint, mypy — plugado no CI pipeline do projeto. Este é o sinal mais barato disponível, recomendado para functional correctness (dimensão 2) e as partes rule-checkable de code quality (dimensão 5).

🛡️ Security & safety evaluation

Combine análise estática de segurança no código gerado com probing adversarial de comportamento de recusa. É cross-cutting — pontua safety e responsible AI junto com as outras dimensões, não como portão separado. Scanners estáticos como Snyk e Semgrep encontram vulnerabilidades, git-secrets captura vazamento de credenciais, e suites red-team roteirizadas testam se o agente recusa pedidos claramente nocivos.

⚖️ LLM-as-judge / Agent-as-judge

Use um modelo para pontuar outputs contra rubrics. Recomendado para dimensões onde regras não capturam a resposta certa — intent satisfaction (1), code quality e style (5) e trajectory quality (6). Na prática: Gemini pontuando um output contra o prompt original do usuário, ou um agent-as-judge inspecionando a trace para coerência de plano.

🌐 Browser-based testing

Rode workflows multi-step contra o app deployado e observe o que acontece. Recomendado para visual e behavioural correctness (dimensão 3) em agentes que produzem UI. As técnicas são bem estabelecidas: scripts Playwright que interagem com a UI renderizada, comparação de screenshots contra referência.

🔍 Trajectory inspection

Analise o raciocínio do agente, tool calls, invocações de skill e retrievals. Recomendado para as dimensões internal — trajectory quality (6) e self-repair behaviour (7). O substrato são traces OpenTelemetry com dados de tool-call em nível de span, surfaced via ferramentas de trace-replay que vinculam cada invocação de modelo às ações que se seguiram.

👥 Human review

Amostre sessões para revisão direta por revisores qualificados. Recomendado para intent satisfaction (1 — humanos são o único ground truth), code quality (5 — o domínio tradicional de code review) e chamadas de safety/RAI que precisam de julgamento nuançado. Não escala; usado principalmente para calibrar os outros métodos. Na prática: anotação estruturada por engenheiros seniores em filas de revisão alimentadas por amostragem online.

📡 Online evaluation

Amostre tráfego de produção ao vivo e pontue contra os mesmos rubrics usados no eval offline. Cobre todas as dimensões na taxa de amostragem. O truque é amostrar bem: um 1% flat perde a long tail, então enviese para sessões de alto custo, sessões com muitas correções e sessões que o usuário abandonou.

20

Benchmarks Padronizados e Kaggle Agent Exams

Testes padronizados isolam capacidades cognitivas específicas — mas são calibração, não substituto para avaliar intenção.

Enquanto frameworks de avaliação customizados lidam com a natureza aberta do vibe coding, testes padronizados isolam capacidades cognitivas específicas do ruído de ambientes enterprise customizados. Eles fornecem o baseline empírico necessário para confiar num sistema não-determinístico.

🏗️ Vibe Code Bench

Avalia geração de web app do zero (zero-to-one). Compara seu agente contra o campo em task sets compartilhados de criação completa de aplicações.

🐙 SWEbench Verified

Avalia mudanças de código em repositórios GitHub reais. Prova que o agente consegue navegar num repositório Python altamente estruturado.

⚡ LiveCodeBench

Fornece um sinal resistente a contaminação para geração de código — questões novas que não vazaram para dados de treino.

Kaggle Agent Exams (SAE) e Avaliação Zero-Setup

Endereçando o fardo historicamente pesado de infraestrutura necessário para rodar esses benchmarks, os Kaggle Standardised Agent Exams (SAE) representam uma mudança massiva em direção à avaliação autônoma "zero-setup". Deployado como uma integração de API leve via um arquivo SKILL.md, o SAE permite que um agente se registre autonomamente no Kaggle, busque questões de prova, execute a lógica multi-step dentro do seu próprio ambiente sandboxado e publique instantaneamente sua pontuação num leaderboard público ao vivo. Atua como um teste rigoroso e sem fricção do raciocínio multi-hop do agente e da segurança adversarial sob pressão.

⚠️ Tradeoff: Overfitting vs. Intenção do Mundo Real

Apesar da imensa utilidade, superdependência de benchmarks padronizados introduz um tradeoff severo: benchmark overfitting. Agentes podem ser hiper-otimizados para alcançar pontuações top em datasets estáticos do Kaggle, mas falhar catastroficamente quando expostos às realidades confusas e contraditórias da intenção humana em produção. Uma pontuação alta no SWE-bench prova que o agente navega num repositório Python estruturado — mas fornece zero garantias de que possui o julgamento estético necessário para "vibe codar" uma aplicação consumer-facing. Exames padronizados devem ser usados estritamente para calibração cognitiva, não como substituto para avaliar intenção customizada.

Benchmarks são como o vestibular: provam que o candidato sabe fazer prova — não que vai ser um bom funcionário no mundo real.

ANALOGIA · BENCHMARKS
21

Observabilidade: o pré-requisito da avaliação

Sem observabilidade, falhas do agente aparecem como eventos monolíticos inexplicáveis.

Para avaliar o raciocínio interno de um agente, desenvolvedores precisam possuir a capacidade de vê-lo. Observabilidade é o pré-requisito absoluto para avaliação Glass Box; sem ela, falhas do agente aparecem como eventos monolíticos inexplicáveis.

🧵 Tracing the Thought

Observabilidade moderna de agentes usa OpenTelemetry para capturar fluxos não-determinísticos. Spans agent.session capturam a duração inteira da tarefa, spans agent.think registram o ciclo interno de raciocínio e prompting antes da ação, e spans agent.tool logam os argumentos específicos e latências de interações ambientais.

💰 Tracking Costs

Observabilidade fornece dados granulares para calcular custos operacionais reais. Agregando atributos de span, times podem medir precisamente consumo de tokens, latência de inferência e o custo de loops de self-repair.

🎯 Dynamic Tail-Based Sampling

Capturar 100% das traces em produção estoura rapidamente orçamentos de armazenamento. Amostragem dinâmica baseada em cauda permite ao coletor avaliar a trace completa após conclusão — descartando sucessos de rotina enquanto retém traces contendo erros ou loops excessivos de self-repair.

22

Tip 1: Session prefix como rubric de intenção

As primeiras 1–2 mensagens do usuário são o mais próximo de uma spec que você tem. Use-as como rubric.

Vibe coding não tem spec para testar — a intenção do usuário é não declarada e evolui entre turnos. O mais próximo de uma spec são as primeiras uma ou duas mensagens do usuário. Trate-as como rubric: derive critérios de avaliação automaticamente do session prefix, depois pontue cada turno subsequente contra eles. Esta é a única forma prática de avaliar a dimensão 1 (intent satisfaction) em escala.

snippet_1_intent_rubric.pyDerivando acceptance criteria de intent satisfaction do session prefix
from google import genai

client = genai.Client(vertexai=True, project="...", location="us-central1")

# Derive criteria from the user's opening turns
opening = " ".join(session.user_messages[:2])
criteria = client.models.generate_content(
    model="gemini-3-pro",
    contents=f"Produce 3-5 acceptance criteria for: {opening}. Return JSON.",
).parsed["criteria"]

# Score every agent turn against the derived criteria
score = client.models.generate_content(
    model="gemini-3-pro",
    contents=f"Does this output satisfy {criteria}? Score 1-5 with rationale."
             f"Output: {agent_response}",
).parsed
23

Tip 2: Julgue o artefato renderizado, não o código

Em vibe coding o usuário julga o output, não o diff. Um modelo multimodal olhando a página renderizada pega o que avaliação de código perde.

Em vibe coding o usuário julga o output, não o diff. Um modelo multimodal olhando a página renderizada captura problemas que avaliação de nível de código perde completamente: layout quebrado no mobile, contraste muito baixo para acessibilidade, estados de botão errados. Combine isso com asserções Playwright — o judge captura problemas visuais e de design, as asserções capturam interatividade quebrada.

snippet_2_multimodal_eval.pyAvaliação multimodal do layout e interactive correctness de uma web app renderizada
from google import genai
from google.genai import types

client = genai.Client(vertexai=True, project="...", location="...")

result = client.models.generate_content(
    model="gemini-3-pro",
    contents=[
        "Score this rendered web app against the spec on layout_match, styling, "
        "and interactive_correctness (1-5 each). Return JSON.",
        user_spec,
        types.Part.from_bytes(data=screenshot_bytes, mime_type="image/png"),
    ],
)
24

Tip 3: Avalie convergência de sessão, não precisão por turno

A pergunta relevante não é "o turno 4 estava correto?" mas "o usuário convergiu para algo que queria?"

Uma sessão de vibe coding é multi-turno por construção. A pergunta relevante não é "o turno 4 estava correto?" mas "o usuário convergiu para algo que queria?" Sessões que convergem em poucos turnos são os casos de sucesso. Sessões abandonadas no meio do fluxo são as falhas mais informativas — muito mais do que erros por turno. Cloud Trace expõe uma sessão de vibe coding, instrumentada via ADK e Agent Engine, como uma única árvore de trace.

snippet_3_session_convergence.pyRastreando convergência multi-turno e custo total de tokens via Google Cloud Trace
from google.cloud import trace_v2

trace = trace_v2.TraceServiceClient().get_trace(
    name=f"projects/{project}/traces/{session_id}"
)

def session_outcome(trace):
    return {
        "converged":         trace.last_turn.user_signal == "satisfied",
        "turns_to_converge": trace.user_correction_count,
        "abandoned":         trace.last_user_action == "close",
        "cost_to_converge":  trace.total_token_cost_usd,
    }
25

Tip 4: Minere correções do usuário como dados de falha rotulados

Cada "não, não assim" é um exemplo de falha rotulado — e vibe coding produz isso em volume.

Cada "não, não assim" do usuário é um exemplo de falha rotulado, e vibe coding produz isso em volume. Clusterize-os e as lacunas sistemáticas do agente se tornam visíveis — muito mais rápido do que construir um benchmark sintético de falhas.

snippet_4_correction_clusters.pyClusterizando correções do usuário em categorias priorizadas de modos de falha
from google import genai
from sklearn.cluster import KMeans

client = genai.Client(vertexai=True, project="...", location="...")

corrections = [t.user_message for trace in traces
               for t in trace.turns if t.is_correction]

emb = client.models.embed_content(
    model="text-embedding-005",
    contents=corrections,
)
vectors = [e.values for e in emb.embeddings]
clusters = KMeans(n_clusters=8).fit(vectors)
# Clusters.labels_ is the prioritized list of failure modes for the next iteration
26

Conclusão: a nova arte

Generation is largely a solved problem. Verification, security, and architectural judgment are the new craft.

A transição de sintaxe para intenção não é uma previsão futura; é a realidade imediata do desenvolvimento de software. Em 2026, os gargalos na criação de software mudaram fundamentalmente. Não estamos mais esperando mãos humanas digitarem boilerplate; estamos esperando mentes humanas definirem os limites, avaliarem os outputs e protegerem o ambiente de execução.

Migrar de vibe coding casual para agentic engineering disciplinado requer abandonar confiança implícita. Um modelo de IA bruto é meramente um motor; só se torna um agente enterprise-ready quando envolvido num harness robusto. Implementando a 7-Pillar Security Architecture — aplicando sandboxing estrito, ABAC contextual e teaming agêntico Red/Blue/Green — organizações podem conter com segurança o blast radius de ações autônomas.

Porém, segurança sozinha só prova que o agente não causou dano. Pareando esses controles de segurança com um Evaluation Framework rigoroso — medindo tudo de intent satisfaction e trajectory quality até visual correctness — líderes de engenharia podem provar com confiança que o agente realmente entregou valor.

Generation is largely a solved problem. Verification, security, and architectural judgment are the new craft.

CONCLUSÃO · WHITEPAPER DAY 4

Os times que prosperarão nesta nova era serão aqueles que abraçam a IA como um motor de implementação de alta velocidade, mantendo ao mesmo tempo a disciplina rigorosa necessária para produzir software com o qual o mundo pode realmente contar.

🎯 Teste seu entendimento

✅ Checklists de implementação

🛡️ Security Baseline

Sandbox the Vibe Loop (kernel-level, network-isolated)
Shift the Perimeter Left (SCA + CI/CD determinístico)
Enforce Zero Ambient Authority (JIT tokens)
Deploy Agentic SecOps (Red/Blue/Green)
Trace the Execution Trajectory (checkpoints)

📊 Evaluation Readiness

Intent satisfaction (dimensão 1)
Functional correctness (dimensão 2)
Visual & behavioural correctness (dimensão 3)
Cost & efficiency (dimensão 4)
Code quality & conventions (dimensão 5)
Trajectory quality (dimensão 6)
Self-repair behaviour (dimensão 7)

💡 Applied Tips

Tip 1: Session prefix como rubric de intenção
Tip 2: Julgar o artefato renderizado
Tip 3: Convergência de sessão
Tip 4: Minerar correções do usuário

📋 Cheat sheets

security_recap.txtOs 5 mandamentos de segurança
# SECURE VIBE CODING — 5 COMMANDMENTS
1. SANDBOX THE VIBE LOOP
    kernel-level, network-isolated sandboxes
    SCA scan for hallucinated/vulnerable deps
2. SHIFT THE PERIMETER LEFT
    trusted sources + verified internal registries
    deterministic checks at multiple CI/CD points
3. ENFORCE ZERO AMBIENT AUTHORITY
    delegated user identities + JIT hyper-restricted tokens
    mandatory "Vibe Diff" for high-stakes actions
4. DEPLOY AGENTIC SECOPS
    Virtual Red-Teaming Agents inject "Adversarial Vibes"
    ABA monitors Runtime AgBOM + Green auto-refactors
5. TRACE THE EXECUTION TRAJECTORY
    log API calls, tool inputs, reasoning steps
    version-control checkpoints to revert on drift
eval_matrix.txt7 dimensões × 8 métodos
# EVALUATION — 7 DIMENSIONS × 8 METHODS
DIMENSIONS  1 Intent satisfaction  2 Functional correctness
            3 Visual & behavioural  4 Cost & efficiency
            5 Code quality          6 Trajectory quality
            7 Self-repair           RAI Safety (transversal)
METHODS     benchmarks → 2,4    functional testing → 2,5
            security eval → RAI  LLM/Agent-judge → 1,5,6
            browser-based → 3    trajectory inspect → 6,7
            human review → 1,5,RAI  online eval → all
glossary.txtTermos-chave do Day 4
# DAY 4 — KEY TERMS
Effective Trust      continuous metric: supply chain + identity
                     + runtime behaviour + contextual associations
slopsquatting        malware published under hallucinated pkg names
Confused Deputy      over-privileged agent tricked by prompt injection
Zero Ambient Auth    agent never inherits dev's full privileges
Vibe Diff            plain-English translation before critical tool runs
AgBOM                Runtime Agent Bill of Materials (live blast radius)
Intent Drift         chain-of-thought diverges from original vibe
Trust Decay          trust is a degradable asset
DoW                  Denial of Wallet — bankrupt via infinite API loops
circuit breaker      auto rollback when Trust Score drops below threshold
underspecification   the prompt is not a spec — gap must be reconstructed
SAE                  Kaggle Standardised Agent Exams (zero-setup eval)
27

Continue a jornada

Os papers companions da série — cada guia segue o mesmo formato interativo e trilíngue.

HUBponto de partida

Série Agents Whitepaper — hub

Todos os guias da série em um só lugar.

índicenavegação
D1fundamentos

The New SDLC with Vibe Coding

Agentic Engineering, o Factory Model e a equação Agent = Model + Harness.

vibe codingfactory modelharness
D2ferramentas

Agent Tools & Interoperability

Os 5 protocolos abertos que conectam agentes a ferramentas e entre si.

MCPA2AA2UI
D3contexto & memória

Context Engineering: Sessions, Memory

Como montar, a cada turno, a informação certa dentro da context window.

sessionsmemoryRAG
D5produção

Spec-Driven Production Grade Development

Desenvolvimento guiado por specs para levar vibe coding a nível de produção.

spec-drivenproduction gradeworkflow
28

Referências (endnotes do paper)

As 6 fontes citadas no whitepaper original de Security & Evaluation.

📚 Endnotes

[1]DORA. "State of AI-assisted Software Development." 2025. dora.dev/research/2025/
[2]Wiz Research. "From Prompts to Production: The Technical Guide to Secure Vibe Coding." 2026.
[3]Mandiant. "AI risk and resilience: A Mandiant special report." 2026. cloud.google.com/security/resources/ai-risk-and-resilience
[4]Mandiant. "M-Trends 2026 Executive Edition." 2026.
[5]Wiz Research. "From Prompts to Production: The Technical Guide to Secure Vibe Coding." 2026. (slopsquatting)
[6]Knostic. "AI Coding Agent Security: Threat Models and Protection Strategies."
Acknowledgements

Priya Pandey, Antonio Gulli, Reah Miyara e Sita Lakshmi Sangameswaran (contribuição de conteúdo) · Anant Nawalgaria (curadoria e edição) · Michael Lanning (design).

velocidade (menor = mais calmo)10×