diff --git a/CHANGELOG.md b/CHANGELOG.md index b721fd872..dd3e8fdce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -83,6 +83,7 @@ Thankyou! --> 6. Added `reg_key` and `reg_value` to `Evidence Artifacts` object. #1078 7. Added `type_id` and associated entity objects to `Managed Entity`. #1094 8. Added `vendor_name`, `type`, `type_id` to object `package`. #1093 + 9. Added `router`, `ids`, and `ips` entries to `type_id` enum in the `Endpoint` object. #1121 * #### Platform Extensions ### Bugfixes @@ -103,6 +104,9 @@ Thankyou! --> 4. New Extension registration for Cisco #1074 5. Cleaned up MITRE trademarks and registrations for captions and descriptions. 6. Declared enums in dictionary.json have sane "0" (Unknown) and "99" (Other) declarations and descriptions where appropriate #1111 + 7. Adds support for `suppress_checks` controls in attributes to allow tools to automatically validate conventions #1063 + * Updated several attributes that do not follow conventions to disable linting for them + ## [v1.2.0] - April 23rd, 2024 diff --git a/dictionary.json b/dictionary.json index f6e69c54e..c556253bb 100644 --- a/dictionary.json +++ b/dictionary.json @@ -89,6 +89,7 @@ "activity_id": { "caption": "Activity ID", "description": "The normalized identifier of the activity that triggered the event.", + "suppress_checks": ["sibling_convention"], "sibling": "activity_name", "type": "integer_t", "enum": { @@ -3131,6 +3132,7 @@ "opcode_id": { "caption": "DNS Opcode ID", "description": "The DNS opcode ID specifies the normalized query message type as defined in RFC-5395.", + "suppress_checks": ["enum_convention"], "type": "integer_t", "enum": { "0": { @@ -3876,6 +3878,7 @@ "risk_level_id": { "caption": "Risk Level ID", "description": "The normalized risk level id.", + "suppress_checks": ["enum_convention"], "sibling": "risk_level", "type": "integer_t", "enum": { diff --git a/metaschema/attribute.schema.json b/metaschema/attribute.schema.json index 43e58d287..68c10ff8d 100644 --- a/metaschema/attribute.schema.json +++ b/metaschema/attribute.schema.json @@ -73,4 +73,4 @@ } } } -} \ No newline at end of file +} diff --git a/metaschema/dictionary-attribute.schema.json b/metaschema/dictionary-attribute.schema.json index d41017033..e2cf310d0 100644 --- a/metaschema/dictionary-attribute.schema.json +++ b/metaschema/dictionary-attribute.schema.json @@ -53,9 +53,25 @@ "type": "boolean", "description": "A flag used when the attribute represents an array of values rather than a single value." }, + "suppress_checks": { + "type": "array", + "items": { + "type": "string", + "anyOf": [ + { + "const": "enum_convention", + "description": "Suppresses the convention that every Enum type has two common values with integer value 0 for Unknown and 99 for Other." + }, + { + "const": "sibling_convention", + "description": "Suppresses the convention that a sibling field for a field that has an _id suffix should be the name with the _id suffix stripped." + } + ] + } + }, "observable": { "$ref": "observable.schema.json" } }, "additionalProperties": false -} \ No newline at end of file +} diff --git a/objects/endpoint.json b/objects/endpoint.json index 15f6b5dc6..332810968 100644 --- a/objects/endpoint.json +++ b/objects/endpoint.json @@ -94,7 +94,7 @@ }, "7": { "caption": "IOT", - "description": "A IOT (Internet of Things) device." + "description": "An IOT (Internet of Things) device." }, "8": { "caption": "Browser", @@ -111,6 +111,18 @@ "11": { "caption": "Hub", "description": "A networking hub." + }, + "12": { + "caption": "Router", + "description": "A networking router." + }, + "13": { + "caption": "IDS", + "description": "An intrusion detection system." + }, + "14": { + "caption": "IPS", + "description": "An intrusion prevention system." } }, "requirement": "recommended"