perf sentineldocs
ENGitHub
Documentation / SARIF

Référence du format SARIF

perf-sentinel émet du SARIF v2.1.0 via --format sarif sur analyze et diff. Cette référence liste les champs peuplés par result. Pour le workflow d'acknowledgments cross-format, voir Acquittements.

Champs par result

ChampSourceNotes
ruleIdFinding.finding_typeIdentifiant de règle en snake-case (n_plus_one_sql, redundant_http, ...).
levelFinding.severityerror pour critical, warning pour warning, note pour info.
message.textcomposé à partir des champs de FindingRésumé lisible incluant occurrences et fenêtre.
logicalLocations[0]Finding.servicekind: "module".
logicalLocations[1]Finding.source_endpointkind: "function".
properties.confidenceFinding.confidenceUne valeur parmi ci_batch, daemon_staging, daemon_production. Lue par perf-lint pour ajuster la sévérité IDE.
properties.signatureFinding.signatureSignature canonique, également exposée dans fingerprints. Omise quand vide (baselines pré-0.5.17).
properties.acknowledged--show-acknowledgedtrue pour les entrées acknowledged, omis pour les findings normaux.
properties.acknowledgmentReason / acknowledgmentBy / acknowledgmentAtmetadata d'ackCaractères BiDi et invisibles strippés avant émission (défense Trojan Source).
rankFinding.confidence.sarif_rank()Entier de 0 à 100. ci_batch=30, daemon_staging=60, daemon_production=90.
locations[]Finding.code_locationLocalisation source physique, peuplée quand l'agent d'instrumentation émet les attributs de span code.filepath et code.lineno. Les filepaths hostiles (absolus, traversal, BiDi, percent-encodés) sont rejetés à l'émission.
fixes[]Finding.suggested_fixObjet SARIF fix description-only, recommandation en texte libre sous description.text.
fingerprints["perfsentinel/v1"]Finding.signatureFingerprint SARIF v2.1.0 section 3.27.17. Utilisé par GitHub Code Scanning et GitLab SAST pour la déduplication cross-run. Omis quand la signature est vide.

Tool

runs[].tool.driver est toujours { name: "perf-sentinel", version: <CARGO_PKG_VERSION>, informationUri: "https://github.com/robintra/perf-sentinel" }. Le tableau rules pré-déclare les 10 types de findings, peu importe combien de results sont émis, pour que les consumers SARIF puissent afficher les descriptions de règles même sur un run propre.

Schema

$schema pointe vers https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sarif-2.1/schema/sarif-schema-2.1.0.json.