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
42 lines
1.5 KiB
JSON
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"
|
|
}
|
|
]
|
|
}
|