O que dependency-confusion faz?
Teste de cadeia de suprimentos via confusão de dependências em gerenciadores de pacotes: quando nomes de pacotes internos resolvem para registros públicos controlados por atacantes, levando à instalação maliciosa e execução de scripts. Use para revisão de manifestos npm/pip/gem/Maven/Composer/Docker e exercícios autorizados de cadeia de suprimentos em red-team.
Descrição
Esta skill implementa um ataque por confusão de dependências, uma técnica de segurança de cadeia de suprimentos que explora a resolução de nomes de pacotes privados para registros públicos maliciosos.
Suporte a Gerenciadores de Pacotes
- npm (Node.js) -
package.json - pip (Python) -
requirements.txt,Pipfile - gem (Ruby) -
Gemfile - Maven (Java) -
pom.xml - Composer (PHP) -
composer.json - Docker -
Dockerfile
Como Funciona
- A skill analisa os arquivos de manifesto do projeto.
- Verifica se cada dependência listada existe em registros públicos (npm, PyPI, RubyGems, Maven Central, Packagist, Docker Hub).
- Se um nome de pacote privado for encontrado em um registro público, ele é marcado como vulnerável.
- Relata riscos de execução de código malicioso durante a instalação ou build.
Uso
# Exemplo de comando para análise em um projeto Node.js
yak analyze package.json --format json
Aviso de Segurança
⚠️ Esta skill deve ser usada apenas em ambientes autorizados. Teste apenas projetos que você possui ou tem permissão explícita para auditar. O uso não autorizado pode violar leis e políticas de segurança.
Licença
Distribuído sob a licença MIT.