Dependency Scanning¶
SentriKat Dependency Scanning analyzes the libraries and dependencies of your software projects to find known vulnerabilities (CVE, GHSA). Results are shown in the SentriKat dashboard with severity, available fixes, and EPSS score.
Supported Ecosystems¶
| Language | Files Analyzed |
|---|---|
| Python | requirements.txt, Pipfile.lock, poetry.lock, pyproject.toml, setup.cfg, uv.lock |
| Node.js | package-lock.json, yarn.lock, pnpm-lock.yaml |
| Rust | Cargo.lock |
| Go | go.sum, go.mod |
| Ruby | Gemfile.lock |
| PHP | composer.lock |
| .NET | packages.lock.json |
How to Use It¶
Option 1: Standalone Scanner (recommended for developers)¶
The standalone scanner requires only Python 3.7+ and has no additional dependencies.
# Install the scanner
pip install sentrikat-scan
# Initialize in your project
cd /path/to/my-project
sentrikat-scan --init
# Run a scan
sentrikat-scan
# Install Git hook (automatic scan before every commit)
sentrikat-scan --install-hook
Commit Blocking
The Git hook blocks commits if CRITICAL vulnerabilities are found in dependencies. To skip the check: git commit --no-verify.
Option 2: CI/CD Pipeline¶
Integrate dependency scanning directly into your CI/CD pipeline. The scanner exits with a non-zero code when vulnerabilities above the configured severity are found.
The pipeline fails automatically if vulnerabilities with severity HIGH or above are found.
Option 3: Agent on Server/VM¶
The SentriKat agent installed on Linux/macOS/Windows servers automatically scans dependencies of projects present on the machine every 4 hours.
Requires an API key with scan_dependencies enabled. See Extension & Dependency Scanning for agent configuration details.
What Gets Checked¶
- Exact versions of installed libraries (not ranges) — parsed from lockfiles
- Cross-referenced with Google's OSV.dev database (CVE, GHSA, PYSEC, RUSTSEC)
- Direct vs. transitive dependency distinction
- Available fixes with recommended target version
Dashboard View¶
Once scan results are submitted, the SentriKat dashboard shows:
| Information | Description |
|---|---|
| Vulnerability list | All dependencies with known vulnerabilities |
| Severity | Critical, High, Medium, Low with CVSS score |
| EPSS score | Probability of exploit in the wild |
| CISA KEV status | Whether the vulnerability is actively exploited |
| Fix available | Recommended version to upgrade to |
| Acknowledge/Snooze | Mark vulnerabilities as accepted risk or snooze for a period |
| Alerts | Email and webhook notifications for new vulnerabilities |
Requirements¶
- Python 3.7+ for the standalone scanner
- API key with
scan_dependenciespermission - HTTPS connectivity to the SentriKat server
Limitations¶
Current Limitations
- Does not analyze source code — only dependency/lockfile data
- Does not support Maven/Gradle (Java) at this time
- Requires a lockfile:
package.jsonalone is not sufficient,package-lock.jsonis needed - The scanner does not execute any code from your projects — it only reads dependency files