| Version | Supported |
|---|---|
| 1.x.x | ✅ |
We take security vulnerabilities seriously. If you discover a security issue in NovoMD, please report it responsibly.
DO NOT create a public GitHub issue for security vulnerabilities.
Instead, please report security issues via one of these methods:
-
GitHub Security Advisories (preferred)
- Go to the Security tab
- Click "Report a vulnerability"
- Provide detailed information about the vulnerability
-
Email
- Send details to: security@novomcp.com
- Use GPG encryption if possible (key available on request)
Please provide as much information as possible:
- Type of vulnerability
- Full path or URL of the affected resource
- Step-by-step instructions to reproduce the issue
- Proof of concept or exploit code (if available)
- Potential impact of the vulnerability
- Suggested mitigation or fix (if available)
- Initial Response: Within 48 hours
- Status Update: Within 7 days
- Fix Timeline: Depends on severity
- Critical: 7 days
- High: 30 days
- Medium: 90 days
- Low: Best effort
- Acknowledgment: We'll confirm receipt of your report
- Investigation: We'll investigate and validate the issue
- Fix Development: We'll develop and test a fix
- Disclosure: We'll coordinate disclosure timing with you
- Credit: We'll credit you in the security advisory (unless you prefer to remain anonymous)
-
API Key Security
- Never commit API keys to version control
- Use strong, randomly generated API keys (32+ characters)
- Rotate API keys regularly
- Store keys securely (environment variables, secrets managers)
-
Network Security
- Deploy behind HTTPS/TLS in production
- Use firewall rules to restrict access
- Implement rate limiting
- Use reverse proxy (nginx, Traefik, AWS ALB)
-
Container Security
- Keep Docker images updated
- Scan images for vulnerabilities
- Run containers as non-root user (already configured)
- Limit container resources
-
Dependency Management
- Regularly update dependencies
- Monitor for security advisories
- Use tools like
pip-auditorsafety
-
Code Review
- All code changes require review
- Look for common vulnerabilities (injection, XSS, etc.)
- Use static analysis tools
-
Input Validation
- Validate all user inputs
- Sanitize data before processing
- Use Pydantic models for validation
-
Error Handling
- Don't expose sensitive information in error messages
- Log security events appropriately
- Implement proper exception handling
-
Authentication
- Use secure random key generation
- Implement rate limiting for auth endpoints
- Log authentication failures
-
Simplified Energy Calculations: Energy-related properties (conformer_energy, vdw_energy, etc.) use simplified estimation formulas rather than full molecular dynamics simulations. These values are approximations suitable for relative comparisons but should not be used for absolute energy predictions. For production-grade energy calculations, integrate with dedicated MD engines like OpenMM or GROMACS.
-
Rate Limiting: Implemented via slowapi middleware (default: 100 requests/minute). Configure via the
RATE_LIMITenvironment variable for different limits. -
HTTPS: Not configured by default. Users must deploy behind a reverse proxy with SSL/TLS.
Subscribe to security advisories:
- Watch the repository and enable security alerts
- Check Security Advisories
- We follow responsible disclosure practices
- We'll work with reporters to understand and fix issues
- We'll publicly disclose issues after fixes are released
- We'll credit security researchers (unless they prefer anonymity)
For security-related questions: security@novomcp.com
Thank you for helping keep NovoMD secure!