OSV
OSV (Open Source Vulnerability) is a vulnerability database for open source projects. For each vulnerability, it perform bisects to figure out the exact commit that introduces the bug, as well the exact commit that fixes it. This is cross referenced against upstream repositories to figure out the affected tags and commit ranges.
Vulnerability Management · OpenSourceVulnerabilities
Details
| ID | OSV |
|---|---|
| Provider | |
| Category | Vulnerability Management |
| From Version | 6.0.0 |
| Docker Image | demisto/python3:3.12.8.3296088 |
| Supported Modules | Agentix XSIAM |
README
OSV (Open Source Vulnerability) is a vulnerability database for open source projects. For each vulnerability, it perform bisects to figure out the exact commit that introduces the bug, as well the exact commit that fixes it. This is cross referenced against upstream repositories to figure out the affected tags and commit ranges
Configure OSV in Cortex
| Parameter | Required |
|---|---|
| Server URL (e.g. https://api.osv.dev) | True |
| Trust any certificate (not secure) | |
| Use system proxy settings |
Commands
You can execute these commands from the CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.
osv-get-vuln-by-id
Return a Vulnerability object for a given OSV ID. All list of vulnerabilities can be found at https://osv.dev/list
Base Command
osv-get-vuln-by-id
Input
| Argument Name | Description | Required |
|---|---|---|
| id_ | The id field is a unique identifier for the vulnerability entry. For example: OSV-2020-111. |
Required |
Context Output
| Path | Type | Description |
|---|---|---|
| OSV.Vulnerability.id | String | The `id` field is a unique identifier for the vulnerability entry |
| OSV.Vulnerability.published | String | The RFC3339 timestamp indicating when this entry was published. |
| OSV.Vulnerability.modified | String | The RFC3339 timestamp indicating when this entry was last modified. |
| OSV.Vulnerability.withdrawn | String | The RFC3339 timestamp indicating when this entry is considered to be withdrawn. |
| OSV.Vulnerability.summary | String | One line human readable summary for the vulnerability. It is recommended to keep this under 120 characters. |
| OSV.Vulnerability.details | String | Any additional human readable details for the vulnerability. |
| OSV.Vulnerability.affected.ranges.repo | String | Applicable if type is GIT. The publicly accessible URL of the repo that can be directly passed to clone commands. |
| OSV.Vulnerability.affected.ranges.events.introduced | String | The earliest version/commit where this vulnerability was introduced in. |
| OSV.Vulnerability.affected.ranges.events.fixed | String | The version/commit that this vulnerability was fixed in. |
| OSV.Vulnerability.affected.ranges.events.limit | String | The limit to apply to the range. |
| OSV.Vulnerability.references.url | String | Reference URL for more details. |
osv-query-affected-by-commit
Query vulnerabilities for a particular project at a given commit
Base Command
osv-query-affected-by-commit
Input
| Argument Name | Description | Required |
|---|---|---|
| commit | The commit hash to query for. E.g 6879efc2c1596d11a6a6ad296f80063b558d5e0f. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| OSV.VulnerabilityList.vulns.id | String | The `id` field is a unique identifier for the vulnerability entry. |
| OSV.VulnerabilityList.vulns.published | String | The RFC3339 timestamp indicating when this entry was published. |
| OSV.VulnerabilityList.vulns.modified | String | The RFC3339 timestamp indicating when this entry was last modified. |
| OSV.VulnerabilityList.vulns.withdrawn | String | The RFC3339 timestamp indicating when this entry is considered to be withdrawn. |
| OSV.VulnerabilityList.vulns.summary | String | One line human readable summary for the vulnerability. It is recommended to keep this under 120 characters. |
| OSV.VulnerabilityList.vulns.details | String | Any additional human readable details for the vulnerability. |
| OSV.VulnerabilityList.vulns.affected.ranges.repo | String | Applicable if type is GIT. The publicly accessible URL of the repo that can be directly passed to clone commands. |
| OSV.VulnerabilityList.vulns.affected.ranges.events.introduced | String | The earliest version/commit where this vulnerability was introduced in. |
| OSV.VulnerabilityList.vulns.affected.ranges.events.fixed | String | The version/commit that this vulnerability was fixed in. |
| OSV.VulnerabilityList.vulns.affected.ranges.events.limit | String | The limit to apply to the range. |
| OSV.VulnerabilityList.vulns.references.url | String | Reference URL for more details. |
osv-query-affected-by-package
Query vulnerabilities for a particular project based on package name and verion
Base Command
osv-query-affected-by-package
Input
| Argument Name | Description | Required |
|---|---|---|
| version | The version string to query for. A fuzzy match is done against upstream versions. Eg. 3.3.0. | Required |
| packageName | The name of the package/project to query for. Eg. django-tinymce. | Required |
| ecosystem | The ecosystem of the package. Eg. PyPI. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| OSV.VulnerabilityList.vulns.id | string | The `id` field is a unique identifier for the vulnerability entry. |
| OSV.VulnerabilityList.vulns.published | string | The RFC3339 timestamp indicating when this entry was published. |
| OSV.VulnerabilityList.vulns.modified | string | The RFC3339 timestamp indicating when this entry was last modified. |
| OSV.VulnerabilityList.vulns.withdrawn | string | The RFC3339 timestamp indicating when this entry is considered to be withdrawn. |
| OSV.VulnerabilityList.vulns.summary | string | One line human readable summary for the vulnerability. It is recommended to keep this under 120 characters. |
| OSV.VulnerabilityList.vulns.details | string | Any additional human readable details for the vulnerability. |
| OSV.VulnerabilityList.vulns.affected.ranges.repo | string | Applicable if type is GIT. The publicly accessible URL of the repo that can be directly passed to clone commands. |
| OSV.VulnerabilityList.vulns.affected.ranges.events.introduced | string | The earliest version/commit where this vulnerability was introduced in. |
| OSV.VulnerabilityList.vulns.affected.ranges.events.fixed | string | The version/commit that this vulnerability was fixed in. |
| OSV.VulnerabilityList.vulns.affected.ranges.events.limit | string | The limit to apply to the range. |
| OSV.VulnerabilityList.vulns.references.url | string | Reference URL for more details. |
Configuration parameters
url— Server URL (e.g. https://api.osv.dev) (required)insecure— Trust any certificate (not secure)proxy— Use system proxy settings
Commands (3)
-
osv-get-vuln-by-idReturn a `Vulnerability` object for a given OSV ID. All list of vulnerabilities can be found at https://osv.dev/list
-
osv-query-affected-by-commitQuery vulnerabilities for a particular project at a given commit.
-
osv-query-affected-by-packageQuery vulnerabilities for a particular project based on package name and verion.
category: Vulnerability Management provider: Google commonfields: id: OSV version: -1 configuration: - defaultvalue: https://api.osv.dev display: Server URL (e.g. https://api.osv.dev) name: url required: true type: 0 - display: Trust any certificate (not secure) name: insecure type: 8 required: false - display: Use system proxy settings name: proxy type: 8 required: false description: 'OSV (Open Source Vulnerability) is a vulnerability database for open source projects. For each vulnerability, it perform bisects to figure out the exact commit that introduces the bug, as well the exact commit that fixes it. This is cross referenced against upstream repositories to figure out the affected tags and commit ranges.' display: OSV name: OSV script: commands: - arguments: - description: 'The `id` field is a unique identifier for the vulnerability entry. For example: OSV-2020-111.' name: id_ required: true description: Return a `Vulnerability` object for a given OSV ID. All list of vulnerabilities can be found at https://osv.dev/list name: osv-get-vuln-by-id outputs: - contextPath: OSV.Vulnerability.id description: The `id` field is a unique identifier for the vulnerability entry. type: String - contextPath: OSV.Vulnerability.published description: The RFC3339 timestamp indicating when this entry was published. type: String - contextPath: OSV.Vulnerability.modified description: The RFC3339 timestamp indicating when this entry was last modified. type: String - contextPath: OSV.Vulnerability.withdrawn description: The RFC3339 timestamp indicating when this entry is considered to be withdrawn. type: String - contextPath: OSV.Vulnerability.summary description: One line human readable summary for the vulnerability. It is recommended to keep this under 120 characters. type: String - contextPath: OSV.Vulnerability.details description: Any additional human readable details for the vulnerability. type: String - contextPath: OSV.Vulnerability.affected.ranges.repo description: Applicable if type is GIT. The publicly accessible URL of the repo that can be directly passed to clone commands. type: String - contextPath: OSV.Vulnerability.affected.ranges.events.introduced description: The earliest version/commit where this vulnerability was introduced in. type: String - contextPath: OSV.Vulnerability.affected.ranges.events.fixed description: The version/commit that this vulnerability was fixed in. type: String - contextPath: OSV.Vulnerability.affected.ranges.events.limit description: The limit to apply to the range. type: String - contextPath: OSV.Vulnerability.references.url description: Reference URL for more details. type: String - arguments: - description: The commit hash to query for. E.g 6879efc2c1596d11a6a6ad296f80063b558d5e0f. name: commit required: true description: Query vulnerabilities for a particular project at a given commit. name: osv-query-affected-by-commit outputs: - contextPath: OSV.VulnerabilityList.vulns.id description: The `id` field is a unique identifier for the vulnerability entry. type: String - contextPath: OSV.VulnerabilityList.vulns.published description: The RFC3339 timestamp indicating when this entry was published. type: String - contextPath: OSV.VulnerabilityList.vulns.modified description: The RFC3339 timestamp indicating when this entry was last modified. type: String - contextPath: OSV.VulnerabilityList.vulns.withdrawn description: The RFC3339 timestamp indicating when this entry is considered to be withdrawn. type: String - contextPath: OSV.VulnerabilityList.vulns.summary description: One line human readable summary for the vulnerability. It is recommended to keep this under 120 characters. type: String - contextPath: OSV.VulnerabilityList.vulns.details description: Any additional human readable details for the vulnerability. type: String - contextPath: OSV.VulnerabilityList.vulns.affected.ranges.repo description: Applicable if type is GIT. The publicly accessible URL of the repo that can be directly passed to clone commands. type: String - contextPath: OSV.VulnerabilityList.vulns.affected.ranges.events.introduced description: The earliest version/commit where this vulnerability was introduced in. type: String - contextPath: OSV.VulnerabilityList.vulns.affected.ranges.events.fixed description: The version/commit that this vulnerability was fixed in. type: String - contextPath: OSV.VulnerabilityList.vulns.affected.ranges.events.limit description: The limit to apply to the range. type: String - contextPath: OSV.VulnerabilityList.vulns.references.url description: Reference URL for more details. type: String - arguments: - description: 'The version string to query for. A fuzzy match is done against upstream versions. Eg. 3.3.0.' name: version required: true - description: The name of the package/project to query for. Eg. django-tinymce. name: packageName required: true - description: The ecosystem of the package. Eg. PyPI. name: ecosystem description: Query vulnerabilities for a particular project based on package name and verion. name: osv-query-affected-by-package outputs: - contextPath: OSV.VulnerabilityList.vulns.id description: The `id` field is a unique identifier for the vulnerability entry. type: string - contextPath: OSV.VulnerabilityList.vulns.published description: The RFC3339 timestamp indicating when this entry was published. type: string - contextPath: OSV.VulnerabilityList.vulns.modified description: The RFC3339 timestamp indicating when this entry was last modified. type: string - contextPath: OSV.VulnerabilityList.vulns.withdrawn description: The RFC3339 timestamp indicating when this entry is considered to be withdrawn. type: string - contextPath: OSV.VulnerabilityList.vulns.summary description: One line human readable summary for the vulnerability. It is recommended to keep this under 120 characters. type: string - contextPath: OSV.VulnerabilityList.vulns.details description: Any additional human readable details for the vulnerability. type: string - contextPath: OSV.VulnerabilityList.vulns.affected.ranges.repo description: Applicable if type is GIT. The publicly accessible URL of the repo that can be directly passed to clone commands. type: string - contextPath: OSV.VulnerabilityList.vulns.affected.ranges.events.introduced description: The earliest version/commit where this vulnerability was introduced in. type: string - contextPath: OSV.VulnerabilityList.vulns.affected.ranges.events.fixed description: The version/commit that this vulnerability was fixed in. type: string - contextPath: OSV.VulnerabilityList.vulns.affected.ranges.events.limit description: The limit to apply to the range. type: string - contextPath: OSV.VulnerabilityList.vulns.references.url description: Reference URL for more details. type: string dockerimage: demisto/python3:3.12.8.3296088 script: '' subtype: python3 type: python fromversion: 6.0.0 tests: - No tests (auto formatted)