src/eric7/Documentation/Source/eric7.PipInterface.PipVulnerabilityChecker.html

branch
eric7
changeset 10479
856476537696
parent 10428
a071d4065202
equal deleted inserted replaced
10478:de9106c55c3d 10479:856476537696
5 <link rel="stylesheet" href="styles.css"> 5 <link rel="stylesheet" href="styles.css">
6 </head> 6 </head>
7 <body> 7 <body>
8 <a NAME="top" ID="top"></a> 8 <a NAME="top" ID="top"></a>
9 <h1>eric7.PipInterface.PipVulnerabilityChecker</h1> 9 <h1>eric7.PipInterface.PipVulnerabilityChecker</h1>
10
11 <p> 10 <p>
12 Module implementing a Python package vulnerability checker. 11 Module implementing a Python package vulnerability checker.
13 </p> 12 </p>
14 <p> 13 <p>
15 The vulnerability data is provided by the open Python vulnerability database 14 The vulnerability data is provided by the open Python vulnerability database
16 <a href="https://github.com/pyupio/safety-db">Safety DB</a>. 15 <a href="https://github.com/pyupio/safety-db">Safety DB</a>.
17 </p> 16 </p>
17
18 <h3>Global Attributes</h3> 18 <h3>Global Attributes</h3>
19 19 <table>
20 <table> 20 <tr><td>None</td></tr>
21 <tr><td>None</td></tr> 21 </table>
22 </table> 22
23 <h3>Classes</h3> 23 <h3>Classes</h3>
24 24 <table>
25 <table>
26
27 <tr> 25 <tr>
28 <td><a href="#Package">Package</a></td> 26 <td><a href="#Package">Package</a></td>
29 <td>Class containing the package data.</td> 27 <td>Class containing the package data.</td>
30 </tr> 28 </tr>
31 <tr> 29 <tr>
39 <tr> 37 <tr>
40 <td><a href="#VulnerabilityCheckError">VulnerabilityCheckError</a></td> 38 <td><a href="#VulnerabilityCheckError">VulnerabilityCheckError</a></td>
41 <td>Class defining various vulnerability check error states.</td> 39 <td>Class defining various vulnerability check error states.</td>
42 </tr> 40 </tr>
43 </table> 41 </table>
42
44 <h3>Functions</h3> 43 <h3>Functions</h3>
45 44 <table>
46 <table> 45 <tr><td>None</td></tr>
47 <tr><td>None</td></tr> 46 </table>
48 </table> 47
49 <hr /> 48 <hr />
50 <hr /> 49 <hr />
51 <a NAME="Package" ID="Package"></a> 50 <a NAME="Package" ID="Package"></a>
52 <h2>Package</h2> 51 <h2>Package</h2>
53
54 <p> 52 <p>
55 Class containing the package data. 53 Class containing the package data.
56 </p> 54 </p>
55
57 <h3>Derived from</h3> 56 <h3>Derived from</h3>
58 None 57 None
59 <h3>Class Attributes</h3> 58 <h3>Class Attributes</h3>
60 59 <table>
61 <table> 60 <tr><td>name</td></tr>
62 <tr><td>name</td></tr><tr><td>version</td></tr> 61 <tr><td>version</td></tr>
63 </table> 62 </table>
63
64 <h3>Class Methods</h3> 64 <h3>Class Methods</h3>
65 65 <table>
66 <table> 66 <tr><td>None</td></tr>
67 <tr><td>None</td></tr> 67 </table>
68 </table> 68
69 <h3>Methods</h3> 69 <h3>Methods</h3>
70 70 <table>
71 <table> 71 <tr><td>None</td></tr>
72 <tr><td>None</td></tr> 72 </table>
73 </table> 73
74 <h3>Static Methods</h3> 74 <h3>Static Methods</h3>
75 75 <table>
76 <table> 76 <tr><td>None</td></tr>
77 <tr><td>None</td></tr> 77 </table>
78 </table> 78
79 79
80 <div align="right"><a href="#top">Up</a></div> 80 <div align="right"><a href="#top">Up</a></div>
81 <hr /> 81 <hr />
82 <hr /> 82 <hr />
83 <a NAME="PipVulnerabilityChecker" ID="PipVulnerabilityChecker"></a> 83 <a NAME="PipVulnerabilityChecker" ID="PipVulnerabilityChecker"></a>
84 <h2>PipVulnerabilityChecker</h2> 84 <h2>PipVulnerabilityChecker</h2>
85
86 <p> 85 <p>
87 Class implementing a Python package vulnerability checker. 86 Class implementing a Python package vulnerability checker.
88 </p> 87 </p>
88
89 <h3>Derived from</h3> 89 <h3>Derived from</h3>
90 QObject 90 QObject
91 <h3>Class Attributes</h3> 91 <h3>Class Attributes</h3>
92 92 <table>
93 <table> 93 <tr><td>FullDbFile</td></tr>
94 <tr><td>FullDbFile</td></tr><tr><td>SummaryDbFile</td></tr> 94 <tr><td>SummaryDbFile</td></tr>
95 </table> 95 </table>
96
96 <h3>Class Methods</h3> 97 <h3>Class Methods</h3>
97 98 <table>
98 <table> 99 <tr><td>None</td></tr>
99 <tr><td>None</td></tr> 100 </table>
100 </table> 101
101 <h3>Methods</h3> 102 <h3>Methods</h3>
102 103 <table>
103 <table>
104
105 <tr> 104 <tr>
106 <td><a href="#PipVulnerabilityChecker.__init__">PipVulnerabilityChecker</a></td> 105 <td><a href="#PipVulnerabilityChecker.__init__">PipVulnerabilityChecker</a></td>
107 <td>Constructor</td> 106 <td>Constructor</td>
108 </tr> 107 </tr>
109 <tr> 108 <tr>
133 <tr> 132 <tr>
134 <td><a href="#PipVulnerabilityChecker.updateVulnerabilityDb">updateVulnerabilityDb</a></td> 133 <td><a href="#PipVulnerabilityChecker.updateVulnerabilityDb">updateVulnerabilityDb</a></td>
135 <td>Public method to update the cache of the vulnerability databases.</td> 134 <td>Public method to update the cache of the vulnerability databases.</td>
136 </tr> 135 </tr>
137 </table> 136 </table>
137
138 <h3>Static Methods</h3> 138 <h3>Static Methods</h3>
139 139 <table>
140 <table> 140 <tr><td>None</td></tr>
141 <tr><td>None</td></tr> 141 </table>
142 </table> 142
143 143
144 <a NAME="PipVulnerabilityChecker.__init__" ID="PipVulnerabilityChecker.__init__"></a> 144 <a NAME="PipVulnerabilityChecker.__init__" ID="PipVulnerabilityChecker.__init__"></a>
145 <h4>PipVulnerabilityChecker (Constructor)</h4> 145 <h4>PipVulnerabilityChecker (Constructor)</h4>
146 <b>PipVulnerabilityChecker</b>(<i>pip, parent=None</i>) 146 <b>PipVulnerabilityChecker</b>(<i>pip, parent=None</i>)
147
148 <p> 147 <p>
149 Constructor 148 Constructor
150 </p> 149 </p>
150
151 <dl> 151 <dl>
152 152
153 <dt><i>pip</i> (Pip)</dt> 153 <dt><i>pip</i> (Pip)</dt>
154 <dd> 154 <dd>
155 reference to the global pip interface 155 reference to the global pip interface
160 </dd> 160 </dd>
161 </dl> 161 </dl>
162 <a NAME="PipVulnerabilityChecker.__createCacheFile" ID="PipVulnerabilityChecker.__createCacheFile"></a> 162 <a NAME="PipVulnerabilityChecker.__createCacheFile" ID="PipVulnerabilityChecker.__createCacheFile"></a>
163 <h4>PipVulnerabilityChecker.__createCacheFile</h4> 163 <h4>PipVulnerabilityChecker.__createCacheFile</h4>
164 <b>__createCacheFile</b>(<i></i>) 164 <b>__createCacheFile</b>(<i></i>)
165
166 <p> 165 <p>
167 Private method to create the cache file. 166 Private method to create the cache file.
168 </p> 167 </p>
169 <p> 168 <p>
170 The cache file has the following structure. 169 The cache file has the following structure.
177 "cachedAt": 12345678 176 "cachedAt": 12345678
178 "db": {} 177 "db": {}
179 }, 178 },
180 } 179 }
181 </p> 180 </p>
181
182 <a NAME="PipVulnerabilityChecker.__fetchVulnerabilityDatabase" ID="PipVulnerabilityChecker.__fetchVulnerabilityDatabase"></a> 182 <a NAME="PipVulnerabilityChecker.__fetchVulnerabilityDatabase" ID="PipVulnerabilityChecker.__fetchVulnerabilityDatabase"></a>
183 <h4>PipVulnerabilityChecker.__fetchVulnerabilityDatabase</h4> 183 <h4>PipVulnerabilityChecker.__fetchVulnerabilityDatabase</h4>
184 <b>__fetchVulnerabilityDatabase</b>(<i>full=False, forceUpdate=False</i>) 184 <b>__fetchVulnerabilityDatabase</b>(<i>full=False, forceUpdate=False</i>)
185
186 <p> 185 <p>
187 Private method to get the data of the vulnerability database. 186 Private method to get the data of the vulnerability database.
188 </p> 187 </p>
189 <p> 188 <p>
190 If the cached data is still valid, this data will be used. 189 If the cached data is still valid, this data will be used.
191 Otherwise a copy of the requested database will be downloaded 190 Otherwise a copy of the requested database will be downloaded
192 and cached. 191 and cached.
193 </p> 192 </p>
193
194 <dl> 194 <dl>
195 195
196 <dt><i>full</i> (bool (optional))</dt> 196 <dt><i>full</i> (bool (optional))</dt>
197 <dd> 197 <dd>
198 flag indicating to get the database containing the full 198 flag indicating to get the database containing the full
218 </dd> 218 </dd>
219 </dl> 219 </dl>
220 <a NAME="PipVulnerabilityChecker.__getDataFromCache" ID="PipVulnerabilityChecker.__getDataFromCache"></a> 220 <a NAME="PipVulnerabilityChecker.__getDataFromCache" ID="PipVulnerabilityChecker.__getDataFromCache"></a>
221 <h4>PipVulnerabilityChecker.__getDataFromCache</h4> 221 <h4>PipVulnerabilityChecker.__getDataFromCache</h4>
222 <b>__getDataFromCache</b>(<i>dbName</i>) 222 <b>__getDataFromCache</b>(<i>dbName</i>)
223
224 <p> 223 <p>
225 Private method to get the vulnerability database from the cache. 224 Private method to get the vulnerability database from the cache.
226 </p> 225 </p>
226
227 <dl> 227 <dl>
228 228
229 <dt><i>dbName</i> (str)</dt> 229 <dt><i>dbName</i> (str)</dt>
230 <dd> 230 <dd>
231 name of the vulnerability database 231 name of the vulnerability database
244 </dd> 244 </dd>
245 </dl> 245 </dl>
246 <a NAME="PipVulnerabilityChecker.__getVulnerabilities" ID="PipVulnerabilityChecker.__getVulnerabilities"></a> 246 <a NAME="PipVulnerabilityChecker.__getVulnerabilities" ID="PipVulnerabilityChecker.__getVulnerabilities"></a>
247 <h4>PipVulnerabilityChecker.__getVulnerabilities</h4> 247 <h4>PipVulnerabilityChecker.__getVulnerabilities</h4>
248 <b>__getVulnerabilities</b>(<i>package, specifier, db</i>) 248 <b>__getVulnerabilities</b>(<i>package, specifier, db</i>)
249
250 <p> 249 <p>
251 Private method to get the vulnerabilities for a package. 250 Private method to get the vulnerabilities for a package.
252 </p> 251 </p>
252
253 <dl> 253 <dl>
254 254
255 <dt><i>package</i> (str)</dt> 255 <dt><i>package</i> (str)</dt>
256 <dd> 256 <dd>
257 name of the package 257 name of the package
278 </dd> 278 </dd>
279 </dl> 279 </dl>
280 <a NAME="PipVulnerabilityChecker.__writeDataToCache" ID="PipVulnerabilityChecker.__writeDataToCache"></a> 280 <a NAME="PipVulnerabilityChecker.__writeDataToCache" ID="PipVulnerabilityChecker.__writeDataToCache"></a>
281 <h4>PipVulnerabilityChecker.__writeDataToCache</h4> 281 <h4>PipVulnerabilityChecker.__writeDataToCache</h4>
282 <b>__writeDataToCache</b>(<i>dbName, data</i>) 282 <b>__writeDataToCache</b>(<i>dbName, data</i>)
283
284 <p> 283 <p>
285 Private method to write the vulnerability data for a database to the 284 Private method to write the vulnerability data for a database to the
286 cache. 285 cache.
287 </p> 286 </p>
287
288 <dl> 288 <dl>
289 289
290 <dt><i>dbName</i> (str)</dt> 290 <dt><i>dbName</i> (str)</dt>
291 <dd> 291 <dd>
292 name of the vulnerability database 292 name of the vulnerability database
297 </dd> 297 </dd>
298 </dl> 298 </dl>
299 <a NAME="PipVulnerabilityChecker.check" ID="PipVulnerabilityChecker.check"></a> 299 <a NAME="PipVulnerabilityChecker.check" ID="PipVulnerabilityChecker.check"></a>
300 <h4>PipVulnerabilityChecker.check</h4> 300 <h4>PipVulnerabilityChecker.check</h4>
301 <b>check</b>(<i>packages</i>) 301 <b>check</b>(<i>packages</i>)
302
303 <p> 302 <p>
304 Public method to check the given packages for vulnerabilities. 303 Public method to check the given packages for vulnerabilities.
305 </p> 304 </p>
305
306 <dl> 306 <dl>
307 307
308 <dt><i>packages</i> (Package)</dt> 308 <dt><i>packages</i> (Package)</dt>
309 <dd> 309 <dd>
310 list of packages 310 list of packages
324 </dd> 324 </dd>
325 </dl> 325 </dl>
326 <a NAME="PipVulnerabilityChecker.updateVulnerabilityDb" ID="PipVulnerabilityChecker.updateVulnerabilityDb"></a> 326 <a NAME="PipVulnerabilityChecker.updateVulnerabilityDb" ID="PipVulnerabilityChecker.updateVulnerabilityDb"></a>
327 <h4>PipVulnerabilityChecker.updateVulnerabilityDb</h4> 327 <h4>PipVulnerabilityChecker.updateVulnerabilityDb</h4>
328 <b>updateVulnerabilityDb</b>(<i></i>) 328 <b>updateVulnerabilityDb</b>(<i></i>)
329
330 <p> 329 <p>
331 Public method to update the cache of the vulnerability databases. 330 Public method to update the cache of the vulnerability databases.
332 </p> 331 </p>
332
333 <div align="right"><a href="#top">Up</a></div> 333 <div align="right"><a href="#top">Up</a></div>
334 <hr /> 334 <hr />
335 <hr /> 335 <hr />
336 <a NAME="Vulnerability" ID="Vulnerability"></a> 336 <a NAME="Vulnerability" ID="Vulnerability"></a>
337 <h2>Vulnerability</h2> 337 <h2>Vulnerability</h2>
338
339 <p> 338 <p>
340 Class containing the vulnerability data. 339 Class containing the vulnerability data.
341 </p> 340 </p>
341
342 <h3>Derived from</h3> 342 <h3>Derived from</h3>
343 None 343 None
344 <h3>Class Attributes</h3> 344 <h3>Class Attributes</h3>
345 345 <table>
346 <table> 346 <tr><td>advisory</td></tr>
347 <tr><td>advisory</td></tr><tr><td>cve</td></tr><tr><td>name</td></tr><tr><td>spec</td></tr><tr><td>version</td></tr><tr><td>vulnerabilityId</td></tr> 347 <tr><td>cve</td></tr>
348 </table> 348 <tr><td>name</td></tr>
349 <tr><td>spec</td></tr>
350 <tr><td>version</td></tr>
351 <tr><td>vulnerabilityId</td></tr>
352 </table>
353
349 <h3>Class Methods</h3> 354 <h3>Class Methods</h3>
350 355 <table>
351 <table> 356 <tr><td>None</td></tr>
352 <tr><td>None</td></tr> 357 </table>
353 </table> 358
354 <h3>Methods</h3> 359 <h3>Methods</h3>
355 360 <table>
356 <table> 361 <tr><td>None</td></tr>
357 <tr><td>None</td></tr> 362 </table>
358 </table> 363
359 <h3>Static Methods</h3> 364 <h3>Static Methods</h3>
360 365 <table>
361 <table> 366 <tr><td>None</td></tr>
362 <tr><td>None</td></tr> 367 </table>
363 </table> 368
364 369
365 <div align="right"><a href="#top">Up</a></div> 370 <div align="right"><a href="#top">Up</a></div>
366 <hr /> 371 <hr />
367 <hr /> 372 <hr />
368 <a NAME="VulnerabilityCheckError" ID="VulnerabilityCheckError"></a> 373 <a NAME="VulnerabilityCheckError" ID="VulnerabilityCheckError"></a>
369 <h2>VulnerabilityCheckError</h2> 374 <h2>VulnerabilityCheckError</h2>
370
371 <p> 375 <p>
372 Class defining various vulnerability check error states. 376 Class defining various vulnerability check error states.
373 </p> 377 </p>
378
374 <h3>Derived from</h3> 379 <h3>Derived from</h3>
375 enum.Enum 380 enum.Enum
376 <h3>Class Attributes</h3> 381 <h3>Class Attributes</h3>
377 382 <table>
378 <table> 383 <tr><td>FullDbUnavailable</td></tr>
379 <tr><td>FullDbUnavailable</td></tr><tr><td>OK</td></tr><tr><td>SummaryDbUnavailable</td></tr> 384 <tr><td>OK</td></tr>
380 </table> 385 <tr><td>SummaryDbUnavailable</td></tr>
386 </table>
387
381 <h3>Class Methods</h3> 388 <h3>Class Methods</h3>
382 389 <table>
383 <table> 390 <tr><td>None</td></tr>
384 <tr><td>None</td></tr> 391 </table>
385 </table> 392
386 <h3>Methods</h3> 393 <h3>Methods</h3>
387 394 <table>
388 <table> 395 <tr><td>None</td></tr>
389 <tr><td>None</td></tr> 396 </table>
390 </table> 397
391 <h3>Static Methods</h3> 398 <h3>Static Methods</h3>
392 399 <table>
393 <table> 400 <tr><td>None</td></tr>
394 <tr><td>None</td></tr> 401 </table>
395 </table> 402
396 403
397 <div align="right"><a href="#top">Up</a></div> 404 <div align="right"><a href="#top">Up</a></div>
398 <hr /> 405 <hr />
399 </body></html> 406 </body></html>

eric ide

mercurial