Combobulator is an Open-Source, modular and extensible framework to detect and prevent dependency confusion leakage and potential attacks. This facilitates a holistic approach for ensuring secure application releases that can be evaluated against different sources (e.g., GitHub Packages, JFrog Artifactory) and many package management schemes (e.g., ndm, maven).
The framework can be used by security auditors, pentesters and even baked into an enterprise’s application security program and release cycle in an automated fashion.
The project is putting practicionar’s ability to extend and fit the toolkit to her own specific needs. As such, it is designed to be able to extend it to other sources, public registries, package management schemes and extending the abstract model and accompnaied heuristics engine.
Dependency Combobulator is ready to work with as it is – just git clone or download the package from https://github.com/apiiro/combobulator
Make sure to install required dependencies by running:
pip install -r requirements.txt
-h, –help show this help message and exit
-t {npm,NuGet,maven}, –type {npm,NuGet,maven}
Package Manager Type, i.e: npm, NuGet, maven
-l LIST_FROM_FILE, –load_list LIST_FROM_FILE
Load list of dependencies from a file
-d FROM_SRC, –directory FROM_SRC
Extract dependencies from local source repository
-p–package SINGLE Name a single package.
-c CSV, –csv CSV Export packages properties onto CSV file
-gh GITHUB_TOKEN, –github GITHUB_TOKEN
GitHub Access Token (Overrides .env file setting)
-a {compare,comp,heuristics,heur}, –analysis {compare,comp,heuristics,heur}
Required analysis level – compare (comp), heuristics
(heur) (default: compare)
Supported package types (-t, –t): npm, maven
Supported source dependency assessment:
Analysis level is customizable as you can build your own preferred analysis profile in seconds. Dependency Combobulator does come with several analysis levels out-of-the-box, selected by -a, –analysis
Supported output format:
Introduction Bash scripting is a powerful way to automate Linux tasks, but writing a script…
Introduction A self-signed SSL certificate is a certificate that is created and signed by the…
Introduction Debugging is an important part of Bash scripting. When a script does not work…
Introduction Cron jobs are used in Linux to run commands or Bash scripts automatically at…
Introduction Pipes are an important feature in Linux and Bash scripting. A pipe allows you…
Introduction The grep, awk, and sed commands are powerful text-processing tools in Linux. They are…