|
12 | 12 | <p> |
13 | 13 | Red Hat Dependency Analytics (RHDA) plugin gives you awareness to security concerns within your software supply |
14 | 14 | chain while you build your application. |
15 | | - <br>The Dependency Analytics plugin uses the Snyk REST API to query <a href="https://snyk.io/product/vulnerability-database/" |
16 | | - rel="noopener noreferrer" target="_blank">Snyk's Vulnerability |
| 15 | + <br>The Dependency Analytics plugin uses the Snyk REST API to query <a |
| 16 | + href="https://snyk.io/product/vulnerability-database/" |
| 17 | + rel="noopener noreferrer" target="_blank">Snyk's Vulnerability |
17 | 18 | Database</a> for the most up-to-date vulnerability information available. |
18 | | - <br>Snyk uses industry-leading security intelligence by pulling from many data sources to give you exact vulnerability information. |
| 19 | + <br>Snyk uses industry-leading security intelligence by pulling from many data sources to give you exact |
| 20 | + vulnerability information. |
19 | 21 |
|
20 | 22 | <p> |
21 | 23 | <b>NOTE:</b> |
|
25 | 27 | the vulnerability report. |
26 | 28 | <p> |
27 | 29 | <b>IMPORTANT:</b> |
28 | | - <br>Currently, Dependency Analytics only supports projects that use Maven (<code>mvn</code>), and Node ecosystems |
29 | | - (<code>npm</code>). |
| 30 | + <br>Currently, Dependency Analytics only supports projects that use Maven (<code>mvn</code>), and Node |
| 31 | + (<code>npm</code>), Golang (<code>go mod</code>) and Python (<code>pip</code>) ecosystems. |
30 | 32 | <br>In future releases, Red Hat plans to support other programming languages. |
31 | 33 | <p> |
32 | 34 |
|
|
37 | 39 | <li>For Maven projects, analyzing a <code>pom.xml</code> file, you must have the <code>mvn</code> binary in your |
38 | 40 | IDE's <code>PATH</code> environment. |
39 | 41 | </li> |
40 | | - <li>For Node projects, analyzing a <code>package.json</code> file, you must have the <code>npm</code> binary in your |
| 42 | + <li>For Node projects, analyzing a <code>package.json</code> file, you must have the <code>npm</code> and |
| 43 | + <code>node</code> binaries in your IDE's <code>PATH</code> environment. |
| 44 | + </li> |
| 45 | + <li>For Golang projects, analyzing a <code>go.mod</code> file, you must have the <code>go</code> binary in your |
41 | 46 | IDE's <code>PATH</code> environment. |
42 | 47 | </li> |
| 48 | + <li>For Python projects, analyzing a <code>requirements.txt</code> file, you must have the <code>python3</code> and |
| 49 | + <code>pip3</code> binaries in your IDE's <code>PATH</code> environment. |
| 50 | + </li> |
43 | 51 | </ul> |
44 | 52 | <p> |
45 | 53 | <b>Procedure</b> |
|
54 | 62 | <li>To start scanning your application for security vulnerabilities, and view the vulnerability report, you can do |
55 | 63 | one of the following: |
56 | 64 | <ul> |
57 | | - <li>Open a manifest file, hover over a dependency marked by the inline Component Analysis, indicated by the wavy-red |
58 | | - line under a dependency, and click <b>Detailed Vulnerability Report</b>. |
| 65 | + <li>Open a manifest file, hover over a dependency marked by the inline Component Analysis, indicated by the |
| 66 | + wavy-red line under a dependency, and click <b>Detailed Vulnerability Report</b>. |
59 | 67 | </li> |
60 | 68 | <li>Right click on a manifest file in the <b>Project</b> window, and click <b>Dependency Analytics |
61 | 69 | Report</b>. |
|
81 | 89 |
|
82 | 90 | <h2>Configuration</h2> |
83 | 91 | <p> |
84 | | - The Red Hat Dependency Analytics plugin has some configurable parameters that allows you to customize its behavior according to your preferences. |
| 92 | + The Red Hat Dependency Analytics plugin has some configurable parameters that allows you to customize its behavior |
| 93 | + according to your preferences. |
85 | 94 | <p> |
86 | 95 | <b>Procedure</b> |
87 | 96 | <ol> |
88 | 97 | <li>Open the IntelliJ IDEA application.</li> |
89 | 98 | <li>Click <b>Settings</b> from the menu, and click <b>Tools</b>.</li> |
90 | 99 | <li>Click the <b>Red Hat Dependency Analytics</b>.</li> |
91 | 100 | </ol> |
92 | | - <img src="https://raw.githubusercontent.com/redhat-developer/intellij-dependency-analytics/main/src/main/resources/images/settings.png" |
| 101 | +<img src="https://raw.githubusercontent.com/redhat-developer/intellij-dependency-analytics/main/src/main/resources/images/settings.png" |
93 | 102 | alt="Red Hat Dependency Analytics plugin settings"> |
94 | 103 | <p> |
95 | 104 | <b>Configurable parameters</b> |
96 | 105 | <ul> |
97 | 106 | <li> |
98 | 107 | <b>Maven</b>: |
99 | | - <br>Path of the <code>mvn</code> executable allows Exhort to locate and execute the <code>mvn</code> commands to resolve dependencies forMaven projects. |
| 108 | + <br>Set the full path of the Maven executable, which allows Exhort to locate and execute the <code>mvn</code> |
| 109 | + command to resolve dependencies forMaven projects. |
100 | 110 | <br>Path of the <code>JAVA_HOME</code> directory is required by the <code>mvn</code> executable. |
101 | | - <br>If the paths are not provided, your IDE's <code>PATH</code> and <code>JAVA_HONE</code> environments will be used to locate the executables. |
| 111 | + <br>If the paths are not provided, your IDE's <code>PATH</code> and <code>JAVA_HONE</code> environments will be |
| 112 | + used to locate the executables. |
| 113 | + </li> |
| 114 | + <li> |
| 115 | + <b>Node</b>: |
| 116 | + <br>Set the full path of the Node executable, which allows Exhort to locate and execute <code>npm</code> command |
| 117 | + to resolve dependencies for Node projects. |
| 118 | + <br>Path of the directory containing the <code>node</code> executable is required by the <code>npm</code> |
| 119 | + executable. |
| 120 | + <br>If the paths are not provided, your IDE's <code>PATH</code> environment will be used to locate the |
| 121 | + executables. |
102 | 122 | </li> |
103 | 123 | <li> |
104 | | - <b>Npm</b>: |
105 | | - <br>Path of the <code>npm</code> executable allows Exhort to locate and execute <code>npm</code> commands to resolve dependencies for Node projects. |
106 | | - <br>Path of the directory containing the <code>node</code> executable is required by the <code>npm</code> executable. |
107 | | - <br>If the paths are not provided, your IDE's <code>PATH</code> environment will be used to locate the executables. |
| 124 | + <b>Golang</b>: |
| 125 | + <br>Set the full path of the Go executable, which allows Exhort to locate and execute the <code>go</code> |
| 126 | + command to resolve dependencies for Go projects. |
| 127 | + <br>If the path is not provided, your IDE's <code>PATH</code> environment will be used to locate the executable. |
| 128 | + <br>When option `Strictly match package version` is selected, the resolved dependency versions will be compared |
| 129 | + to the versions specified in the manifest file, and users will be alerted if any mismatch is detected. |
| 130 | + </li> |
| 131 | + <li> |
| 132 | + <b>Python</b>: |
| 133 | + <br>Set the full paths of the Python and the package installer for Python executables, which allows Exhort to |
| 134 | + locate and execute the <code>pip3</code> commands to resolve dependencies for Python projects. |
| 135 | + <br>Python 2 executables <code>python</code> and <code>pip</code> can be used instead, if the <code>Use python |
| 136 | + 2.x</code> option is selected. |
| 137 | + <br>If the paths are not provided, your IDE's <code>PATH</code> environment will be used to locate the |
| 138 | + executables. |
| 139 | + <br>When option <code>Strictly match package version</code> is selected, the resolved dependency versions will |
| 140 | + be compared to the versions specified in the manifest file, and users will be alerted if any mismatch is |
| 141 | + detected. |
| 142 | + <br>Python virtual environment can be applied, when selecting the <code>Use python virtual environment</code> |
| 143 | + option. |
| 144 | + <br>If selecting option <code>Allow alternate package version</code> while using virtual environment, the |
| 145 | + dependency versions specified in the manifest file will be ignored, and dependency versions will be resolved |
| 146 | + dynamically instead. This feature cannot be enabled when <code>Strictly match package version</code> is |
| 147 | + selected. |
108 | 148 | </li> |
109 | 149 | <li> |
110 | 150 | <b>Exhort Snyk Token</b>: |
|
134 | 174 | <li> |
135 | 175 | <b>Excluding dependencies with <code>exhortignore</code></b> |
136 | 176 | <br>You can exclude a package from analysis by marking the package for exclusion. |
| 177 | + <br> |
137 | 178 | <br>If you wish to ignore vulnerabilities for a dependency in a <code>pom.xml</code> file, you must add <code>exhortignore</code> |
138 | 179 | as a comment against the dependency, group id, artifact id, or version scopes of that particular dependency in |
139 | 180 | the manifest file. |
|
145 | 186 | <br> <version>...</version> |
146 | 187 | <br></dependency> |
147 | 188 | </code> |
| 189 | + <br> |
148 | 190 | <br>If you wish to ignore vulnerabilities for a dependency in a <code>package.json</code> file, you must add |
149 | 191 | <code>exhortignore</code> as a attribute-value pair. |
150 | | - <br>If <code>exhortignore</code>is followed by a list of comma-separated Snyk vulnerability IDs, only the listed |
151 | | - vulnerabilities will be ignored during analysis. |
152 | 192 | <br>For example: |
153 | 193 | <code> |
154 | 194 | <br>{ |
|
170 | 210 | <br> ] |
171 | 211 | <br>} |
172 | 212 | </code> |
| 213 | + <br> |
| 214 | + <br>If you wish to ignore vulnerabilities for a dependency in a <code>go.mod</code> file, you must add |
| 215 | + <code>exhortignore</code> as a comment against the dependency in the manifest file. |
| 216 | + <br>For example: |
| 217 | + <code> |
| 218 | + <br>require ( |
| 219 | + <br> golang.org/x/sys v1.6.7 // exhortignore |
| 220 | + <br>) |
| 221 | + </code> |
| 222 | + <br> |
| 223 | + <br>If you wish to ignore vulnerabilities for a dependency in a <code>requirements.txt</code> file, you must add |
| 224 | + <code>exhortignore</code> as a comment against the dependency in the manifest file. |
| 225 | + <br>For example: |
| 226 | + <code> |
| 227 | + <br>requests==2.28.1 # exhortignore |
| 228 | + </code> |
173 | 229 | </li> |
174 | 230 | <li> |
175 | 231 | <b>Excluding developmental or test dependencies</b> |
176 | 232 | <br>Red Hat Dependency Analytics does not analyze dependencies marked as <code>dev</code> or <code>test</code>, |
177 | 233 | these dependencies are ignored. |
| 234 | + <br> |
178 | 235 | <br>For example, setting <code>test</code> in the <code>scope</code> tag within a <code>pom.xml</code> file: |
179 | 236 | <code> |
180 | 237 | <br><dependency> |
|
184 | 241 | <br> <scope>test</scope> |
185 | 242 | <br></dependency> |
186 | 243 | </code> |
| 244 | + <br> |
187 | 245 | <br>For example, setting <code>devDependencies</code> attributte in the <code>package.json</code> file: |
188 | 246 | <code> |
189 | 247 | <br>{ |
|
205 | 263 | <br> } |
206 | 264 | <br>} |
207 | 265 | </code> |
| 266 | + <br> |
| 267 | + <br>For example, setting <code>exclude</code> attribute in the <code>go.mod</code> file: |
| 268 | + <code> |
| 269 | + <br>exclude golang.org/x/sys v1.6.7 |
| 270 | + <br>exclude ( |
| 271 | + <br> golang.org/x/sys v1.6.7 |
| 272 | + <br>) |
| 273 | + </code> |
| 274 | + <br> |
| 275 | + <br>You can create an alternative file to <code>requirements.txt</code>, for example, a <code>requirements-dev.txt</code> |
| 276 | + or a <code>requirements-test.txt</code> file where you can add the development or test dependencies there. |
208 | 277 | </li> |
209 | 278 | <li> |
210 | 279 | <b>Red Hat Dependency Analytics Report</b> |
|
258 | 327 | ]]></description> |
259 | 328 |
|
260 | 329 | <change-notes><![CDATA[ |
| 330 | + <p><b>0.7.1</b></p> |
| 331 | + <p>Enable component analysis for Golang (<code>go mod</code>) and Python (<code>pip</code>).</p> |
261 | 332 | <p><b>0.7.0</b></p> |
262 | 333 | <p>Initial release for the new Red Hat Dependency Analytics service.</p> |
263 | 334 | <p>Based on exhort-java-api.</p> |
|
0 commit comments