We take the security of depkeeper seriously. This document outlines how we handle vulnerability reports, which versions are supported, and how users can stay secure.
We provide security patches only for the latest 0.1.x series.
| Version | Supported |
|---|---|
| 0.1.x | βοΈ Yes |
| < 0.1 | β No |
As depkeeper is in early development, we strongly recommend upgrading to the latest release at all times.
Do NOT create public GitHub issues for security vulnerabilities.
To responsibly disclose a vulnerability, please use one of the following private channels:
- The repositoryβs Security tab β Report a vulnerability
- A private GitHub Discussion with the maintainers
We appreciate coordinated disclosure and will work with you to verify, fix, and publicly disclose issues responsibly.
- Description - Clear explanation of the issue
- Impact - What an attacker could achieve
- Affected Versions - Specific versions tested
- Reproduction Steps - Required to verify the issue
- Proof of Concept (PoC) - If available
- Potential Fix - If you have thoughts or patches
Example format:
Subject: [SECURITY] Vulnerability in requirements parser
Description:
A crafted requirements.txt triggers arbitrary code execution β¦
Impact:
Remote code execution during dependency checks β¦
Affected Versions:
0.1.0 - 0.1.5
Reproduction:
1. Create file X
2. Run `depkeeper check`
3. Observe behavior
Proof of Concept:
[link or attachment]
Suggested Fix:
Sanitize inputs in parser and enforce safe evaluation rules.
- 48 hours β Initial acknowledgment
- 5 business days β Validation decision
- Every 5-7 days β Status updates
- Within 30 days β Target resolution for critical vulnerabilities
- Acknowledge receipt
- Investigate & validate
- Develop and test a fix
- Coordinate disclosure with reporter
- Publish a GitHub Security Advisory
- Credit researcher (if desired)
When a vulnerability is fixed, we will:
- Publish a GitHub Security Advisory
- Release a patched version
- Update
CHANGELOG.mdwith a[SECURITY]entry - Announce the fix through GitHub Releases
Advisories are published at: https://github.com/rahulkaushal04/depkeeper/security/advisories
- Parser, resolver, updater logic
- Requirements file handling (malicious input)
- CLI command injection / unsafe shell execution
- Unsafe file operations or path traversal
- SSRF, MITM, insecure HTTP behavior
- Authentication issues with private indices
- Dependency chain vulnerabilities affecting depkeeper
- Vulnerabilities in third-party dependencies
- DoS requiring extreme resources
- Social engineering
- Physical access attacks
- Developer-only tooling issues
- Unsupported versions
While depkeeper currently has no paid bug bounty program, we do:
- Credit reporters in advisories
- Mention them in the changelog
- Add them to contributor acknowledgments
- Provide signed recommendation letters (if requested)
A bounty program may be introduced in the future.
- Always use the latest version
- Only run depkeeper on trusted requirements files
- Review suggested updates before applying
- Use virtual environments
- Avoid running as root unless necessary
# depkeeper.toml
[depkeeper]
verify_ssl = true
force_https = true
concurrent_requests = 10
[depkeeper.security]
check_security = true
fail_on_critical = true
require_hashes = false # Recommended: true for maximum safetyUse environment variables or credential managers:
export DEPKEEPER_PYPI_TOKEN=your_token_here
depkeeper updateAvoid hardcoding tokens or passwords.
- βοΈ HTTPS-only communication
- βοΈ SSL certificate verification
- βοΈ Input validation & sanitization
- βοΈ Safe path handling
- βοΈ Atomic file writes & backups
- βοΈ Dry-run mode
- βοΈ Dependency hash verification support
- π Vulnerability scanning
- π Lockfile w/ integrity
- π Package signature verification
- π SBOM generation
- π Suspicious update detection (supply-chain safety)
Mitigated by:
- The
packaginglibrary - Avoidance of unsafe parsing operations
- Strict validation rules
Mitigated by:
- HTTPS enforcement
- TLS verification
- Configurable indices
- Request throttling
Mitigated by:
- Path normalization
- Restricted write locations
- Automatic backup creation
Typical flow:
| Day | Action |
|---|---|
| 0 | Vulnerability privately reported |
| 1-5 | Triage & validation |
| 5-30 | Fix development & testing |
| ~30 | Public disclosure & advisory |
Earlier disclosure may occur if:
- Active exploitation is observed
- Vulnerability is public elsewhere
- Issue is trivial to reproduce
- Security concerns β Use the repositoryβs Security tab
- Private communication β Start a private GitHub Discussion
- Repository β https://github.com/rahulkaushal04/depkeeper
Thanks to all researchers who help keep depkeeper secure. (Currently no reported vulnerabilities.)