If you discover a security vulnerability in this project, please report it responsibly:
- Do NOT open a public issue
- Email the maintainers directly (add your email here)
- Provide detailed information about the vulnerability
- Allow time for a fix before public disclosure
| Version | Supported |
|---|---|
| Latest | ✅ |
| Older | ❌ |
When using this project:
- ? NEVER commit
.envfiles to Git - ? Use environment variables in production
- ? Rotate API keys regularly
- ? Use secret management systems (e.g., Azure Key Vault, AWS Secrets Manager)
- ? Use authorized recipients list for sandbox domains
- ? Validate email addresses before sending
- ? Consider rate limiting in production
- ? Monitor API usage and costs
- ? Set spending limits in OpenAI dashboard
- ? Use least-privilege API keys
- ? The
/data/state.jsonfile may contain sensitive information - ? Ensure proper file permissions in production
- ? Consider encryption for sensitive data
- ? Regularly update NuGet packages
- ? Monitor for security advisories
- ? Use
dotnet list package --vulnerableto check for vulnerabilities
-
Price Scraping: The
NaivePriceFetcheruses simple web scraping which may expose you to malicious content. Consider using official APIs when available. -
RSS Feeds: Untrusted RSS feeds could contain malicious content. The current implementation has basic error handling but should be enhanced for production use.
-
State File: The
state.jsonfile is stored in plain text. Consider encryption if it contains sensitive information.
- Use HTTPS for all API calls (already default)
- Implement request timeouts and retries
- Add input validation and sanitization
- Use structured logging with sanitization
- Implement rate limiting for external APIs
- Set up monitoring and alerting
- Use containerization with minimal base images
- Run with least-privilege user accounts
Regular security checks:
dotnet list package --vulnerable
dotnet list package --outdatedThank you for helping keep this project secure!