gruff-php is a static-analysis tool. It scans source trees and may inspect
PHP, YAML, JSON, XML, lockfiles, environment-like text, and generated reports.
Treat analyzer output as sensitive when scanning private code.
| Version | Supported |
|---|---|
0.1.x |
Supported. |
<0.1.0 |
Development snapshots only. |
Do not open a public issue for a vulnerability that could expose secrets, execute commands, bypass path boundaries, corrupt files, or leak private source content.
Preferred reporting path for the public GitHub repository:
- Use GitHub private vulnerability reporting for
https://github.com/blundergoat/gruff-phpor a private security advisory. - Include the affected version or commit.
- Include a minimal reproduction.
- State whether the issue affects normal local use, CI use, dashboard use, or report generation.
If private reporting is unavailable in the repository UI, open a public issue that asks for a private security contact and do not include exploit details, private source, or secret values.
Security-sensitive areas include:
- Dashboard HTTP request handling.
- Git diff and base-ref handling.
- Baseline and trend-history file writes.
- Infection execution via
--infection-run. - Shell/process argument construction.
- HTML, Markdown, SARIF, GitHub annotation, and JSON report escaping.
- Sensitive-data detection and redaction.
- Path discovery and ignored-path handling.
sensitive-data.* findings are redacted, but reports may still reveal file
paths, line numbers, rule ids, and redacted previews. Store reports with the
same care as source-code review artifacts.
If gruff reports a real secret:
- Rotate or revoke the secret first.
- Remove it from source history if required by your incident process.
- Add a baseline or allowlist only after confirming the value is not live.
Do not use allowlists.secretPreviews to hide active credentials.