Refactor code structure for improved readability and maintainability; optimize performance in key functions.
This commit is contained in:
@@ -1,157 +1,296 @@
|
||||
{
|
||||
"schema_version": "stellaops.corpus.manifest/v1",
|
||||
"corpus_version": "1.0.0",
|
||||
"generated_at": "2025-01-15T00:00:00Z",
|
||||
"total_cases": 12,
|
||||
"categories": {
|
||||
"severity-levels": 4,
|
||||
"vex-scenarios": 4,
|
||||
"reachability": 3,
|
||||
"composite": 1
|
||||
},
|
||||
"generatedAt": "2025-12-22T13:59:40Z",
|
||||
"caseCount": 58,
|
||||
"cases": [
|
||||
{
|
||||
"case_id": "critical-log4shell-CVE-2021-44228",
|
||||
"path": "severity-levels/critical/log4shell-CVE-2021-44228",
|
||||
"category": "severity-levels/critical",
|
||||
"cve_id": "CVE-2021-44228",
|
||||
"expected_score": 10.0,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case001",
|
||||
"sbom.spdx.json": "sha256:sbom001",
|
||||
"manifest.json": "sha256:manifest001",
|
||||
"callgraph.json": "sha256:callgraph001",
|
||||
"expected-score.json": "sha256:expected001"
|
||||
}
|
||||
"id": "extra-001",
|
||||
"path": "bench/golden-corpus/categories/composite/extra-001",
|
||||
"manifestDigest": "sha256:8b2d680e37f79938f10d4bc6393e0d379bcbc480558e4e44079fd68fad9f284e"
|
||||
},
|
||||
{
|
||||
"case_id": "high-http2-rapid-reset-CVE-2023-44487",
|
||||
"path": "severity-levels/high/http2-rapid-reset-CVE-2023-44487",
|
||||
"category": "severity-levels/high",
|
||||
"cve_id": "CVE-2023-44487",
|
||||
"expected_score": 7.8,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case002",
|
||||
"expected-score.json": "sha256:expected002"
|
||||
}
|
||||
"id": "extra-002",
|
||||
"path": "bench/golden-corpus/categories/composite/extra-002",
|
||||
"manifestDigest": "sha256:b8fc8b62bc5e79c8c6a942f1c9af65c3e10f612d1fd77399239474fa81f7be29"
|
||||
},
|
||||
{
|
||||
"case_id": "medium-json-dos-CVE-2024-12345",
|
||||
"path": "severity-levels/medium/json-dos-CVE-2024-12345",
|
||||
"category": "severity-levels/medium",
|
||||
"cve_id": "CVE-2024-12345",
|
||||
"expected_score": 3.2,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case003",
|
||||
"expected-score.json": "sha256:expected003"
|
||||
}
|
||||
"id": "extra-003",
|
||||
"path": "bench/golden-corpus/categories/composite/extra-003",
|
||||
"manifestDigest": "sha256:52682e305fb67b2a889c0bf9802a9cf21b61eebe9ff76300268234c6b0e42753"
|
||||
},
|
||||
{
|
||||
"case_id": "low-info-disclosure-CVE-2024-99999",
|
||||
"path": "severity-levels/low/info-disclosure-CVE-2024-99999",
|
||||
"category": "severity-levels/low",
|
||||
"cve_id": "CVE-2024-99999",
|
||||
"expected_score": 3.1,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case004",
|
||||
"expected-score.json": "sha256:expected004"
|
||||
}
|
||||
"id": "extra-004",
|
||||
"path": "bench/golden-corpus/categories/composite/extra-004",
|
||||
"manifestDigest": "sha256:bb7d54339a668b08a0d634adfa4619c428ad0158e546fe89c7a94e9916bea66c"
|
||||
},
|
||||
{
|
||||
"case_id": "vex-not-affected-component-not-present",
|
||||
"path": "vex-scenarios/not-affected/component-not-present",
|
||||
"category": "vex-scenarios/not-affected",
|
||||
"cve_id": "CVE-2023-99998",
|
||||
"expected_score": 0.0,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case005",
|
||||
"vex.openvex.json": "sha256:vex005",
|
||||
"expected-score.json": "sha256:expected005"
|
||||
}
|
||||
"id": "extra-005",
|
||||
"path": "bench/golden-corpus/categories/composite/extra-005",
|
||||
"manifestDigest": "sha256:2602f5e23139c576d084bfc8689ca2f33a66601c81ec7e3ca4423931be0dd803"
|
||||
},
|
||||
{
|
||||
"case_id": "vex-affected-action-required",
|
||||
"path": "vex-scenarios/affected/action-required",
|
||||
"category": "vex-scenarios/affected",
|
||||
"cve_id": "CVE-2023-99997",
|
||||
"expected_score": 8.2,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case006",
|
||||
"vex.openvex.json": "sha256:vex006",
|
||||
"expected-score.json": "sha256:expected006"
|
||||
}
|
||||
"id": "extra-006",
|
||||
"path": "bench/golden-corpus/categories/composite/extra-006",
|
||||
"manifestDigest": "sha256:19584fe2a59f0bb47c2d9eb06ad52db5f882fec47e5077763b72d1a6875c2504"
|
||||
},
|
||||
{
|
||||
"case_id": "vex-fixed-remediated",
|
||||
"path": "vex-scenarios/fixed/remediated",
|
||||
"category": "vex-scenarios/fixed",
|
||||
"cve_id": "CVE-2021-44228",
|
||||
"expected_score": 0.0,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case007",
|
||||
"vex.openvex.json": "sha256:vex007",
|
||||
"expected-score.json": "sha256:expected007"
|
||||
}
|
||||
"id": "extra-007",
|
||||
"path": "bench/golden-corpus/categories/composite/extra-007",
|
||||
"manifestDigest": "sha256:6f6d56a64fad416e53ebeb2d12fb2393737aa7b771c0141f73088164029c99bf"
|
||||
},
|
||||
{
|
||||
"case_id": "vex-under-investigation",
|
||||
"path": "vex-scenarios/under-investigation/pending-analysis",
|
||||
"category": "vex-scenarios/under-investigation",
|
||||
"cve_id": "CVE-2025-00001",
|
||||
"expected_score": 6.5,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case008",
|
||||
"vex.openvex.json": "sha256:vex008",
|
||||
"expected-score.json": "sha256:expected008"
|
||||
}
|
||||
"id": "extra-008",
|
||||
"path": "bench/golden-corpus/categories/composite/extra-008",
|
||||
"manifestDigest": "sha256:5be0bf6d21913e7cab7bc1c78fbb7cd85c6ec172c2ba7f345339c331f3e9e2bf"
|
||||
},
|
||||
{
|
||||
"case_id": "reachability-confirmed-reachable",
|
||||
"path": "reachability/reachable/confirmed-path",
|
||||
"category": "reachability/reachable",
|
||||
"cve_id": "CVE-2024-11111",
|
||||
"expected_score": 7.9,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case009",
|
||||
"callgraph.json": "sha256:callgraph009",
|
||||
"expected-score.json": "sha256:expected009"
|
||||
}
|
||||
"id": "distro-001",
|
||||
"path": "bench/golden-corpus/categories/distro/distro-001",
|
||||
"manifestDigest": "sha256:807f05b52af01121042713216e45f2ffc26cd720b687ba3e38a2939ce2e2416a"
|
||||
},
|
||||
{
|
||||
"case_id": "reachability-unreachable-dead-code",
|
||||
"path": "reachability/unreachable/dead-code",
|
||||
"category": "reachability/unreachable",
|
||||
"cve_id": "CVE-2024-22222",
|
||||
"expected_score": 4.2,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case010",
|
||||
"callgraph.json": "sha256:callgraph010",
|
||||
"expected-score.json": "sha256:expected010"
|
||||
}
|
||||
"id": "distro-002",
|
||||
"path": "bench/golden-corpus/categories/distro/distro-002",
|
||||
"manifestDigest": "sha256:f170ec546016920b0926535af4be4bc231eeb919182824e23c04a105bee82377"
|
||||
},
|
||||
{
|
||||
"case_id": "reachability-unknown-analysis-incomplete",
|
||||
"path": "reachability/unknown/analysis-incomplete",
|
||||
"category": "reachability/unknown",
|
||||
"cve_id": "CVE-2024-33333",
|
||||
"expected_score": 6.5,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case011",
|
||||
"expected-score.json": "sha256:expected011"
|
||||
}
|
||||
"id": "distro-003",
|
||||
"path": "bench/golden-corpus/categories/distro/distro-003",
|
||||
"manifestDigest": "sha256:2c329c64d433de89db044acc1f421377a54ec50e3b37be4d2c007641e84b01d3"
|
||||
},
|
||||
{
|
||||
"case_id": "composite-reachable-with-vex-mitigated",
|
||||
"path": "composite/reachable-with-vex/mitigated",
|
||||
"category": "composite/reachable-with-vex",
|
||||
"cve_id": "CVE-2024-44444",
|
||||
"expected_score": 2.5,
|
||||
"files_hash": {
|
||||
"case.json": "sha256:case012",
|
||||
"vex.openvex.json": "sha256:vex012",
|
||||
"callgraph.json": "sha256:callgraph012",
|
||||
"expected-score.json": "sha256:expected012"
|
||||
}
|
||||
"id": "distro-004",
|
||||
"path": "bench/golden-corpus/categories/distro/distro-004",
|
||||
"manifestDigest": "sha256:4edbf541b6301ff191c22538a9d6d79fc1abccb94b04b5a410e128927fd33659"
|
||||
},
|
||||
{
|
||||
"id": "distro-005",
|
||||
"path": "bench/golden-corpus/categories/distro/distro-005",
|
||||
"manifestDigest": "sha256:2415620e66182951df844ab6938a8fbcbbc3f19547984aed7df984cf6b88f908"
|
||||
},
|
||||
{
|
||||
"id": "interop-001",
|
||||
"path": "bench/golden-corpus/categories/interop/interop-001",
|
||||
"manifestDigest": "sha256:959d3ccf0ac2027bf28b3bc3d3e7c616b51e66cc39da4962407598071d2b630a"
|
||||
},
|
||||
{
|
||||
"id": "interop-002",
|
||||
"path": "bench/golden-corpus/categories/interop/interop-002",
|
||||
"manifestDigest": "sha256:e2c11114f5760bfc27d01b1de8cb177a0cd4d104406c5f12584203514503cb14"
|
||||
},
|
||||
{
|
||||
"id": "interop-003",
|
||||
"path": "bench/golden-corpus/categories/interop/interop-003",
|
||||
"manifestDigest": "sha256:cc5a2af7948bb29045598cfa4700c3c18fc9b750ef96b552a89e97fd66c273b1"
|
||||
},
|
||||
{
|
||||
"id": "interop-004",
|
||||
"path": "bench/golden-corpus/categories/interop/interop-004",
|
||||
"manifestDigest": "sha256:8faa643b8e34b90895bc7eedc6c038386c58e349323330b0c8169b578adc5314"
|
||||
},
|
||||
{
|
||||
"id": "interop-005",
|
||||
"path": "bench/golden-corpus/categories/interop/interop-005",
|
||||
"manifestDigest": "sha256:6f8e7c12a82efb24d4c17bfa2a3a09c09c6f8ab165ed7aab59d905cbe17dde00"
|
||||
},
|
||||
{
|
||||
"id": "neg-001",
|
||||
"path": "bench/golden-corpus/categories/negative/neg-001",
|
||||
"manifestDigest": "sha256:419ce9faae0997906e8ccc50520e70e53e74227bc28df7134563d706e738137f"
|
||||
},
|
||||
{
|
||||
"id": "neg-002",
|
||||
"path": "bench/golden-corpus/categories/negative/neg-002",
|
||||
"manifestDigest": "sha256:025dcc018c3bd1a8bee821175207a463f62904da17ca1344b100f359ca988f9b"
|
||||
},
|
||||
{
|
||||
"id": "neg-003",
|
||||
"path": "bench/golden-corpus/categories/negative/neg-003",
|
||||
"manifestDigest": "sha256:c76201149fb41324ff2f1f26122b2f84437e31abb6ea41d7cfd576efccf16fc2"
|
||||
},
|
||||
{
|
||||
"id": "neg-004",
|
||||
"path": "bench/golden-corpus/categories/negative/neg-004",
|
||||
"manifestDigest": "sha256:939391f16f384c9902048436172bf11fac67a162fc96abb1b63a725140557a9a"
|
||||
},
|
||||
{
|
||||
"id": "neg-005",
|
||||
"path": "bench/golden-corpus/categories/negative/neg-005",
|
||||
"manifestDigest": "sha256:7bc91a2b6af259ed89df256a1b76772a429b9b466a8e69e57848add9e1362793"
|
||||
},
|
||||
{
|
||||
"id": "neg-006",
|
||||
"path": "bench/golden-corpus/categories/negative/neg-006",
|
||||
"manifestDigest": "sha256:c5649800fb31f3e21b78b4d77ee8a4ccd9b0ef6a3a9d52c0c9e45fd60d5ccb0f"
|
||||
},
|
||||
{
|
||||
"id": "reach-001",
|
||||
"path": "bench/golden-corpus/categories/reachability/reach-001",
|
||||
"manifestDigest": "sha256:f087e3853668d879735c6cfeba29bbbecb576ee1a1fe5bc253a1a43db4a2f466"
|
||||
},
|
||||
{
|
||||
"id": "reach-002",
|
||||
"path": "bench/golden-corpus/categories/reachability/reach-002",
|
||||
"manifestDigest": "sha256:e72931fa393814f0e138aa9651b4874fd760937f2ebeccd2d3547ded09ef7b84"
|
||||
},
|
||||
{
|
||||
"id": "reach-003",
|
||||
"path": "bench/golden-corpus/categories/reachability/reach-003",
|
||||
"manifestDigest": "sha256:cfe18f4f1f71a76094f4ffbf976edad34ab73cda58a8cc9318bc2c58a79e3938"
|
||||
},
|
||||
{
|
||||
"id": "reach-004",
|
||||
"path": "bench/golden-corpus/categories/reachability/reach-004",
|
||||
"manifestDigest": "sha256:25785d8fb83b242121e3f2c95b5a6002dc5c75bcca4c6f6e8f99357d71bf20aa"
|
||||
},
|
||||
{
|
||||
"id": "reach-005",
|
||||
"path": "bench/golden-corpus/categories/reachability/reach-005",
|
||||
"manifestDigest": "sha256:5f92bbabba3b68f371a73a3d3206cd831f9cd62b08d15f7b5f99f0d632f5049a"
|
||||
},
|
||||
{
|
||||
"id": "reach-006",
|
||||
"path": "bench/golden-corpus/categories/reachability/reach-006",
|
||||
"manifestDigest": "sha256:a7cb98fd43abfcdce7a2cc8c9d84426cbc74af7c4ab88501c17dd83186166e63"
|
||||
},
|
||||
{
|
||||
"id": "reach-007",
|
||||
"path": "bench/golden-corpus/categories/reachability/reach-007",
|
||||
"manifestDigest": "sha256:db09b1ef6855580a83eb41d8b9aface910f7f5e14f8dd6f31a34126d6f1dcf8f"
|
||||
},
|
||||
{
|
||||
"id": "reach-008",
|
||||
"path": "bench/golden-corpus/categories/reachability/reach-008",
|
||||
"manifestDigest": "sha256:296ef6bbcde3489471c86bb7a10debf2ce634798f64559c1435cee1e570fcc71"
|
||||
},
|
||||
{
|
||||
"id": "scale-001",
|
||||
"path": "bench/golden-corpus/categories/scale/scale-001",
|
||||
"manifestDigest": "sha256:ca92e26d15755070a8993a516a0353e17b462e1fe0f866a91c553f5b8f834931"
|
||||
},
|
||||
{
|
||||
"id": "scale-002",
|
||||
"path": "bench/golden-corpus/categories/scale/scale-002",
|
||||
"manifestDigest": "sha256:09e5745709e1991fcd6bad6b4cd729851a692817431184c3f2c6b9eb5d5735d1"
|
||||
},
|
||||
{
|
||||
"id": "scale-003",
|
||||
"path": "bench/golden-corpus/categories/scale/scale-003",
|
||||
"manifestDigest": "sha256:85a7a2405ada72bfcde4e3fe931ce89226e4479734961c38f2f5d31462bb49c6"
|
||||
},
|
||||
{
|
||||
"id": "scale-004",
|
||||
"path": "bench/golden-corpus/categories/scale/scale-004",
|
||||
"manifestDigest": "sha256:ca0371cd920d24b5873af142e9edcdadc7394d39dfa631375c057a014904440a"
|
||||
},
|
||||
{
|
||||
"id": "sev-001",
|
||||
"path": "bench/golden-corpus/categories/severity/sev-001",
|
||||
"manifestDigest": "sha256:3cfc5b69f3a7ae8d156065065d99efd22ed166beb6e83f77edf78091cc27649b"
|
||||
},
|
||||
{
|
||||
"id": "sev-002",
|
||||
"path": "bench/golden-corpus/categories/severity/sev-002",
|
||||
"manifestDigest": "sha256:c221ef1a7ba49a6160b5eee87be3398d602963855be1e3e30126d52353ac5c05"
|
||||
},
|
||||
{
|
||||
"id": "sev-003",
|
||||
"path": "bench/golden-corpus/categories/severity/sev-003",
|
||||
"manifestDigest": "sha256:574f0efb32bc89ea2a46d70b8dfa21ca9b31e9c143db8c65fa5600851335ad85"
|
||||
},
|
||||
{
|
||||
"id": "sev-004",
|
||||
"path": "bench/golden-corpus/categories/severity/sev-004",
|
||||
"manifestDigest": "sha256:7cff18526f7345ad1d40a4f8fc80abd46d9ac3a3c5f05657c8d7a0a4c81f5c11"
|
||||
},
|
||||
{
|
||||
"id": "sev-005",
|
||||
"path": "bench/golden-corpus/categories/severity/sev-005",
|
||||
"manifestDigest": "sha256:eb94d5cbbafc019509fb7ce839fe2509ba53fa2bc042d3402a96c65179836aaf"
|
||||
},
|
||||
{
|
||||
"id": "sev-006",
|
||||
"path": "bench/golden-corpus/categories/severity/sev-006",
|
||||
"manifestDigest": "sha256:4fe746729a50e2f2eb515817e46200b430025ae4e2c3c9906d75d195a467c803"
|
||||
},
|
||||
{
|
||||
"id": "sev-007",
|
||||
"path": "bench/golden-corpus/categories/severity/sev-007",
|
||||
"manifestDigest": "sha256:893871fac54bd4b97cde5f22753d61212080bdfb733c87da264e7228360562fa"
|
||||
},
|
||||
{
|
||||
"id": "sev-008",
|
||||
"path": "bench/golden-corpus/categories/severity/sev-008",
|
||||
"manifestDigest": "sha256:2b6eb2d775606df3afa0f8e27df8d0f8725e7095901899e800c05b0b449e4331"
|
||||
},
|
||||
{
|
||||
"id": "unk-001",
|
||||
"path": "bench/golden-corpus/categories/unknowns/unk-001",
|
||||
"manifestDigest": "sha256:1cb9a3e24ca28a8b222a1ea65a8b4bd1805a7d8b301f2f2322997157bd6b5fae"
|
||||
},
|
||||
{
|
||||
"id": "unk-002",
|
||||
"path": "bench/golden-corpus/categories/unknowns/unk-002",
|
||||
"manifestDigest": "sha256:4017233d481e7b7de528c4c8fd0147391517e08279ac367610d14331b44eaaf4"
|
||||
},
|
||||
{
|
||||
"id": "unk-003",
|
||||
"path": "bench/golden-corpus/categories/unknowns/unk-003",
|
||||
"manifestDigest": "sha256:900468b30be034d2ae5bb3b0de502f9e1af4e9c0d02b0b5213d3a351269dd0ac"
|
||||
},
|
||||
{
|
||||
"id": "unk-004",
|
||||
"path": "bench/golden-corpus/categories/unknowns/unk-004",
|
||||
"manifestDigest": "sha256:74d3ecbeab0977d560b620edc70805a0a9951fdd0fd23880d066984e11284bc7"
|
||||
},
|
||||
{
|
||||
"id": "unk-005",
|
||||
"path": "bench/golden-corpus/categories/unknowns/unk-005",
|
||||
"manifestDigest": "sha256:16abe9efff48ae81e7787c442cd41c75deef324bf4c807292e355bc6e4e73ecf"
|
||||
},
|
||||
{
|
||||
"id": "unk-006",
|
||||
"path": "bench/golden-corpus/categories/unknowns/unk-006",
|
||||
"manifestDigest": "sha256:2bdc663875a3ccb7b0a9350cf9e82bbbe7d3c04c2e5029430a1920d0118d48e5"
|
||||
},
|
||||
{
|
||||
"id": "vex-001",
|
||||
"path": "bench/golden-corpus/categories/vex/vex-001",
|
||||
"manifestDigest": "sha256:4e821290aecae61347b830f2b0103d6e2fabad6ac6a8bde953af204f994c9517"
|
||||
},
|
||||
{
|
||||
"id": "vex-002",
|
||||
"path": "bench/golden-corpus/categories/vex/vex-002",
|
||||
"manifestDigest": "sha256:20b114c416162a7c354e599d5e7a01f6be593ca8b2b173daaa6acfe86b5cff51"
|
||||
},
|
||||
{
|
||||
"id": "vex-003",
|
||||
"path": "bench/golden-corpus/categories/vex/vex-003",
|
||||
"manifestDigest": "sha256:67996e97934dfc67c70c20f091e859846b7b17c92229e430f2b0711a31b2bd02"
|
||||
},
|
||||
{
|
||||
"id": "vex-004",
|
||||
"path": "bench/golden-corpus/categories/vex/vex-004",
|
||||
"manifestDigest": "sha256:a4f13f489c95fecf91c7f626a3e648261ff64a91d9252d4143d72e9acc6b0663"
|
||||
},
|
||||
{
|
||||
"id": "vex-005",
|
||||
"path": "bench/golden-corpus/categories/vex/vex-005",
|
||||
"manifestDigest": "sha256:e604463b2ebb351f305a36e978903a5988cbcb21a23c319292b3950ded32ff28"
|
||||
},
|
||||
{
|
||||
"id": "vex-006",
|
||||
"path": "bench/golden-corpus/categories/vex/vex-006",
|
||||
"manifestDigest": "sha256:1350d72d610676ac064e7536e99f524ae073ea006820a3ac72cb875f77e7a822"
|
||||
},
|
||||
{
|
||||
"id": "vex-007",
|
||||
"path": "bench/golden-corpus/categories/vex/vex-007",
|
||||
"manifestDigest": "sha256:e61f37aad7b8e821fe3e32b3054e5e00ecc005a5d8f765dca4a7c43edf15cff7"
|
||||
},
|
||||
{
|
||||
"id": "vex-008",
|
||||
"path": "bench/golden-corpus/categories/vex/vex-008",
|
||||
"manifestDigest": "sha256:9603a66c7c81400de358853db3907d268248fc4366b88c0736e7119bd867c78a"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user