Why it matters
One language covers three jobs: ad-hoc filtering during a scan, repeatable queries over saved scan data, and enforceable policy. You learn the syntax once and reuse it everywhere.What you can reference
A CEL expression in Vet receives this data about each package:| Variable | What it holds |
|---|---|
pkg | Package coordinates: ecosystem, name, version |
vulns | Vulnerabilities by severity: all, critical, high, medium, low (each item has an id) |
scorecard | OpenSSF Scorecard data: score and per-check scores["Check-Name"] |
projects | Source projects: name, type, stars, forks, issues |
licenses | SPDX license identifiers |
scorecard.scores["Token-Permissions"].
Related
Filtering
The full filter input structure and recipes.
Build Your Own Queries
Reuse CEL over saved scan data.
Policy
How CEL rules become enforceable policy.
Policy as Code
Write policy files with CEL.

