OpenCode Senses is a local-first vision plugin. Images and analysis never leave your machine unless you explicitly opt into a remote provider (senses_reverse with yandex/saucenao/tracemoe, or Moondream hosted finetunes via MOONDREAM_API_KEY).
| Version | Supported |
|---|---|
| Latest npm release | Yes |
main branch |
Yes (best effort) |
| Older releases | No |
Please do not open a public issue for security problems. Report privately instead:
- Email: reach out via a private security advisory
- GitHub: use the "Report a vulnerability" button on the repository's Security tab
Please include, where possible:
- A description of the vulnerability and its impact
- Steps to reproduce (minimal, please)
- Affected versions and configurations
- Suggested fix, if you have one
You will receive a response within 7 days, and we will work with you on a coordinated disclosure. If you found a real issue, you also have our genuine thanks and a place in the release notes (if you want one).
Things we consider in-scope for security review:
- Prompt injection: any new code path that lets image-derived text reach the model outside the
<SENSES>untrusted-data guards - Remote fetch:
pathacceptinghttp(s)://URLs — SSRF considerations, size/timeout handling, file-type verification - Path handling: materialized files in
/tmp, crops/zooms/annotations in the cache dir, reverse-search index — no path traversal, no symlink tricks - Runtime provisioning: the auto-installed Python venv and model weight downloads are checksum-less third-party artifacts; treat supply-chain risk seriously
- Local-only guarantee: no hidden telemetry, no background uploads, ever
- Bugs, crashes, or poor OCR quality are normal issues, not vulnerabilities. Open them as regular issues.
- The vision model being imperfect at reading text is a feature request, not a breach. It is, after all, a small model with big feelings.