Report schema and versioning
Use stable report fields and keep engine, ruleset, scoring, CLI, and Action versions visible.
Top-level result
- url or target and the completion date.
- score, grade, total penalty, and exclusion detail where available.
- engine_version, ruleset_version, and scoring_version.
- Selected modules, coverage, errors, and metrics when the surface provides them.
- The findings array.
Finding fields
- rule_id and fingerprint.
- severity, classification, and confidence.
- module, title, detail, evidence, and recommendation.
- Source location when mapping is available.
- Engine and ruleset versions attached by the normalized result model.
Minimal JSON shape
Track versions independently
- Engine version identifies the VICE implementation that ran the checks.
- Ruleset version identifies detection policy and rule behavior.
- Scoring version identifies penalties, exclusions, and grade behavior.
- CLI package version identifies the installed vice-security release.
- GitHub Action version identifies the public Action release used by the workflow.
Compare with context
A score delta after a ruleset or scoring update can reflect better detection rather than an application change. Keep version, selected module, baseline, and coverage metadata beside every stored result.
Use the stable identifiers
Automate against rule_id, fingerprint, and documented schema fields. Do not parse human-readable finding titles as identifiers.
Continue with VICE
Run a web security audit with VICE Platform.