- Introduced a new VEX compact fixture for testing purposes. - Implemented `verify_export.py` script to validate Findings Ledger exports, ensuring deterministic ordering and applying redaction manifests. - Added a lightweight stub `HarnessRunner` for unit tests to validate ledger hashing expectations. - Documented tasks related to the Mirror Creator. - Created models for entropy signals and implemented the `EntropyPenaltyCalculator` to compute penalties based on scanner outputs. - Developed unit tests for `EntropyPenaltyCalculator` to ensure correct penalty calculations and handling of edge cases. - Added tests for symbol ID normalization in the reachability scanner. - Enhanced console status service with comprehensive unit tests for connection handling and error recovery. - Included Cosign tool version 2.6.0 with checksums for various platforms.
86 lines
2.6 KiB
JSON
86 lines
2.6 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://stellaops.local/concelier/schemas/advisory-linkset.schema.json",
|
|
"title": "Concelier Advisory Linkset",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"linksetId",
|
|
"tenantId",
|
|
"advisoryId",
|
|
"source",
|
|
"observationIds",
|
|
"createdAt"
|
|
],
|
|
"properties": {
|
|
"linksetId": { "type": "string", "pattern": "^sha256:[A-Fa-f0-9]{64}$" },
|
|
"tenantId": { "type": "string", "minLength": 1 },
|
|
"source": { "type": "string", "minLength": 1 },
|
|
"advisoryId": { "type": "string", "minLength": 1 },
|
|
"observationIds": {
|
|
"type": "array",
|
|
"items": { "type": "string", "minLength": 1 },
|
|
"uniqueItems": true,
|
|
"minItems": 1
|
|
},
|
|
"normalized": {
|
|
"type": ["object", "null"],
|
|
"additionalProperties": true
|
|
},
|
|
"provenance": {
|
|
"type": ["object", "null"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"observationHashes": {
|
|
"type": "array",
|
|
"items": { "type": "string", "pattern": "^sha256:[A-Fa-f0-9]{64}$" },
|
|
"uniqueItems": true
|
|
},
|
|
"toolVersion": { "type": "string" },
|
|
"policyHash": { "type": "string" }
|
|
}
|
|
},
|
|
"confidence": { "type": ["number", "null"], "minimum": 0, "maximum": 1 },
|
|
"conflicts": {
|
|
"type": ["array", "null"],
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["field", "reason"],
|
|
"properties": {
|
|
"field": { "type": "string" },
|
|
"reason": {
|
|
"type": "string",
|
|
"enum": [
|
|
"severity-mismatch",
|
|
"affected-range-divergence",
|
|
"reference-clash",
|
|
"alias-inconsistency",
|
|
"metadata-gap",
|
|
"statement-conflict"
|
|
]
|
|
},
|
|
"sourceIds": {
|
|
"type": ["array", "null"],
|
|
"items": { "type": "string" },
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"aliases": {
|
|
"type": ["object", "null"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"primary": { "type": "string" },
|
|
"others": { "type": "array", "items": { "type": "string" }, "uniqueItems": true }
|
|
}
|
|
},
|
|
"purls": { "type": ["array", "null"], "items": { "type": "string" }, "uniqueItems": true },
|
|
"cpes": { "type": ["array", "null"], "items": { "type": "string" }, "uniqueItems": true },
|
|
"createdAt": { "type": "string", "format": "date-time" },
|
|
"updatedAt": { "type": ["string", "null"], "format": "date-time" },
|
|
"builtByJobId": { "type": ["string", "null"] }
|
|
}
|
|
}
|