fold/tests/benchmarks/differential/asan_pairs.json
trvon 2dcbdbc75d
feat: harden Fold quality guard
Preserve source, binary, and runtime evidence boundaries while making precision and performance regressions reproducible.

- decompose analysis orchestration into bounded modules
- add differential, metamorphic, organic, and Yams change-time gates
- fix detector, P-Code, fuzz sanitizer, and report identity precision
2026-07-13 15:05:35 -04:00

42 lines
1.5 KiB
JSON

{
"schema_version": 1,
"case_id": "source-asan-differential-pairs",
"case_type": "differential",
"origin": "synthetic",
"backend": "source",
"name": "source_asan_differential_pairs",
"description": "Paired vulnerable/fixed memory-safety cases must receive the same classification from Fold source analysis and replayed ASan.",
"expect": {},
"lineage": {
"vulnerable_revision": "fixture:vulnerable",
"fixed_revision": "fixture:fixed"
},
"runtime_tool": "asan",
"optimization": "-O0",
"differential_oracle": {
"agreement": "Fold and replayed ASan agree on vulnerable versus fixed classification",
"comparators": ["fold-source", "asan"]
},
"pairs": [
{
"name": "stack-array-out-of-bounds",
"hazard": "oob",
"detector": "oob",
"rule_id": "fold.oob-access",
"vulnerable_source": "../../fixtures/dast/stack_oob_vulnerable.cpp",
"fixed_source": "../../fixtures/dast/stack_oob_fixed.cpp",
"sanitizer": "address",
"runtime_regex": "AddressSanitizer: (?:stack|global)-buffer-overflow|(?:stack|global)-buffer-overflow"
},
{
"name": "heap-use-after-free",
"hazard": "use-after-free",
"detector": "use-after-free",
"rule_id": "fold.use-after-free",
"vulnerable_source": "../../fixtures/dast/uaf_vulnerable.cpp",
"fixed_source": "../../fixtures/dast/uaf_fixed.cpp",
"sanitizer": "address",
"runtime_regex": "AddressSanitizer: heap-use-after-free|heap-use-after-free"
}
]
}