Findings and reports
Finding schema, example payloads, and how reports are rendered.
Laravel Auditor does not invent findings. The agent produces them; the package stores, validates, and renders them.
Finding JSON
See resources/auditor/schema/finding.schema.json and resources/auditor/examples/findings.json.
Required fields: id, rule_id, title, domain, severity, confidence, summary, why_it_matters.
Include whenever possible: evidence, affected_resources, symbol, recommendation, remediation, verification_notes.
Optional metadata:
subsystem— inventory ID fromauditor:context subsystemspriority—p0,p1,p2, orp3
Severity and confidence
- Severity:
critical,high,medium,low,info - Confidence:
confirmed,high,medium,low
A high-severity claim with thin evidence should carry medium or low confidence.
Priority tiers
If metadata.priority is omitted, Auditor derives a tier:
- P0 — critical, or high security/database
- P1 — other high, or medium security
- P2 — medium
- P3 — low / info
Reports print a Priority synthesis so every promoted ID appears once.
Commands
php artisan auditor:report --findings=storage/auditor-findings.json --format=markdown
php artisan auditor:report --example
php artisan auditor:report --findings=storage/auditor-findings.json --format=sarif
php artisan auditor:ci --findings=storage/auditor-findings.json --fail-on=high