mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-16 03:49:26 +00:00
src/openultrasast/source.py replaces the copies in semantic/functions.py, plane/tasks/repo_facts.py, learn/features.py, learn/excerpt.py and plane/tasks/verify.py. Two engines share one sentinel (<module>), one DECLARATION/KEYWORDS/RESERVED set and one alias map: the parser engine (ranges, enclosing, bounds, call_sites, callers_of, facts_for) for the scorer, the overlay and the hunter's annotations; the line-pattern engine (declared_functions, enclosing_at, function_span, function_bounds, the brace matcher) that labels, features, roles, excerpts and plane facts were built on. learn no longer imports plane.tasks. Frozen records that store the old sentinel are mapped on read (module_function). Gate: labels rebuilt before and after are identical, 7,921 rows, after sentinel normalisation (benchmarks/measurements/2026-10-13-source-module- label-diff/record.json). 490 targeted tests pass; 3,312 collect. Net: 657 lines deleted, 212 added. benchmarks/unseen keeps <global> for its own frozen manifests. Co-Authored-By: Claude Fable 5.1 <[email protected]>
30 lines
732 B
JSON
30 lines
732 B
JSON
{
|
|
"root": "/case",
|
|
"families": [
|
|
"injection"
|
|
],
|
|
"seconds": 58.6,
|
|
"questions": 1,
|
|
"completed": 1,
|
|
"completed_regions": [
|
|
"app/index.php:"
|
|
],
|
|
"degradations": [],
|
|
"findings": [
|
|
{
|
|
"site": "app/index.php:3:<module>",
|
|
"family": "injection",
|
|
"rung": "model_entailed",
|
|
"witness": "$_GET[\"id\"] -> mysqli_query($conn, \"SELECT * FROM users WHERE id = \" . $id) in app/index.php (line 3, 4 steps)",
|
|
"reached_from": 1
|
|
},
|
|
{
|
|
"site": "app/index.php:5:<module>",
|
|
"family": "injection",
|
|
"rung": "model_entailed",
|
|
"witness": "$_GET[\"host\"] -> system(\"ping \" . $_GET[\"host\"]) in app/index.php (line 5, 2 steps)",
|
|
"reached_from": 1
|
|
}
|
|
]
|
|
}
|