All release artifacts include SHA256 checksums that are automatically verified during installation:
- Checksum Files: Each release includes a
SHA256SUMS.txtfile containing checksums for all artifacts - Automatic Verification: The install script automatically downloads and verifies checksums
- Manual Verification: You can manually verify downloads:
# Download the checksum file curl -LO https://github.com/hongkongkiwi/rusty-commit/releases/latest/download/SHA256SUMS.txt # Verify your download sha256sum -c SHA256SUMS.txt --ignore-missing
We plan to implement GPG signing for enhanced security:
- Signed Checksums: The
SHA256SUMS.txt.ascfile will contain GPG signature - Package Signing: Individual packages (.deb, .rpm) will be signed
- Verification: Instructions will be provided for verifying signatures
The installation script includes multiple security features:
- Root Protection: Warns when running as root (override with
ACCEPT_RISKS=true) - Environment Checks: Detects suspicious environment variables (LD_PRELOAD, etc.)
- Checksum Verification: Verifies all downloads by default
- HTTPS Only: All downloads use HTTPS with retry logic
- Temp Directory: Uses secure temporary directories with automatic cleanup
- Error Handling: Comprehensive error handling with rollback on failure
Rusty Commit supports secure credential storage using system keychains:
- macOS: Keychain Access
- Linux: Secret Service API (GNOME Keyring, KWallet)
- Windows: Windows Credential Manager
API keys are never stored in plain text when secure storage is enabled.
If you discover a security vulnerability, please:
- DO NOT open a public issue
- Email security details to [your-security-email@example.com]
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
We will acknowledge receipt within 48 hours and provide updates on the fix.
- Always verify checksums when downloading binaries manually
- Use secure storage features for API keys (
--features secure-storage) - Keep software updated to get security patches
- Review scripts before piping to bash
- Use official sources for installation
- Never commit secrets or API keys
- Use environment variables for sensitive data
- Follow secure coding practices
- Update dependencies regularly
- Test security features before releases
We use several measures to ensure dependency security:
- Cargo audit: Regular security audits of dependencies
- Dependabot: Automated dependency updates
- Minimal dependencies: We minimize external dependencies
- Trusted crates: Only use well-maintained, popular crates
Our CI/CD pipeline includes:
- Protected branches: Main branch requires reviews
- Signed commits: Encourage GPG-signed commits
- CI security checks: Automated security scanning
- Release artifacts: Built in clean CI environment
- Reproducible builds: Working towards reproducible builds
Planned security improvements:
- GPG signing for all release artifacts
- Signed commits enforcement
- Security audit automation
- SLSA compliance for supply chain security
- Reproducible builds verification
- Code signing for Windows/macOS binaries