Schema/control-catalog.schema.json
|
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/xGreeny/hardening-lens/v1.0.1/src/HardeningLens/Schema/control-catalog.schema.json", "title": "Hardening Lens control catalog", "type": "object", "required": [ "schemaVersion", "catalogVersion", "generatedOn", "description", "controls" ], "properties": { "$schema": { "type": "string" }, "schemaVersion": { "const": "1.0" }, "catalogVersion": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$" }, "generatedOn": { "type": "string", "format": "date" }, "description": { "type": "string", "minLength": 30 }, "controls": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/control" } } }, "$defs": { "control": { "type": "object", "required": [ "id", "title", "category", "severity", "probe", "description", "rationale", "remediation", "parameters", "references", "tags" ], "properties": { "id": { "type": "string", "pattern": "^HL-[A-Z]+-[0-9]{3}$" }, "title": { "type": "string", "minLength": 5, "maxLength": 140 }, "category": { "type": "string", "minLength": 3, "maxLength": 80 }, "severity": { "enum": [ "Critical", "High", "Medium", "Low", "Informational" ] }, "probe": { "enum": [ "AsrRules", "AuditPolicy", "AutoRun", "BitLocker", "CredentialGuard", "DefenderPreference", "DefenderSignatureAge", "DefenderStatus", "DeviceGuardService", "EventLog", "FirewallProfiles", "LapsAdEncryption", "LapsBackup", "LapsDsrmBackup", "LapsPasswordAge", "LocalGuestAccount", "PowerShellModuleLogging", "RegistryValue", "SecureBoot", "Service", "SmbClient", "SmbServer", "WinRM", "WindowsOptionalFeature" ] }, "description": { "type": "string", "minLength": 20 }, "rationale": { "type": "string", "minLength": 20 }, "remediation": { "type": "string", "minLength": 20 }, "parameters": { "type": "object" }, "references": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "format": "uri", "pattern": "^https://learn\\.microsoft\\.com/" } }, "tags": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" } } }, "additionalProperties": false } }, "additionalProperties": false } |