Skip to content

SIG-184 Phase 3: stamp canonical vuln-class on SARIF results#32

Merged
damartinezjulio merged 1 commit into
mainfrom
sig-verified-rule-class-stamp
Jun 19, 2026
Merged

SIG-184 Phase 3: stamp canonical vuln-class on SARIF results#32
damartinezjulio merged 1 commit into
mainfrom
sig-verified-rule-class-stamp

Conversation

@damartinezjulio

Copy link
Copy Markdown
Contributor

@coderabbitai ignore
@Sigilix ignore

What

Emits properties.sigilixRuleClass on each SARIF result so the engine's receipt-join can corroborate a security finding into the VERIFIED proof tier (an independent runner scan flagging the same canonical vuln-class at the same path/line).

  • stamp_rule_classes(run, tool_id): maps native semgrep/opengrep ruleIds → canonical class (command-injection, sql-injection, …) via anchored patterns. Stamps only when exactly one class matches (collision-safe — ambiguous/colliding ruleId → left unset → engine treats as INCONCLUSIVE, never a wrong stamp). Strips any preexisting (untrusted) sigilixRuleClass first.
  • Wired into _main after cap/metadata (runs over the final assembled output).
  • Class strings match the engine's CanonicalVulnClass enum verbatim (kept in lockstep).

Credibility

Codex + DeepSeek sign-off: exact/anchored (not loose substring) + the exactly-one-class guard means a colliding ruleId is fail-safe, never mis-stamped. The engine re-validates against its allowlist regardless.

Verified

python3 .github/scripts/sigilix_sarif_test.py — 65 tests pass (incl. command-injection stamp, sql-vs-nosql disambiguation, unknown→unset, strip-preexisting, collision→unset, unknown-tool→strip-only).

Adds stamp_rule_classes: maps native semgrep/opengrep ruleIds to the engine's
CanonicalVulnClass via anchored patterns, stamping properties.sigilixRuleClass
ONLY when exactly one class matches (collision-safe → unset otherwise). Strips
any preexisting (untrusted) class first. Wired into the contract _main after
cap/metadata. Lets the engine receipt-join corroborate a finding into VERIFIED
when an independent scan flags the same class at the same location.
@damartinezjulio damartinezjulio merged commit 5c89913 into main Jun 19, 2026
5 checks passed
@damartinezjulio damartinezjulio deleted the sig-verified-rule-class-stamp branch June 19, 2026 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant