
DepFuzzer es una herramienta utilizada para encontrar confusión de dependencias o proyectos donde el correo electrónico del propietario puede ser secuestrado.
/!\ Esta herramienta requiere python >= 3.10 /!\
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip3 install -r requirements.txt
O puedes usar la imagen de docker:
$ docker build -t depfuzzer:latest .
$ docker run --rm -it -v "$PWD":/host depfuzzer
La herramienta se puede usar para escanear carpetas en busca de archivos específicos donde se declaran dependencias, por ejemplo:
package.jsonrequirements.txtpython3 main.py --provider pypi --path ~/Documents/Projets/MyProject/
Además, esta herramienta se puede usar para escanear una dependencia específica:
python3 main.py --provider pypi --dependency requests:0.1.0
Ten en cuenta que la herramienta utiliza un servicio de terceros llamado deps.dev; es posible que necesites especificar un proxy para acceder a él.
______ ______
| _ \ | ___|
| | | |___ _ __ | |_ _ _ ___________ _ __
| | | / _ \ '_ \| _| | | |_ /_ / _ \ '__|
| |/ / __/ |_) | | | |_| |/ / / / __/ |
|___/ \___| .__/\_| \__,_/___/___\___|_|
| |
|_|
usage: main.py [-h]
--provider {npm,pypi,cargo,go,maven,gradle,rubygems,nuget,all}
(--path PATH | --dependency DEPENDENCY)
[--print-takeover]
[--output-file OUTPUT_FILE]
[--check-email]
Dependency checker
options:
-h, --help show this help message and exit
--provider {npm,pypi,cargo,go,maven,gradle,rubygems,all}
--path PATH Path to folder(s) to analyze
--dependency DEPENDENCY
Specify the name of one dependency to check. If you specify the version,
please use ':' to separate name and version.
--print-takeover Don't wait the end of the script to display takeoverable modules
--output-file OUTPUT_FILE
File where results will be stored
--check-email Check if the email's owner of the dependency exists. Might be longer to
analyze.
Si encuentras un bug o tienes una idea, no dudes en abrir un issue en este proyecto.
Esta herramienta no está diseñada para encontrar todos los casos de confusión de dependencias en los proyectos. Además, se sabe que la herramienta produce falsos positivos debido a la complejidad de analizar los archivos de requisitos.
Comprueba siempre manualmente si es explotable antes de tomar medidas.
Ten en cuenta que explotar realmente esta vulnerabilidad podría tener efectos secundarios fuera de control, así que ten cuidado.
Synacktiv no se hace responsable si la herramienta se utiliza con fines malintencionados; es únicamente con fines educativos.
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.