Gemma Agent is a single-tenant Telegram bot for a small trusted circle — not a multi-tenant SaaS. This policy describes what we protect, what we do not, and how to report issues.
Details: docs/security/security-model.md
After the repository is public:
- Prefer GitHub Security Advisories (private report).
- Do not open public issues with exploit steps, tokens, or user data dumps.
Include:
- Description and severity
- Affected file paths and versions
- Reproduction on current
master - Which trust boundary (below) is crossed
We do not operate a paid bug bounty program.
| Control | Purpose |
|---|---|
USER_ACCESS_APPROVAL_REQUIRED |
New users need admin approval |
ADMIN_USER_IDS |
Restricts /admin_*, /diag |
| Anti-flood / rate limits | Abuse throttling |
SecurityManager |
Suspicious links, file intake warnings |
security_layer module |
Optional encryption for tool payloads |
check_public_privacy.py |
Blocks secrets in git-tracked files |
- LLM boundary — Injection lines filtered; exfiltration blocked early. Sophisticated attacks still possible.
- Mem0 stub — Encrypted on disk when
ENCRYPTION_KEYset; use Mem0 server for multi-tenant isolation. - No app-level E2E — Telegram HTTPS transport only; set
ENCRYPTION_KEYfor memory at rest. - SearXNG — Queries are visible to your instance and search engines.
- Voice cloud — STT/TTS fallback may send audio to third-party APIs.
- Misconfiguration —
USER_ACCESS_APPROVAL_REQUIRED=falseopens the bot to anyone with the link.
Reports that only demonstrate the above limitations are out of scope for private security advisory — but welcome as documentation issues or hardening PRs.
- Admin command executable by non-admin
- Secret committed to git or logged in plaintext
- Path traversal in file intake
- Authentication bypass on ops HTTP API (if exposed)
- Remote code execution without admin intent
- “LLM said something wrong” (quality, not CVE)
- Mem0 stub readable on disk by same OS user (documented)
- SearXNG query metadata leakage to engines (operator risk)
-
.envchmod 600, never in git - Narrow
ADMIN_USER_IDS -
USER_ACCESS_APPROVAL_REQUIRED=truefor untrusted audiences - Rotate tokens if leaked
- Run
python scripts/agent_security_audit.pybefore release
| Version | Supported |
|---|---|
Latest release on master |
yes |
| Older tags | best effort |
| Private forks | operator responsibility |
Replace ManSio when publishing — config/repo_links.json.