This project uses hash-based dependency pinning for enhanced security and reproducibility.
Hash pinning provides several security and reliability benefits:
- Supply Chain Attack Protection: Prevents malicious packages from being substituted during installation
- Reproducible Builds: Ensures identical dependencies across environments
- Tamper Detection: Validates package integrity through cryptographic hashes
- Compliance: Meets security requirements for production environments
Dependencies are managed using:
pyproject.toml: Defines project metadata and high-level dependenciesrequirements.lock: Contains exact versions with SHA256 hashes generated by uv
To update dependencies while maintaining hash pinning:
# Update lock file with new hashes
uv pip compile pyproject.toml --generate-hashes --output-file requirements.lock
# Install with hash verification
uv pip sync requirements.lock- Never bypass hash verification in production
- Regularly audit dependencies for known vulnerabilities
- Use
osv-scannerto check for security issues in dependencies - Keep dependencies updated to latest secure versions