Repository navigation
Security Model
Utsha Basak edited this page Oct 24, 2026
·
1 revision
Prohori is a defensive tool. It contains no exploit code, scanners or attack tooling, and its simulator writes log files only; it never sends network traffic.
Everything Prohori reads may have been written by an attacker. The design therefore requires:
- Bounded line and field sizes; control and ANSI characters stripped.
- Safe YAML loading only; no
eval; no pickle on untrusted data. - Escaped output in HTML and Markdown reports; CSV formula injection neutralised.
- Timeouts on all HTTP calls; no infinite retries.
- Usernames, user agents and paths treated as data, never as instructions, including by the optional LLM analyst.
API keys come only from environment variables or a git-ignored .env file. Secrets are never
written to logs, reports or caches. Secret scanning runs in pre-commit and CI (gitleaks), and
GitHub push protection is enabled.
- Sample data is synthetic and uses documentation IP ranges.
- Private, reserved and documentation IP ranges are never sent to external enrichment services.
- Reports support redaction of usernames, emails and IP addresses.
- The LLM analyst is opt-in, off by default, and redacts incidents before sending them.
CodeQL, OpenSSF Scorecard, Dependabot and a committed lock file.
Use GitHub private vulnerability reporting. Details are in
SECURITY.md. A full threat model will be published in
docs/THREAT_MODEL.md.
Repository · Changelog · Security · MIT License
Prohori
Contributing
Reference