You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/security/SBOM.md
+25-18Lines changed: 25 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -69,32 +69,39 @@ It outputs the SBOM in the following format:
69
69
}
70
70
```
71
71
72
-
## Vulnerability Scanning
72
+
## Enabling Security Scanning
73
73
74
-
To scan for vulnerable libraries, use either the [GraalVM GitHub Action](https://github.com/marketplace/actions/github-action-for-graalvm) for automated scanning, or submit the SBOM to a vulnerability scanner directly.
74
+
You can leverage the generated SBOM to integrate with security scanning solutions.
75
+
There are a variety of tools to help detect and mitigate security vulnerabilities in your application dependencies.
75
76
76
-
### GitHub Integration
77
+
One example is [Application Dependency Management (ADM)](https://docs.oracle.com/iaas/Content/application-dependency-management/concepts/adm_overview.htm){:target="_blank"} from Oracle.
78
+
When submitting your SBOM to the ADM vulnerability scanner, it identifies application dependencies and flags those containing known security vulnerabilities.
79
+
ADM relies on vulnerability reports from community sources, including the National Vulnerability Database (NVD).
80
+
It also integrates with GitHub Actions, GitLab, and Jenkins Pipelines.
77
81
78
-
When using the [GraalVM GitHub Action](https://github.com/marketplace/actions/github-action-for-graalvm), the SBOM can be automatically generated and submitted to GitHub's dependency submission API for continuous scanning.
79
-
This enables:
80
-
- Vulnerability tracking with GitHub's Dependabot.
81
-
- Dependency tracking with GitHub's Dependency Graph.
82
-
83
-
If you use GitHub, this integration offers you the simplest setup and powerful security tooling.
84
-
85
-
### Command-Line Scanning
86
-
87
-
The popular [Anchore software supply chain management platform](https://anchore.com/) makes the `grype` scanner available for free.
88
-
You can check whether the libraries given in your SBOMs have known vulnerabilities documented in Anchore's database.
89
-
For this purpose, the output of the tool can be fed directly to the `grype` scanner to check for vulnerable libraries, using the command `$JAVA_HOME/bin/native-image-inspect --sbom <path_to_binary> | grype` which produces the following output:
82
+
Another popular command-line scanner is `grype`, part of the [Anchore software supply chain management platform](https://anchore.com/){:target="_blank"}.
83
+
With `grype`, you can check whether the libraries listed in your SBOMs have known vulnerabilities documented in Anchore's database.
84
+
The output of the `native-image-inspect` tool can be fed directly into `grype` to scan for vulnerable libraries using the following command:
netty-codec-http2 4.1.76.Final CVE-2022-24823 Medium
93
92
```
94
93
95
-
You can then use this report to update any vulnerable dependencies found in your executable.
94
+
The generated report can then be used to update any vulnerable dependencies in your executable.
95
+
96
+
### Automated Scanning
97
+
98
+
Integrating security scanning into your CI/CD workflows has never been easier.
99
+
With SBOM support available in the [GraalVM GitHub Action](https://github.com/marketplace/actions/github-action-for-graalvm){:target="_blank"}, your generated SBOM can be automatically submitted and analyzed using [GitHub’s dependency submission API](https://docs.github.com/en/rest/dependency-graph/dependency-submission){:target="_blank"}.
100
+
It enables:
101
+
- Vulnerability tracking with GitHub's Dependabot.
102
+
- Dependency tracking with GitHub's Dependency Graph.
96
103
97
-
> Note: Running `native-image-inspect` without `--sbom` executes code from the native binary to extract class information. **Do not use it on untrusted binaries.** This extraction method is deprecated—use [class-level SBOMs](#including-class-level-metadata-in-the-sbom) instead.
104
+
This integration helps ensure that your application is continuously monitored for vulnerabilities throughout the development lifecycle.
98
105
99
106
## Dependency Tree
100
107
@@ -128,7 +135,7 @@ This information can be useful for:
128
135
129
136
### Data Format
130
137
131
-
The [CycloneDX specification](https://cyclonedx.org/docs/1.5/json/) allows the use of a hierarchical representation by nesting components that have a parent-child relationship.
138
+
The [CycloneDX specification](https://cyclonedx.org/docs/1.5/json/){:target="_blank"} allows the use of a hierarchical representation by nesting components that have a parent-child relationship.
132
139
It is used to embed class-level information in SBOM components in the following way:
0 commit comments