Skimmer da Convertr: a dependência que seu lockfile não mostra

Inventarie scripts do navegador, teste controles de integridade e mantenha evidências de implantação após o incidente da Convertr.

José Palanco José Palanco
Last Updated:
4 min read
Compartilhar
Skimmer da Convertr: a dependência que seu lockfile não mostra

Além de ASPM

AppSec orientada por provas para equipes que desenvolvem com IA

A Plexicus usa AI Swarm Pentest para explorar caminhos autorizados da aplicação, validar o que é explorável e dar às equipes evidências para priorizar a remediação.

Explorar AI Swarm Pentest

Em 26 de outubro, a Sansec relatou um skimmer no script analítico compartilhado da Convertr. Em 27, confirmou a remoção. O acesso inicial permanece sem confirmação. Investigação.

A pergunta vai além do pacote vulnerável: qual código executável chega ao checkout sem passar pela revisão de dependências da aplicação? Um repositório limpo não responde sozinho.

Amplie o inventário para o navegador

Comece com uma página crítica e uma jornada sintética. Registre scripts do documento inicial, do gerenciador de tags e das navegações seguintes. Repita com as escolhas de consentimento relevantes. Não colete dados de clientes para produzir esse registro.

Para cada script, guarde URL completa, componente iniciador, finalidade, responsável, mecanismo de atualização e, quando aplicável, hash do conteúdo aprovado. Diferencie arquivos empacotados na aplicação de URLs cujo conteúdo muda de forma independente. Um domínio conhecido não substitui uma aprovação documentada. Mantenha as informações desconhecidas identificadas.

Modelo conceitual separando dependências de compilação e scripts do navegador, ambos direcionados à execução do checkout.

Modelo de controle original, não uma reconstrução da implantação da Convertr. Os rótulos em inglês identificam responsabilidades de revisão, não volume medido de ataques.

Essa visão complementa nosso processo de validação de runtimes embarcados. Os inventários devem conectar responsáveis e evidências sem substituir um ao outro silenciosamente.

Um host permitido não comprova o arquivo aprovado

Permitir uma origem de scripts informa de onde o navegador pode carregar código. Não demonstra que os bytes atuais foram revisados. Content Security Policy e Subresource Integrity tratam de controles diferentes. Consulte as referências da MDN sobre script-src e integridade.

Teste a diferença em ambiente controlado. Sirva um arquivo inerte de uma origem de teste própria, aprove o conteúdo esperado e depois altere o arquivo. Observe o bloqueio real no navegador. Não substitua um arquivo analítico de produção para demonstrar isso.

Para um recurso externo estável, considere um atributo de integridade com hash revisado e a configuração entre origens necessária. Defina como uma atualização legítima recebe novo hash aprovado. Recursos variáveis ou carregadores de outros scripts exigem outro desenho operacional. Um exemplo de integridade não cobre automaticamente o conteúdo carregado depois.

Para CSP, comece pelo inventário e examine violações com tráfego sintético. O modo somente relatório mede restrições propostas; ele não as aplica. Teste a política aplicada com o checkout completo. Retenha os cabeçalhos efetivos e a observação do navegador, não apenas um arquivo de configuração.

Transforme responsabilidade em decisão verificável

Toda exceção precisa de alguém que justifique aquele script na página de pagamento. O que deixa de funcionar sem ele? Uma página menos sensível seria suficiente? Quais destinos a jornada exige? São questões do desenho da sua aplicação, não afirmações sobre outros lojistas.

PerguntaEvidência a guardarResponsável
Por que o script é carregado?Finalidade e iniciador aprovadosProduto e engenharia
Quais bytes foram revisados?URL, revisão ou hash e dataEquipe da aplicação
O que ocorre após mudanças?Teste limitado e processo de atualizaçãoPlataforma
Qual política é aplicada?Cabeçalhos implantados e resultadoSegurança e plataforma
É possível desativar o script?Regressão do checkout sintéticoResponsável pelo checkout

A tabela propõe um acordo de revisão. Não descreve os controles da Convertr nem promete que um controle impeça todos os skimmers.

Separe resposta a incidentes de uma recarga limpa

Se suas evidências indicarem um incidente, preserve horários, scripts e registros de implantação antes de alterá-los. Seu processo de resposta determina retenção, contenção e notificações. Exclua dados de pagamento dos logs diagnósticos comuns.

Depois de uma mudança aprovada, verifique a página recebida pelo usuário: redirecionamentos, caches, iniciadores e política resultante. Execute pagamentos legítimos com meios de teste autorizados. Uma requisição bem-sucedida fornece evidência de entrega, não uma investigação completa.

Nosso guia de fronteiras de privilégios diferencia uma operação permitida da prova de que as proibidas falham. A análise de agentes e cadeia de suprimentos trata de outra entrada de código no desenvolvimento.

Avalie com Plexicus e evidências

A Plexicus apresenta AI Swarm Pentest como avaliação delimitada de aplicações e APIs com evidências revisáveis. Seu fluxo de remediação oferece mudanças revisadas e novas verificações. Leve inventário de scripts, jornada sintética e perguntas concretas sobre a política.

Combine se comportamento do navegador, destinos externos e controles de alteração fazem parte do escopo autorizado. Essas descrições não garantem monitoramento contínuo de skimmers, cobertura automática de todo gerenciador de tags ou reprodução deste incidente.

Um resultado útil identifica implantação testada, comportamento observado, responsável e nova verificação. Mantenha visíveis as questões pendentes dos fornecedores para explicar e verificar cada decisão.

Fontes

Quer revisar um checkout crítico? Fale com a Plexicus com escopo autorizado, inventário e uma jornada sintética.

Escrito por
José Palanco
José Palanco
José Ramón Palanco é o CEO/CTO da Plexicus, uma empresa pioneira em ASPM (Application Security Posture Management) lançada em 2024, oferecendo capacidades de remediação impulsionadas por IA. Anteriormente, ele fundou a Dinoflux em 2014, uma startup de Inteligência de Ameaças que foi adquirida pela Telefonica, e tem trabalhado com a 11paths desde 2018. Sua experiência inclui cargos no departamento de P&D da Ericsson e na Optenet (Allot). Ele possui um diploma em Engenharia de Telecomunicações pela Universidade de Alcalá de Henares e um Mestrado em Governança de TI pela Universidade de Deusto. Como um especialista reconhecido em cibersegurança, ele tem sido palestrante em várias conferências prestigiadas, incluindo OWASP, ROOTEDCON, ROOTCON, MALCON e FAQin. Suas contribuições para o campo da cibersegurança incluem múltiplas publicações de CVE e o desenvolvimento de várias ferramentas de código aberto, como nmap-scada, ProtocolDetector, escan, pma, EKanalyzer, SCADA IDS, e mais.
Leia mais de José
More to read

Related posts

Pronto para validar o que importa?

Pronto para validar o que importa.

O Plexicus é Proof-Driven AppSec: achados validados, compreensão contextual e remediação revisada — ancorada em evidência, escopada com você.

Qualificação

Verifique se o AI Swarm Pentest se adequa ao seu ambiente.

Partilhe o contexto mínimo. Vamos rever o escopo e indicar o próximo passo comercial.

Antes de enviar — verifique se se encaixa

0 / 280

Sem compromisso. Se não se encaixa, dizemos.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorized target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)
Ronda privada Para investidores