Please do NOT create public GitHub issues for security vulnerabilities. This puts all users at risk.
Instead, please use GitHub's Private Security Advisory feature:
- Go to: https://github.com/sequential-parameter-optimization/spotforecast2-safe/security/advisories
- Click "Report a vulnerability"
- Provide details about the vulnerability
Alternatively, email your findings to:
bartzbeielstein@users.noreply.github.com
with the subject line: [SECURITY] spotforecast2-safe Vulnerability Report
Include:
- Description of the vulnerability
- Affected version(s)
- Steps to reproduce (if applicable)
- Potential impact
- Suggested fix (if available)
- Acknowledgment: Within 24 hours
- Initial assessment: Within 3 business days
- Fix and patch: Varies based on severity
- Public disclosure: Coordinated after patch is available
Published security advisories can be found in the GitHub Security Advisories section.
| Version | Status | End of Support |
|---|---|---|
| 0.3.x | ✅ Supported | Oct 2027 |
| 0.2.x | Feb 2026 | |
| < 0.2.0 | ❌ Unsupported | N/A |
- REUSE Compliant: All code contains SPDX license headers
- SPDX: Files use
SPDX-License-Identifierheaders - EU AI Act: Support for compliance via MODEL_CARD.md
- Python: Requires Python 3.13+
- OpenSSF: Scorecard monitoring enabled
- Always use the latest available version from PyPI
- Review CHANGELOG.md for security patches
- Monitor GitHub Releases for updates
- Pin exact versions in
requirements.txtorpyproject.toml - Use virtual environments (
venvorconda) - Keep dependencies updated via your dependency management tool
- Review MODEL_CARD.md for safety-critical considerations
- Use
pre-commithooks for code quality - Enable local GPG commit signing
- Follow the contribution guidelines
- Run full test suite before submitting PRs
This project maintains minimal dependencies to reduce the attack surface:
dependencies = [
"astral", # Solar position calculations
"feature-engine", # Feature preprocessing
"flake8", # Code linting
"holidays", # Holiday calendars
"lightgbm", # Gradient boosting
"numba", # JIT compilation
"pandas", # Data handling
"pyarrow", # Parquet/Arrow support
"requests", # HTTP client
"scikit-learn", # ML utilities
"tqdm", # Progress bars
]Supply Chain Measures:
- ✅ All dependencies pinned with compatible release specifiers
- ✅ Dependabot enabled for automated dependency updates
- ✅ GitHub Actions pinned to specific commit hashes
- ✅ REUSE compliance for license tracking
- ✅ Regular security scanning via bandit and Safety
For contributors, ensure security best practices:
# Clone repository
git clone https://github.com/sequential-parameter-optimization/spotforecast2-safe.git
cd spotforecast2-safe
# Set up GPG signing (optional but recommended)
git config --local commit.gpgsign true
git config --local tag.gpgsign true
# Install pre-commit hooks
pip install pre-commit
pre-commit install
# Run security checks locally
bandit -r src/spotforecast2_safe/
safety checkAll commits to main and develop branches undergo:
- REUSE Compliance Check: License header verification
- Code Quality: Black, isort, ruff, mypy
- Security Scanning: bandit, Safety
- Test Coverage: pytest with coverage reporting
- Dependency Analysis: Dependabot automated updates
For general security inquiries: https://github.com/sequential-parameter-optimization
For vulnerability reports: Use private advisory feature or email above
Last Updated: February 2026