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 |
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 |
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> |