diff --git a/dictionary.json b/dictionary.json index 2e0436fb2..0dc534299 100644 --- a/dictionary.json +++ b/dictionary.json @@ -65,6 +65,12 @@ "description": "The permissions that were granted to the in a platform-native format.", "type": "integer_t" }, + "affected_packages": { + "caption": "Affected Software Packages", + "description": "List of software packages identified as affected by a vulnerability/vulnerabilities.", + "is_array": true, + "type": "affected_package" + }, "alert": { "caption": "Client TLS Alert", "description": "The integer value of TLS alert if present. The alerts are defined in the TLS specification in RFC-2246.", @@ -992,6 +998,7 @@ "cvss": { "caption": "CVSS Score", "description": "The CVSS object details Common Vulnerability Scoring System (CVSS) scores from the advisory that are related to the vulnerability.", + "is_array": true, "type": "cvss" }, "cwe": { @@ -1376,7 +1383,7 @@ }, "finding": { "caption": "Finding", - "description": "Finding object provides details related to a finding generated by security tool", + "description": "The Finding object provides details about a finding/detection generated by a security tool.", "type": "finding" }, "fingerprint": { @@ -2171,12 +2178,16 @@ "description": "The user that owns the file/object.", "type": "user" }, - "packages": { + "package": { "caption": "Software Packages", - "description": "List of vulnerable packages as identified by the security product", - "is_array": true, + "description": "The Software Package object describes details about a software package. Defined by D3FEND d3f:SoftwarePackage.", "type": "package" }, + "package_manager": { + "caption": "Package Manager", + "description": "The software packager manager utilized to manage a package on a system, e.g. npm, yum, dpkg etc.", + "type": "string_t" + }, "packet_uid": { "caption": "Packet UID", "description": "The packet identifier assigned by the protocol.", @@ -2395,6 +2406,11 @@ "description": "If a proxy connection is present, the connection from the client to the proxy server.", "type": "network_proxy" }, + "purl":{ + "caption": "Package URL", + "description": "A purl is a URL string used to identify and locate a software package in a mostly universal and uniform way across programing languages, package managers, packaging conventions, tools, APIs and databases.", + "type": "string_t" + }, "query": { "caption": "DNS Query", "description": "The Domain Name System (DNS) query.", @@ -2452,7 +2468,7 @@ }, "references": { "caption": "References", - "description": "Supporting reference URLs", + "description": "A list of reference URLs supporting the finding/detection.", "is_array": true, "type": "string_t" }, @@ -2977,11 +2993,6 @@ "description": "The unique identifier of a virtual subnet.", "type": "string_t" }, - "supporting_data": { - "caption": "Supporting Data", - "description": "Additional data supporting a finding as provided by security tool", - "type": "json_t" - }, "surname": { "caption": "Surname", "description": "The last or family name for the user.", diff --git a/events/findings/findings.json b/events/findings/finding.json similarity index 91% rename from events/findings/findings.json rename to events/findings/finding.json index ab8561b77..d91048ecb 100644 --- a/events/findings/findings.json +++ b/events/findings/finding.json @@ -1,9 +1,9 @@ { - "caption": "Findings", - "name": "findings", + "caption": "Finding", "category": "findings", - "extends": "base_event", "description": "Findings events report findings, detections, and possible resolutions of malware, anomalies, or actions performed by security products.", + "extends": "base_event", + "name": "finding", "attributes": { "activity_id": { "enum": { diff --git a/events/findings/security_finding.json b/events/findings/security_finding.json index cb63fb12f..502206302 100644 --- a/events/findings/security_finding.json +++ b/events/findings/security_finding.json @@ -2,7 +2,7 @@ "caption": "Security Finding", "category": "findings", "description": "Security Finding events describe findings, detections, anomalies, alerts and/or actions performed by security products", - "extends": "findings", + "extends": "finding", "name": "security_finding", "uid": 1, "attributes": { diff --git a/events/findings/vulnerability_finding.json b/events/findings/vulnerability_finding.json new file mode 100644 index 000000000..51006563c --- /dev/null +++ b/events/findings/vulnerability_finding.json @@ -0,0 +1,76 @@ +{ + "caption": "Vulnerability Finding", + "category": "findings", + "description": "Vulnerability Finding events describe findings generated by vulnerability scanning tools.", + "extends": "finding", + "name": "vulnerability_finding", + "uid": 2, + "attributes": { + "analytic": { + "group": "primary", + "requirement": "recommended" + }, + "confidence": { + "group": "context", + "requirement": "optional" + }, + "confidence_id": { + "group": "context", + "requirement": "recommended" + }, + "confidence_score": { + "group": "context", + "requirement": "optional" + }, + "device": { + "description": "Describes details about the device that is affected by the vulnerability/vulnerabilities.", + "group": "primary", + "requirement": "recommended" + }, + "finding": { + "group": "primary", + "requirement": "required" + }, + "resource": { + "description": "Describes details about the resource that is affected by the vulnerability/vulnerabilities.", + "group": "primary", + "requirement": "recommended" + }, + "remediation": { + "group": "context", + "requirement": "optional" + }, + "status": { + "description": "The normalized status of the vulnerability finding.", + "group": "context", + "requirement": "optional" + }, + "status_id": { + "description": "The normalized status identifier of the vulnerability finding.", + "enum": { + "1": { + "caption": "New", + "description": "The vulnerability finding is new and yet to be reviewed." + }, + "2": { + "caption": "In Progress", + "description": "The vulnerability finding is under review." + }, + "3": { + "caption": "Suppressed", + "description": "The vulnerability finding was reviewed, considered as a false positive and is now suppressed." + }, + "4": { + "caption": "Resolved", + "description": "The vulnerability finding was reviewed and remediated and is now considered resolved." + } + }, + "group": "context", + "requirement": "recommended" + }, + "vulnerabilities": { + "group": "primary", + "requirement": "required" + } + } +} \ No newline at end of file diff --git a/objects/affected_package.json b/objects/affected_package.json new file mode 100644 index 000000000..0c8367b17 --- /dev/null +++ b/objects/affected_package.json @@ -0,0 +1,11 @@ +{ + "caption": "Affected Software Package", + "description": "The Affected Package object describes details about a software package identified as affected by a vulnerability/vulnerabilities.", + "extends": "package", + "name": "affected_package", + "attributes": { + "package_manager": { + "requirement": "optional" + } + } +} diff --git a/objects/analytic.json b/objects/analytic.json index 099e22850..d5df79cbf 100644 --- a/objects/analytic.json +++ b/objects/analytic.json @@ -13,8 +13,7 @@ "requirement": "optional" }, "name": { - "description": "The name of the analytic that generated the finding.", - "requirement": "required" + "description": "The name of the analytic that generated the finding." }, "related_analytics": { "description:": "Other analytics related to this analytic ", @@ -49,13 +48,11 @@ } }, "uid": { - "description": "The unique identifier of the analytic that generated the finding.", - "requirement": "recommended" + "description": "The unique identifier of the analytic that generated the finding." }, "version": { "description": "The analytic version. For example: 1.1.", "requirement": "optional" } - }, - "constraints": {} + } } diff --git a/objects/cve.json b/objects/cve.json index 87f0ad5b2..e73761a1b 100644 --- a/objects/cve.json +++ b/objects/cve.json @@ -7,7 +7,11 @@ "cvss": { "requirement": "recommended" }, - "cwe":{ + "cwe": { + "requirement": "optional" + }, + "desc": { + "description": "A brief description of the CVE Record.", "requirement": "optional" }, "modified_time": { @@ -19,7 +23,7 @@ "requirement": "recommended" }, "uid": { - "caption": "CVE ID", + "caption": "CVE ID", "description": "The Common Vulnerabilities and Exposures unique number assigned to a specific computer vulnerability. A CVE Identifier begins with 4 digits representing the year followed by a sequence of digits that acts as a unique identifier. For example: CVE-2021-12345.", "requirement": "required" }, @@ -27,10 +31,18 @@ "description": "The product where the vulnerability was discovered.", "requirement": "optional" }, + "references": { + "description": "A list of reference URLs with additional information about the CVE Record.", + "requirement": "recommended" + }, + "title": { + "description": "A title or a brief phrase summarizing the CVE record.", + "requirement": "recommended" + }, "type": { - "caption": "Vulnerability Type", + "caption": "Vulnerability Type", "description": "

The vulnerability type as selected from a large dropdown menu during CVE refinement.

Most frequently used vulnerability types are: DoS, Code Execution, Overflow, Memory Corruption, Sql Injection, XSS, Directory Traversal, Http Response Splitting, Bypass something, Gain Information, Gain Privileges, CSRF, File Inclusion. For more information see Vulnerabilities By Type distributions.", "requirement": "recommended" } } -} +} \ No newline at end of file diff --git a/objects/finding.json b/objects/finding.json index 13ade9884..f9741b7e3 100644 --- a/objects/finding.json +++ b/objects/finding.json @@ -1,6 +1,6 @@ { "caption": "Finding", - "description": "The Finding object contains details related to a security finding generated by a security tool or system. It encompasses information about potential security vulnerabilities, weaknesses, misconfigurations, or suspicious activities identified during security assessments or monitoring processes.", + "description": "The Finding object describes metadata related to a security finding generated by a security tool or system.", "extends": "object", "name": "finding", "attributes": { @@ -31,18 +31,12 @@ "related_events": { "requirement": "optional" }, - "remediation": { - "requirement": "optional" - }, "src_url": { "description": "The URL pointing to the source of the finding.", "requirement": "optional" }, - "supporting_data": { - "requirement": "optional" - }, "title": { - "description": "The title of the reported finding.", + "description": "A title or a brief phrase summarizing the reported finding.", "requirement": "required" }, "types": { diff --git a/objects/package.json b/objects/package.json index 638379117..67c20f831 100644 --- a/objects/package.json +++ b/objects/package.json @@ -18,6 +18,9 @@ "description": "The software package name.", "requirement": "required" }, + "purl":{ + "requirement": "optional" + }, "release": { "requirement": "optional" }, diff --git a/objects/product.json b/objects/product.json index 41475a5e7..da8f4ade9 100644 --- a/objects/product.json +++ b/objects/product.json @@ -6,7 +6,7 @@ "attributes": { "feature": {}, "lang": { - "requirement": "recommended" + "requirement": "optional" }, "name": { "description": "The name of the product." diff --git a/objects/vulnerability.json b/objects/vulnerability.json index 49b9899ec..01067ac68 100644 --- a/objects/vulnerability.json +++ b/objects/vulnerability.json @@ -4,40 +4,43 @@ "extends": "object", "name": "vulnerability", "attributes": { + "affected_packages": { + "requirement": "recommended" + }, "cve": { "requirement": "recommended" }, "cwe": { "requirement": "recommended" }, - "desc": { - "description": "The description of the vulnerability.", + "first_seen_time": { + "description": "The time when the vulnerability was first observed.", "requirement": "optional" }, "fix_available": { "requirement": "optional" }, - "kb_articles": { + "last_seen_time": { + "description": "The time when the vulnerability was most recently observed.", "requirement": "optional" }, - "packages": { - "requirement": "recommended" - }, "references": { + "description": "A list of reference URLs with additional information about the vulnerability.", "requirement": "recommended" }, "related_vulnerabilities": { - "requirement": "recommended" + "requirement": "optional" }, "severity": { + "description": "The vendor assigned severity of the vulnerability.", "requirement": "optional" }, "title": { - "description": "The title of the vulnerability.", - "requirement": "recommended" + "description": "A title or a brief phrase summarizing the discovered vulnerability.", + "requirement": "optional" }, "vendor_name": { - "description": "The vendor who identified the vulnerability.", + "description": "The name of the vendor that identified the vulnerability.", "requirement": "optional" } },