Skip to content

Security: maxrenke/osv-vulnerability-scanner

Security

docs/security.md

Security Documentation

Hash-Pinned Dependencies

This project uses hash-based dependency pinning for enhanced security and reproducibility.

Why Hash Pinning?

Hash pinning provides several security and reliability benefits:

  1. Supply Chain Attack Protection: Prevents malicious packages from being substituted during installation
  2. Reproducible Builds: Ensures identical dependencies across environments
  3. Tamper Detection: Validates package integrity through cryptographic hashes
  4. Compliance: Meets security requirements for production environments

Implementation

Dependencies are managed using:

  • pyproject.toml: Defines project metadata and high-level dependencies
  • requirements.lock: Contains exact versions with SHA256 hashes generated by uv

Updating Dependencies

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

Security Best Practices

  • Never bypass hash verification in production
  • Regularly audit dependencies for known vulnerabilities
  • Use osv-scanner to check for security issues in dependencies
  • Keep dependencies updated to latest secure versions

References

There aren't any published security advisories