save checkpoint
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "source",
|
||||
"module": "riskengine",
|
||||
"feature": "exploit-maturity-mapping",
|
||||
"runId": "run-002",
|
||||
"dateUtc": "2026-02-10T12:19:30Z",
|
||||
"filesChecked": [
|
||||
"src/RiskEngine/StellaOps.RiskEngine/StellaOps.RiskEngine.Core/Providers/ExploitMaturityService.cs",
|
||||
"src/RiskEngine/StellaOps.RiskEngine/StellaOps.RiskEngine.WebService/Endpoints/ExploitMaturityEndpoints.cs",
|
||||
"src/RiskEngine/StellaOps.RiskEngine/StellaOps.RiskEngine.Tests/ExploitMaturityApiTests.cs",
|
||||
"src/RiskEngine/StellaOps.RiskEngine/StellaOps.RiskEngine.Tests/ExploitMaturityServiceTests.cs"
|
||||
],
|
||||
"found": [
|
||||
"src/RiskEngine/StellaOps.RiskEngine/StellaOps.RiskEngine.Core/Providers/ExploitMaturityService.cs",
|
||||
"src/RiskEngine/StellaOps.RiskEngine/StellaOps.RiskEngine.WebService/Endpoints/ExploitMaturityEndpoints.cs",
|
||||
"src/RiskEngine/StellaOps.RiskEngine/StellaOps.RiskEngine.Tests/ExploitMaturityApiTests.cs",
|
||||
"src/RiskEngine/StellaOps.RiskEngine/StellaOps.RiskEngine.Tests/ExploitMaturityServiceTests.cs"
|
||||
],
|
||||
"missing": [],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"type": "build",
|
||||
"module": "riskengine",
|
||||
"feature": "exploit-maturity-mapping",
|
||||
"runId": "run-002",
|
||||
"dateUtc": "2026-02-10T12:21:14Z",
|
||||
"project": "src/RiskEngine/StellaOps.RiskEngine/StellaOps.RiskEngine.Tests/StellaOps.RiskEngine.Tests.csproj",
|
||||
"buildResult": "pass",
|
||||
"testResult": "pass",
|
||||
"testsRun": 94,
|
||||
"testsPassed": 94,
|
||||
"testsFailed": 0,
|
||||
"errors": []
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"type": "api",
|
||||
"module": "riskengine",
|
||||
"feature": "exploit-maturity-mapping",
|
||||
"runId": "run-002",
|
||||
"dateUtc": "2026-02-10T12:19:30Z",
|
||||
"baseUrl": "https://127.1.0.16",
|
||||
"requests": [
|
||||
{
|
||||
"description": "Exploit maturity endpoint returns deterministic Unknown when no external signals",
|
||||
"method": "GET",
|
||||
"path": "/exploit-maturity/CVE-2099-9999",
|
||||
"expectedStatus": 200,
|
||||
"actualStatus": 200,
|
||||
"assertion": "level=Unknown(0), confidence=0, rationale present",
|
||||
"result": "pass",
|
||||
"evidence": "{\"cveId\":\"CVE-2099-9999\",\"level\":0,\"confidence\":0}"
|
||||
},
|
||||
{
|
||||
"description": "Level endpoint returns string level",
|
||||
"method": "GET",
|
||||
"path": "/exploit-maturity/CVE-2099-9999/level",
|
||||
"expectedStatus": 200,
|
||||
"actualStatus": 200,
|
||||
"assertion": "payload level equals \"Unknown\"",
|
||||
"result": "pass",
|
||||
"evidence": "{\"cveId\":\"CVE-2099-9999\",\"level\":\"Unknown\"}"
|
||||
},
|
||||
{
|
||||
"description": "History endpoint returns entries array",
|
||||
"method": "GET",
|
||||
"path": "/exploit-maturity/CVE-2099-9999/history",
|
||||
"expectedStatus": 200,
|
||||
"actualStatus": 200,
|
||||
"assertion": "entries array present and empty by default",
|
||||
"result": "pass",
|
||||
"evidence": "{\"entries\":[]}"
|
||||
},
|
||||
{
|
||||
"description": "Batch endpoint deduplicates and reports validation errors",
|
||||
"method": "POST",
|
||||
"path": "/exploit-maturity/batch",
|
||||
"expectedStatus": 200,
|
||||
"actualStatus": 200,
|
||||
"assertion": "one result for duplicate CVE plus one validation error for whitespace CVE",
|
||||
"result": "pass",
|
||||
"evidence": "{\"results\":1,\"errors\":1}"
|
||||
}
|
||||
],
|
||||
"integrationEvidence": [
|
||||
"ExploitMaturityApiTests and ExploitMaturityServiceTests executed in module suite (94/94 pass).",
|
||||
"Threshold mappings, KEV promotion, in-the-wild handling, and determinism validated in tests."
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
Reference in New Issue
Block a user