NT-2026.09.19 DOSSIÊ DFIR
EXTANALYSIS: ANÁLISE FORENSE DE EXTENSÕES DE NAVEGADOR SUSPEITAS – GUIA PRÁTICO
Veja como o ExtAnalysis realiza análise estática de extensões de navegador: instalação, cada aba da interface (permissões, grafo de arquivos, inteligência extraída) e suas limitações reais.

Visão geral
ExtAnalysis é um framework de código aberto criado para realizar análise estática de extensões de navegadores como Chrome, Firefox, Edge e Brave. A ferramenta atua como uma primeira camada de triagem diante de plugins suspeitos, permitindo mapear a estrutura, as permissões, o código-fonte e possíveis indicadores de comprometimento (IOCs) de uma extensão sem executá-la — útil tanto para quem faz forense digital quanto para quem simplesmente quer avaliar um plugin antes de instalá-lo.
Instalação
O ExtAnalysis roda localmente como uma aplicação web construída em Python com Flask. A instalação segue o padrão de qualquer projeto Python no GitHub:
git clone https://github.com/Tuhinshubhra/ExtAnalysis
cd ExtAnalysis
pip3 install -r requirements.txt --break-system-packages
A flag --break-system-packages não aparece na documentação oficial do projeto — ela é necessária em distribuições onde o Python do sistema é marcado como “gerenciado externamente” (PEP 668), caso do Kali Linux em versões mais recentes (2023.1 em diante, baseado em Debian 12). Em um ambiente virtual (venv) ou em versões mais antigas do Kali/Debian, essa flag não é exigida.
Com as dependências instaladas, o servidor é iniciado com:
python3 extanalysis.py
Por padrão, o ExtAnalysis usa o host 127.0.0.1 na porta 13337 e abre automaticamente uma aba do navegador. Ambos os valores podem ser customizados com as flags oficiais -h/--host e -p/--port (ver python3 extanalysis.py --help). A ferramenta aceita três formas de entrada: um link direto para a extensão na Chrome Web Store ou nos Add-ons do Firefox, o upload manual de um arquivo .crx, .xpi, .zip ou .tar, ou a varredura de uma extensão já instalada localmente.
Interface principal
Depois de fornecer o alvo — por exemplo, o link de uma extensão publicada na Chrome Web Store —, o ExtAnalysis inicia a extração e a análise estática dos arquivos. Dependendo do tamanho do plugin, o processo pode levar alguns instantes. Ao concluir, a ferramenta apresenta o relatório na tela principal, organizado em abas, cada uma cobrindo um aspecto diferente da extensão analisada.

Aba de informações básicas
A aba Basic Information reúne os dados extraídos diretamente do manifest.json: nome, autor, descrição, versão e URLs declaradas pela extensão. Ela também inclui um visualizador embutido para inspecionar o próprio arquivo de manifesto sem precisar abri-lo manualmente.

Aba Files: grafo de arquivos
Ao mudar para a aba Files, o ExtAnalysis constrói um grafo interativo que mapeia todos os arquivos-fonte da extensão, os scripts internos, as URLs externas referenciadas e as relações de domínio entre eles. A mesma aba conta com um visualizador de código que permite abrir qualquer arquivo JavaScript e aplicar um “embelezador” (beautifier) para reverter minificação ou ofuscação simples, tornando o código mais legível para auditoria manual.

Aba de permissões e avaliação de risco
A aba Permissions analisa as permissões solicitadas pela extensão no manifesto e as classifica em níveis de risco (Alto, Médio, Baixo) com base no potencial de escalada de privilégio de cada uma — por exemplo, acesso a tabs, webRequest, storage ou cookies tende a pesar mais nessa classificação do que permissões cosméticas.

URL Reconnaissance Suite
A URL Reconnaissance Suite lista os domínios, URLs completas e arquivos JavaScript externos referenciados pela extensão. Para obter a funcionalidade completa dessa aba, é preciso configurar uma chave de API do VirusTotal no menu de configurações da própria interface web, o que habilita a checagem automatizada de reputação e hash desses domínios/arquivos.

Inteligência extraída: IPs, e-mails e strings
Por fim, a aba de inteligência extraída (Extracted Intelligence) varre todos os arquivos da extensão em busca de indicadores de comprometimento hardcoded: endereços IPv4 e IPv6, domínios, URLs completas, carteiras de Bitcoin, endereços de e-mail e strings relevantes (incluindo trechos codificados em Base64). Esses indicadores são o material bruto que orienta a decisão de aprofundar a investigação — um IP ou domínio já conhecido como malicioso, por exemplo, muda imediatamente o nível de suspeita sobre a extensão.



Fluxo de análise de uma extensão
Reunindo os passos anteriores, o fluxo recomendado pela própria ferramenta é: submeter a extensão-alvo (via link, upload de arquivo ou varredura local); revisar o manifest.json e as permissões solicitadas em busca de excesso de privilégio; inspecionar o grafo interativo da aba Files para identificar domínios externos suspeitos e possíveis pontos de exfiltração; e, por fim, cruzar os IOCs extraídos (IPs, domínios, e-mails, strings) com fontes de reputação para decidir se a extensão representa risco real.
Limitações
O ExtAnalysis realiza apenas análise estática: ele examina os arquivos-fonte da extensão sem capturar execução em tempo real nem comportamento acionado dinamicamente. Isso significa que técnicas de ofuscação avançada, verificação de ambiente antes de disparar um payload, ou scripts que só revelam comportamento malicioso em condições específicas de execução podem passar despercebidos por essa análise isolada. Por esse motivo, o próprio fluxo de trabalho recomendado trata o ExtAnalysis como um passo rápido de reconhecimento inicial — mapeando estrutura e permissões — antes de, quando necessário, avançar para análise dinâmica em ambiente isolado (sandbox), onde o comportamento real da extensão pode ser observado com segurança.
Conclusão
Extensões de navegador facilitam o dia a dia, mas quando um desenvolvedor tem intenções maliciosas, elas também abrem uma porta relevante de risco. O ExtAnalysis oferece um caminho rápido e visual para essa triagem inicial: instalação simples, uma interface que organiza manifesto, grafo de arquivos, permissões e IOCs em abas específicas, e uma auditoria de código para quem quer ir além do relatório automático. Suas limitações quanto à análise de comportamento em tempo real não o tornam menos útil — apenas definem seu lugar certo no fluxo de trabalho, como primeira triagem antes de decisões mais custosas. Vale sempre prestar atenção ao que se instala no navegador.