| Version | Supported |
|---|---|
| 1.0.x (latest) | ✅ Active |
| < 1.0.0 | ❌ Unsupported |
Do not open a public issue. Email security disclosures to:
You will receive a response within 48 hours. Perseus Computing LLC is a US-owned small business and treats security reports as confidential until a fix is published.
- Affected version(s)
- Steps to reproduce
- Impact assessment (what an attacker could do)
- Any suggested mitigations
- Acknowledgment — within 48 hours
- Triage — severity assessment within 5 business days
- Fix development — timeline depends on severity
- Coordinated disclosure — CVE assigned, fix released, advisory published
We support responsible disclosure and will credit reporters who follow this policy.
Perseus is a read-only context rendering engine. It does not:
- Write to your filesystem (except the output file you explicitly specify)
- Make network calls (except
@httpdirectives you explicitly author) - Execute arbitrary code (directives are resolved in a sandboxed interpreter)
- Store credentials or secrets
- Run as a daemon or persistent process
Note: Perseus can optionally expose network services via perseus serve (HTTP API) and perseus mcp serve (MCP stdio/SSE transport). These are disabled by default and require explicit opt-in. See the serve documentation for security considerations when enabling network access.
| Vector | Risk | Mitigation |
|---|---|---|
| Malicious YAML in context files | Low | yaml.safe_load() only — no arbitrary code execution |
| Directive injection via untrusted input | Medium | Directives are explicitly authored in .perseus/context.md — not user-submitted |
| Output file overwrite | None | perseus render --output writes to the path you specify — this is the intended behavior |
| Supply chain (PyPI) | Medium | SBOM published; SLSA attestation in development |
- You author the directives. Perseus resolves them. The assistant reads resolved output.
- Perseus never sees your assistant's conversation. It renders before the session starts.
- Perseus never sees your API keys. It runs locally, reads local files, writes local files.
| Standard | Status |
|---|---|
| NIST SP 800-53 | Mapping in progress |
| NIST AI RMF | Alignment documented |
| EO 14028 (SBOM) | SBOM published |
| CMMC | Not applicable (read-only tool, no CUI handling) |
- Single runtime dependency: PyYAML (MIT license, widely audited)
- No native extensions — pure Python
- SBOM published at docs/SBOM.md
- We monitor GitHub Advisory Database for PyYAML CVEs
- Dependency pinned with hash checking in progress
Security: perseus@perseus.observer PGP key: Available on request