MCP com Chrome: Automação com IA · Capítulo 16 de 16 · 36 min
Colocar a auditoria para rodar sozinha sem virar risco
Automatizar a auditoria tira você da frente do computador e cria o risco oposto: a falha silenciosa que se acumula sem ninguém olhando.
Este capítulo faz parte do curso gratuito MCP com Chrome: Automação com IA.
O que é: o runbook é o documento que permite outra pessoa operar a automação e, principalmente, pará-la sem você, acompanhado de uma política de automação que cabe em uma página. Por que importa: a rotina automatizada roda de madrugada, sem plateia, e uma falha silenciosa deixa de ser erro pontual para virar dano acumulado, com exposição jurídica junto. A sua decisão: definir o que a operação nunca automatiza e nomear quem aprova cada exceção, uma pessoa e não um cargo genérico. O que delegar: escrever o runbook, as listas de domínio e a regra de parada. O passo a passo para operar vem logo abaixo.
Glossário rápido
Runbook
O documento que deixa outra pessoa operar e desligar a rotina no seu lugar. Como o procedimento afixado numa sala de máquinas, ele diz o que ligar, o que nunca tocar, o que desligar primeiro diante de um incidente e a quem avisar.
Regra de parada
A instrução que manda o agente entregar menos em vez de preencher lacuna. Se um dos artefatos previstos não sai, a rotina para e devolve um relatório marcado como incompleto, porque dado faltando disfarçado de resultado completo é pior do que resultado nenhum: ninguém audita o que parece pronto.
Uma auditoria feita à mão tem um defeito discreto: ela funciona enquanto você estiver na frente do computador. Você lembra de forçar o recarregamento antes de medir, lembra de preservar as requisições antes de navegar, lembra de comparar o HTML inicial com o DOM. Ninguém mais lembra.
Quando você automatiza, o defeito troca de lado. A execução recorrente roda de madrugada, sem plateia, e uma falha silenciosa deixa de ser um erro pontual para virar dano acumulado. O relatório continua chegando bonito, com um dado a menos, e ninguém percebe até alguém tomar uma decisão com base nele.
Um runbook permite que outra pessoa faça, e principalmente pare, sem você. Se ele não diz o que desligar e a quem escalar, ele ainda é um tutorial.
Existe ainda um terceiro problema, e ele é o mais fácil de ignorar: parte do que você aprendeu neste curso tem prazo de validade conhecido. A revisão do Model Context Protocol (MCP, o padrão que liga o assistente às ferramentas, como uma tomada universal) que valia até o meio do ano era a 2025-11-25. Em 28 de julho de 2026 a 2026-07-28 virou a vigente, sem handshake de inicialização e sem identificador de sessão no transporte HTTP, e os SDKs oficiais de Python e TypeScript chegaram à linha 2.0 no mesmo dia. Um runbook que não carrega data de verificação envelhece sem avisar.
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
As seis seções obrigatórias
- Inventário de perfis: qual perfil de navegador cada rotina usa, se ele nasce deslogado, e o que acontece com ele no fim da execução.
- Servidores aprovados: nome, versão fixada, flags de execução e a data em que aquela aprovação precisa ser reavaliada.
- Domínios: duas listas separadas, uma de leitura e uma de escrita, porque são riscos diferentes.
- Aprovação humana: um único ponto, nomeado, com o que exatamente está sendo aprovado.
- Regra de parada: a condição objetiva que interrompe a execução em vez de entregar relatório incompleto.
- Resposta a incidente: o que desligar, o que preservar, quem avisar e o que revisar antes de religar.
# RUNBOOK: auditoria semanal de legibilidade e medicao
# Versao 4 | Responsavel: <nome> | Ultima revisao: 01/10/2026
## 1. Perfil de navegador
- Perfil dedicado `perfil-auditoria`, criado vazio, nunca logado.
- Nao usar o Chrome pessoal. Do Chrome 136 em diante a flag de porta de
depuracao remota e ignorada quando o alvo e o diretorio de perfil padrao.
- Fim da execucao: perfil descartado (servidor roda com --isolated).
## 2. Servidores aprovados
- chrome-devtools-mcp, versao FIXADA (ver bloco de configuracao).
- Reavaliar em: 22/12/2026 (90 dias apos a versao 1.10.1, de 23/09/2026).
- Nenhum outro servidor MCP habilitado nesta rotina.
## 3. Dominios
- Leitura permitida: apenas os hosts do site auditado.
- Escrita permitida: NENHUM. Esta rotina nao clica em nada que altere estado.
## 4. Aprovacao humana
- Ponto unico: publicar ou enviar o relatorio para fora do time.
- Nada mais nesta rotina pede aprovacao, porque nada mais altera estado.
## 5. Regra de parada
- Ver bloco proprio. Faltou artefato, para e reporta incompleto.
## 6. Incidente
- Ver fluxo proprio. Desligar primeiro, investigar depois.Repare no que a seção 2 exige e que quase todo mundo pula: versão fixada e data de reavaliação. O motivo é concreto. Uma ferramenta MCP é descrita ao modelo por texto livre, e esse texto pode ser reescrito depois que você aprovou o servidor. A Invariant Labs nomeou isso de envenenamento de ferramenta em abril de 2025, ao esconder instruções na descrição de uma calculadora e conseguir que um cliente lesse a chave SSH privada do usuário.
Aprovar um servidor MCP uma vez não é uma decisão permanente. Sem versão fixada ou verificação de integridade, a aprovação de ontem não diz nada sobre o que o modelo vai ler hoje. A Microsoft recomenda tratar descrição de ferramenta como se fosse instrução de sistema, revisando mudanças com o mesmo rigor de uma alteração de código.
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@1.10.1",
"--isolated",
"--no-usage-statistics",
"--no-performance-crux"
]
}
}
}
// Por que cada peca esta aqui:
// chrome-devtools-mcp@1.6.0 versao FIXADA, nao @latest. Com @latest voce
// aprova um servidor e executa outro na semana
// seguinte, sem revisao nenhuma.
// --isolated perfil temporario, descartado ao fechar. Sem
// cookie, sem sessao logada, sem heranca.
// --no-usage-statistics o servidor coleta estatisticas de uso por padrao.
// --no-performance-crux as tools de performance podem enviar URLs de trace
// para a API CrUX do Google. Com URL interna, isso
// pode violar politica antes de violar seguranca.Se o contexto do agente estiver apertado, a flag --slim reduz a superfície do chrome-devtools-mcp a três ferramentas (navegação, execução de script e captura de tela). É o mecanismo oficial de contenção. Existe issue no próprio repositório pedindo otimização dos schemas por eficiência de token, o que confirma que o custo de descoberta de ferramentas é problema reconhecido, e não reclamação isolada.
Sobre as duas listas de domínio, a separação tem motivo. Leitura e escrita têm consequências diferentes, e misturar as duas numa lista só apaga justamente a fronteira que interessa. O Google materializou esse princípio no Chrome com os Agent Origin Sets, que restringem o agente (o assistente de IA que opera o navegador por você) a origens somente leitura e origens graváveis relevantes à tarefa, bloqueando exfiltração entre origens.
[1] HTML inicial x DOM
baixa o HTML cru e compara com o DOM renderizado
motivo: os crawlers de IA não executam JavaScript
|
v
[2] legibilidade por agente
lighthouse_audit, categoria Agentic Browsing
saída: razão de verificações aprovadas (NÃO existe nota 0 a 100)
|
v
[3] performance a frio
navigate_page -> performance_start_trace com reload
motivo: sem recarregar, você mede cache quente e mente no LCP
|
v
[4] disparo de tag
list_network_requests com includePreservedRequests
motivo: conversão costuma disparar na navegação seguinte
|
v
[R] relatório -> 4 artefatos presentes?
não -> PARA (regra de parada)
sim -> aprovação humana APENAS para publicar fora do timeCom o encadeamento fechado, você grava a sequência. A extensão Claude in Chrome grava uma sequência de ações do navegador, salva como atalho reutilizável e permite reexecutar depois. E o ícone de relógio no painel da extensão configura execução recorrente, diária, semanal, mensal ou anual.
A gravação captura tudo que está visível na tela, inclusive dados de conta em páginas logadas. Antes de qualquer gravação sair do time, alguém precisa assistir ao arquivo inteiro. Essa revisão entra no runbook como etapa, não como bom senso. E lembre de onde vêm os controles: as permissões de site do Claude Code são herdadas da extensão do Chrome, não existe controle paralelo no terminal. A extensão hoje oferece três modos de permissão por site, e administradores de Team e Enterprise gerenciam listas de sites permitidos e bloqueados por organização, na própria extensão. Se a sua política diz uma coisa e a configuração da extensão diz outra, quem manda é a extensão.
A regra de parada é a parte que mais gente escreve errado, porque é contraintuitiva: você está pedindo ao agente que entregue menos. Sem ela, o comportamento padrão é preencher a lacuna, e um relatório com dado faltando disfarçado de resultado é pior do que relatório nenhum. Ninguém audita o que parece completo.
RELATÓRIO: INCOMPLETO
Rotina: auditoria semanal v3 Execução: 2026-07-19 03:00
[1] HTML inicial x DOM ................ OK
[2] legibilidade por agente ........... OK (14/19 verificações aprovadas)
[3] performance a frio ................ FALHOU
[4] disparo de tag .................... NÃO EXECUTADO
ETAPA QUE FALHOU: 3
MOTIVO: o trace foi iniciado, mas a navegação anterior não completou dentro
do tempo de espera. Sem carregamento capturado, não existe LCP para
reportar.
NÃO FIZ: não reaproveitei o LCP da execução de 12/07 e não segui para a
etapa 4, porque a regra de parada interrompe a rotina inteira.
PRÓXIMO PASSO HUMANO: <nome do responsável>Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
Três detalhes desse fluxo merecem justificativa. O primeiro é preservar a versão exata do servidor e da extensão junto com a evidência, porque sem isso você não consegue reproduzir o incidente depois. O segundo é preservar o trecho da página que entrou no contexto, já que conteúdo de terceiro é o vetor mais comum de injeção indireta.
O terceiro é o mais desconfortável: o incidente pode não ter vindo da página. A pesquisa ShadowPrompt, publicada pela Koi Security, descreve o encadeamento de uma lista de origens permissiva demais na extensão, que aceitaria qualquer subdomínio casando com o domínio da Anthropic, com um XSS baseado em DOM num componente (peça pronta da página, como um cadeado comprado de fora) de CAPTCHA de terceiro hospedado sob esse mesmo domínio. Segundo o relato, a correção do lado da extensão passou a exigir correspondência exata de domínio. Trate como relato de terceiro, ainda sem confirmação do fornecedor: o que importa para o runbook é a consequência, ou seja, que a origem do incidente pode estar na cadeia de suprimentos, fora do alvo auditado.
Ler o número de 1% de sucesso de ataque como se o problema estivesse resolvido. Ele vem de medição interna da Anthropic com Opus 4.5, em 24 de novembro de 2025, contra um atacante adaptativo com 100 tentativas por ambiente, e a própria empresa escreve que nenhum agente de browser é imune a injeção de prompt. Em uma rotina que roda todo dia, 1% vira agenda.
Agora a parte que não é técnica e decide mais coisa: a política de automação. Ela cabe em uma página e tem três faixas.
Na prática, quem separa o permitido do arriscado é o login; o arquivo de regras de robôs pesa pouco nessa conta. Logar é o ato que traz os termos de uso para dentro da relação. No caso hiQ Labs contra LinkedIn houve reconhecimento de quebra do contrato de usuário, e o processo terminou em acordo homologado com pagamento de 500 mil dólares, proibição permanente de raspagem e destruição da base coletada. Já a decisão de janeiro de 2024 do juiz Edward Chen, no Distrito Norte da Califórnia, em Meta contra Bright Data, entendeu que os termos do Facebook e do Instagram não proibiam a raspagem deslogada de dados públicos.
Nunca automatizamos: contas financeiras, documentos jurídicos e contratos, informação médica e sites com dados pessoais de terceiros. A própria Anthropic desaconselha esses usos, exige permissão para sites financeiros e não disponibiliza o recurso para organizações cobertas por HIPAA. Automatizamos deslogados: auditoria técnica de páginas públicas, que é a postura mais defensável. Automatizamos logados: apenas com finalidade escrita, base legal documentada e um nome de aprovador ao lado. Quem aprova exceção: uma pessoa nomeada, nunca um cargo genérico.
No Brasil o critério não para no acesso técnico. A ANPD tratou a raspagem de dados no Radar Tecnológico número 3, de novembro de 2024, afirmando que a prática constitui tratamento de dados pessoais e se sujeita à lei brasileira de proteção de dados. O dado estar publicamente acessível não autoriza o uso de forma automática, e o legítimo interesse do artigo 7, inciso IX, dessa lei exige avaliação prévia documentada, o teste de balanceamento.
Cuidado para a aprovação humana não virar carimbo. Se o agente pede confirmação vinte vezes por hora, a pessoa aprova sem ler e a defesa vira teatro. É por isso que o runbook exige um ponto de aprovação, específico, mostrando exatamente qual ação será executada em qual domínio. Confirmação rara é confirmação que alguém lê.
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
Falta o critério para saber se algo que um fornecedor chama de padrão é de fato oficial. No MCP ele é objetivo e verificável em segundos: extensões oficiais usam o prefixo io.modelcontextprotocol e vivem em repositórios com prefixo ext- na organização oficial do projeto. Terceiros devem usar o próprio domínio invertido. Nome bonito no README não conta.
Sobre governança do protocolo: em 9 de dezembro de 2025 a Anthropic doou o MCP para a Agentic AI Foundation, um fundo dirigido da Linux Foundation co-fundado com Block e OpenAI. Isso muda a resposta para a pergunta que todo comitê de segurança faz, que é quem controla o padrão, e costuma ser o argumento que destrava adoção em empresa.
## Cadencia de reavaliacao (colar no fim do runbook)
| O que | Verificado em | Revisar quando |
| --- | --- | --- |
| Versao fixada do chrome-devtools-mcp | 01/10/2026 (1.10.1) | a cada 90 dias ou em CVE |
| Versao da extensao Claude in Chrome | 01/10/2026 | a cada 90 dias |
| Revisao do protocolo MCP | 2026-07-28, vigente desde 28/07/2026 | proxima revisao publicada |
| SDK MCP (Python e TypeScript) | linha 2.x desde 28/07/2026 | a 1.x so recebe correcao de seguranca |
| Roots, Sampling e Logging | deprecados na 2026-07-28 | remocao elegivel a partir de 28/07/2027 |
| Lista de dominios de leitura | 01/10/2026 | a cada mudanca de escopo |
| Politica de automacao | 01/10/2026 | a cada 6 meses ou por decisao juridica nova |
<!-- Regra: linha sem data verificada e linha que nao vale. Se voce nao sabe
quando conferiu, considere nao conferido. -->Guia prático: preencher o relatório semanal de mídia com o agente, sem dar a ele a caneta
O relatório de segunda-feira junta números de GA4, Meta e Google Ads, compara com a semana anterior e sai para o cliente. O agente acelera a coleta e a montagem; a decisão do que vai para fora continua humana. O roteiro aplica as seis seções do runbook a esse caso.
Relatório semanal de mídia montado pelo agente e aprovado por uma pessoa
Seis passos. Na primeira semana, rode lado a lado com o relatório feito à mão e compare.
Passo 1: Prefira conector de dados a navegador para buscar números
Para o GA4 existe servidor MCP oficial, citado em "Provar que a conversão dispara antes de culpar a tag". Navegador logado em painel de anúncio fica para o que não tem conector, e em Manually approve.
Deu certo quando: Cada número da planilha tem a origem anotada: conector, exportação ou leitura de tela.
Erro comum: Pedir ao agente que leia números de gráficos por captura de tela.
Passo 2: Dê ao agente acesso de leitura, nunca de edição, às contas de anúncio
Um usuário só leitura na conta de anúncios elimina a classe inteira de acidente de verba.
Deu certo quando: Uma tentativa de editar orçamento falha por falta de permissão, não por instrução.
Erro comum: Usar a conta de administrador do gestor de tráfego no perfil da automação.
Passo 3: Use um modelo de planilha fixo, com colunas de semana atual, semana anterior e variação
O agente preenche células; não cria colunas nem muda fórmula. Ao final, ele lista as células que não conseguiu preencher.
Deu certo quando: A planilha final tem a mesma estrutura de todas as semanas, e as lacunas estão marcadas.
Erro comum: Deixar o agente reescrever a planilha a cada semana; a comparação histórica se perde.
Passo 4: Exija o rótulo de natureza do dado em cada métrica de site
Tempo de carregamento de laboratório não divide célula com dado de campo, como em "Medir carregamento sem mentir para o cliente".
Deu certo quando: Toda métrica de performance tem a etiqueta laboratório ou campo.
Erro comum: Aceitar um número sem etiqueta porque "parece certo".
Passo 5: Coloque o único portão humano no envio: o agente prepara, uma pessoa revisa e envia
Na extensão, enviar mensagem em seu nome é ação com consequência real; a própria Anthropic recomenda ficar perto ou voltar para aprovação manual nesse tipo de tarefa.
Deu certo quando: Nenhum relatório sai sem o nome de quem aprovou.
Erro comum: Agendar o envio automático na primeira semana.
Passo 6: Feche a semana com a linha de verificação do runbook
Versão do servidor, versão da extensão e data. Se alguma ferramenta mudou de versão, a primeira execução da semana roda em paralelo com a anterior.
Deu certo quando: O rodapé do runbook mostra a data desta semana em todas as linhas.
Erro comum: Atualizar o servidor com @latest no meio do mês e descobrir a diferença no relatório do cliente.
No fim você tem: Um relatório semanal montado em minutos, com origem de cada número, etiqueta de natureza do dado e uma pessoa responsável pelo envio.
Em empresa com Chrome gerenciado, peça ao time de TI a política forceLoginOrgUUID do Chrome Enterprise: ela limita a extensão à organização da empresa e impede que alguém rode a automação de mídia com uma conta pessoal. A mesma página de controles de administração lista os endereços que a extensão precisa alcançar em rede restrita.
Feche o exercício sem computador: entregue a política de uma página para alguém de fora do time técnico ler. Ela está pronta quando essa pessoa diz, sozinha, o que a operação nunca automatiza e quem aprova exceção; se não disser, o texto ainda é rascunho seu.
Critério de sucesso observável, em duas provas. Prova um: um colega que não fez o curso, seguindo apenas o runbook, sobe o ambiente de laboratório, executa a auditoria completa e sabe dizer, sem perguntar a ninguém, a quem escalar e o que desligar diante de comportamento inesperado. Prova dois: uma execução sabotada de propósito, retirando um dos quatro artefatos, para no ponto previsto pela regra de parada e devolve um relatório marcado como incompleto, em vez de entregar dado faltando disfarçado de resultado. Se a segunda prova falhar, o defeito está na regra de parada, escrita como sugestão onde precisava ser condição.
A parte que decide mais coisa não é técnica: é a política de automação e o nome de quem responde por ela. Escreva, com a sua assinatura, o que nunca se automatiza e quem autoriza exceção, e trate cada linha do runbook sem data de verificação como linha que não vale. Uma política que um leigo não consegue repetir de cabeça ainda é rascunho.
Seu caderno neste capítulo
Abrir o caderno completoSelecione um trecho do capítulo para destacar ou anotar. Nos vídeos e áudios, use Anotar este momento. No teclado, selecione com Shift e as setas e use Alt+Shift+D para destacar ou Alt+Shift+N para anotar.
Salvo neste navegador. Entre na sua conta para levar o caderno a outros aparelhos.
Entre na sua conta para compartilhar o que aprendeu e convidar alguém para estudar com você.
Conexões deste capítulo
Veja o que estudar antes e para onde seguir depois, explore os conceitos e compare abordagens em outros cursos. Sugestões marcadas como “sugerido pelo grafo” vêm dos assuntos em comum, não do índice do curso.
Estude antes
- Usar o mapa do curso e o glossário mínimosugerido pelo grafoApresenta o conceito “MCP”, usado em “Colocar a auditoria para rodar sozinha sem virar risco”.
- CursoMCP para quem decidesugerido pelo grafo7 capítulos de “MCP com Chrome: Automação com IA” usam conceitos apresentados em “MCP para quem decide”.
- CursoNode.js: JavaScript no Servidorsugerido pelo grafo3 capítulos de “MCP com Chrome: Automação com IA” usam conceitos apresentados em “Node.js: JavaScript no Servidor”.
- CursoSetup Completo: do zero ao Claude Codesugerido pelo grafo3 capítulos de “MCP com Chrome: Automação com IA” usam conceitos apresentados em “Setup Completo: do zero ao Claude Code”.
Conceitos deste capítulo
O mesmo assunto em outros cursos
- Setup Completo: do zero ao Claude CodeDeixe o Claude operar o seu Chrome (avançado, opcional)Examinar conexões de Deixe o Claude operar o seu Chrome (avançado, opcional)
- Claude Code CLI: Programação com IAColocar o Claude no time com segurança e um piloto medidoExaminar conexões de Colocar o Claude no time com segurança e um piloto medido
- Skills de IA com Vibecoding e TerminalModos de Permissão: Equilibrando Velocidade e Controle HumanoExaminar conexões de Modos de Permissão: Equilibrando Velocidade e Controle Humano
- MCP para quem decideReconhecer os ataques próprios deste protocoloExaminar conexões de Reconhecer os ataques próprios deste protocolo
Voltar ao capítulo anterior: Provar que a conversão dispara antes de culpar a tag
Leve uma ideia para a prática
Escolha uma atividade no painel e volte a este curso quando quiser.
Atividades e evolução ficam reunidas no painel da sua conta.
Capítulos vizinhos em MCP com Chrome: Automação com IA
- 12Descobrir o que a IA não vê na página que você vê
- 13Saber se um agente consegue operar o seu site
- 14Medir carregamento sem mentir para o cliente
- 15Provar que a conversão dispara antes de culpar a tag
- 16Colocar a auditoria para rodar sozinha sem virar risco