We release patches for security vulnerabilities. Currently supported versions:
| Version | Supported |
|---|---|
| 1.2.x | ✅ |
| < 1.2 | ❌ |
Please do not report security vulnerabilities through public GitHub issues.
Instead, please report security vulnerabilities by emailing do-tester@proton.me with:
- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact of the vulnerability
- Suggested fix (if you have one)
- Acknowledgment: Within 48 hours of your report
- Initial assessment: Within 7 days
- Fix timeline: Depends on severity
- Critical: 1-7 days
- High: 7-14 days
- Medium: 14-30 days
- Low: 30-90 days
-
API Key Protection
- Never commit your Gemini API key to version control
- Use environment variables or secure key management
- Rotate API keys regularly
-
Script Execution
- Review scripts before execution
- Understand what permissions hooks require
- Use the latest version of the plugin
-
Content Validation
- Be aware that search results come from external sources
- Validate URLs before visiting them
- Review extracted content for relevance
-
Code Review
- All PRs require review before merging
- Security-sensitive changes require additional review
- Follow secure coding practices
-
Dependencies
- Keep dependencies up to date
- Review dependency changes for security issues
- Use
npm auditor equivalent tools
-
Input Validation
- Validate and sanitize all user inputs
- Prevent command injection in bash scripts
- Escape special characters appropriately
-
Secrets Management
- Never hardcode credentials
- Use environment variables for sensitive data
- Add sensitive files to
.gitignore
-
Content Size Limits
- Maximum content size: 100KB (configurable via
MAX_CONTENT_SIZE) - Prevents processing of oversized responses
- Maximum content size: 100KB (configurable via
-
URL Validation
- Validates URLs before processing
- Prevents malicious input injection
-
Timeout Protection
- All external operations have timeouts (default: 15s)
- Prevents hanging on unresponsive services
-
No Direct Web Scraping
- All web content comes through Gemini CLI's
google_web_searchtool - Zero direct HTTP requests or HTML parsing
- Reduces attack surface
- All web content comes through Gemini CLI's
-
Error Message Sanitization
- Error messages don't expose sensitive system information
- Structured logging prevents information leakage
-
Tool Restriction
- Gemini CLI restricted to only
google_web_searchtool via.gemini/settings.json - Prevents unauthorized tool usage
- Gemini CLI restricted to only
- Cache files are stored in
/tmp/gemini-search-cache/by default - On shared systems, consider setting
CACHE_DIRto a private location - Cache files contain search results and may include sensitive queries
- Logs may contain search queries and results
- Default locations:
/tmp/gemini-search.log/tmp/gemini-search-errors.log
- Consider log rotation and secure log storage in production
- Gemini CLI requires an API key configured via
gemini config - Ensure your API key is not exposed in:
- Environment variables in CI/CD
- Screenshot or screen recordings
- Log files or error messages
We follow responsible disclosure:
- Reporter submits vulnerability privately
- We confirm and assess the issue
- We develop and test a fix
- We release the fix and notify users
- We publicly acknowledge the reporter (if desired)
Security updates are released as patch versions (e.g., 1.2.1) and announced via:
- GitHub Security Advisories
- Release notes
- Email notification to repository watchers
For security concerns: do-tester@proton.me
For general questions: Open a GitHub issue
We thank the security researchers and community members who help keep this project secure.