We take security vulnerabilities seriously. If you discover a security issue, please report it responsibly.
- Do NOT create a public GitHub issue for security vulnerabilities
- Send an email to:
[security contact email] - Include the following information:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Any suggested fixes (optional)
| Timeline | Action |
|---|---|
| Within 24 hours | Acknowledgment of your report |
| Within 48 hours | Initial assessment and triage |
| Within 7 days | Status update on the vulnerability |
| Within 30 days | Fix development and testing |
| Within 60 days | Release of fix (if applicable) |
- We will not pursue legal action against good-faith researchers
- We will credit researchers in security advisories (with permission)
- We will keep you informed throughout the resolution process
- We will follow responsible disclosure practices
| Version | Supported |
|---|---|
| 2.0.x | ✅ Yes |
| 1.x.x | |
| < 1.0 | ❌ No |
- Never commit API keys, tokens, or secrets to the repository
- Use environment variables via
.envfile (see.env.example) - The
.envfile is in.gitignoreand must never be committed - Rotate keys immediately if accidentally exposed
- All user inputs should be validated and sanitized
- Use
execFileinstead ofexecfor subprocess execution to avoid shell injection - Plugins should declare required permissions
- MCP server commands are validated before execution
- The SQLite database (
database.sqlite) is not tracked in git - Each user maintains their own local database
- The database is created automatically on first run
- Consider encrypting sensitive data stored in the database
- Dependencies are audited regularly via
npm audit - Automated dependency updates via Dependabot
- Pin dependency versions for reproducibility
- No secrets committed to repository
- API keys loaded from environment variables
- Input validation on all user-facing commands
- Plugin permissions enforced at runtime
- MCP server arguments sanitized
- Database not tracked in version control
- Dependencies up to date with no known vulnerabilities
-
.envfile in.gitignore - Logs do not contain sensitive information
We follow a 90-day responsible disclosure timeline:
- Day 0: Report received and acknowledged
- Day 1-2: Triage and impact assessment
- Day 3-14: Fix development
- Day 15-21: Testing and code review
- Day 22-28: Patch release preparation
- Day 29: Public disclosure and advisory
- Day 30-90: User notification and upgrade support