owasp-depscan 5.0.3__tar.gz → 5.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {owasp-depscan-5.0.3/owasp_depscan.egg-info → owasp-depscan-5.1.0}/PKG-INFO +22 -5
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/README.md +20 -3
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/cli.py +2 -1
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/normalize.py +6 -4
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/utils.py +16 -5
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0/owasp_depscan.egg-info}/PKG-INFO +22 -5
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/owasp_depscan.egg-info/requires.txt +1 -1
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/pyproject.toml +2 -2
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/test/test_utils.py +49 -21
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/LICENSE +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/MANIFEST.in +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/__init__.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/__init__.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/analysis.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/audit.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/bom.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/config.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/csaf.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/explainer.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/github.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/license.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/logger.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/depscan/lib/pkg_query.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/owasp_depscan.egg-info/SOURCES.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/owasp_depscan.egg-info/dependency_links.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/owasp_depscan.egg-info/entry_points.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/owasp_depscan.egg-info/top_level.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/setup.cfg +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/test/test_analysis.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/test/test_bom.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/test/test_csaf.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/test/test_explainer.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/test/test_github.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/test/test_license.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/test/test_norm.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/test/test_pkg_query.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/__init__.py +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_data/fields.yml +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_data/meta.yml +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_data/rules.yml +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/0bsd.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/afl-3.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/agpl-3.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/apache-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/artistic-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/bsd-2-clause.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/bsd-3-clause-clear.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/bsd-3-clause.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/bsd-4-clause.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/bsl-1.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cc-by-4.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cc-by-sa-4.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cc0-1.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cecill-2.1.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cern-ohl-p-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cern-ohl-s-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cern-ohl-w-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/ecl-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/epl-1.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/epl-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/eupl-1.1.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/eupl-1.2.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/gfdl-1.3.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/gpl-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/gpl-3.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/isc.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/lgpl-2.1.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/lgpl-3.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/lppl-1.3c.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/mit-0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/mit.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/mpl-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/ms-pl.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/ms-rl.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/mulanpsl-2.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/ncsa.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/odbl-1.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/ofl-1.1.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/osl-3.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/postgresql.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/unlicense.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/upl-1.0.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/vim.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/wtfpl.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/zlib.txt +0 -0
- {owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/spdx/json/licenses.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: owasp-depscan
|
|
3
|
-
Version: 5.0
|
|
3
|
+
Version: 5.1.0
|
|
4
4
|
Summary: Fully open-source security audit for project dependencies based on known vulnerabilities and advisories.
|
|
5
5
|
Author-email: Team AppThreat <cloud@appthreat.com>
|
|
6
6
|
License: MIT
|
|
@@ -20,7 +20,7 @@ Classifier: Topic :: Utilities
|
|
|
20
20
|
Requires-Python: >=3.8
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
License-File: LICENSE
|
|
23
|
-
Requires-Dist: appthreat-vulnerability-db>=5.5.
|
|
23
|
+
Requires-Dist: appthreat-vulnerability-db>=5.5.6
|
|
24
24
|
Requires-Dist: defusedxml
|
|
25
25
|
Requires-Dist: oras
|
|
26
26
|
Requires-Dist: PyYAML
|
|
@@ -461,11 +461,19 @@ Giving it will pass the vulnerability report into your template for rendering th
|
|
|
461
461
|
Please find a basic example here:
|
|
462
462
|
|
|
463
463
|
```jinja
|
|
464
|
+
{% if metadata -%}
|
|
465
|
+
Report for {{ metadata.component.group }}:{{ metadata.component.name }}:{{ metadata.component.version }}
|
|
466
|
+
{% endif -%}
|
|
467
|
+
|
|
468
|
+
{% if vulnerabilities -%}
|
|
464
469
|
There were {{ vulnerabilities | length }} issues identified:
|
|
465
470
|
|
|
466
471
|
{% for vuln in vulnerabilities -%}
|
|
467
|
-
* {{ vuln
|
|
468
|
-
{% endfor
|
|
472
|
+
* {{ vuln['bom-ref'] }} - {{ vuln.recommendation }}
|
|
473
|
+
{% endfor -%}
|
|
474
|
+
{% else -%}
|
|
475
|
+
🏆 _No vulnerabilities found_
|
|
476
|
+
{% endif -%}
|
|
469
477
|
|
|
470
478
|
Severity counts:
|
|
471
479
|
* Low: {{ summary.LOW }}
|
|
@@ -475,10 +483,19 @@ Severity counts:
|
|
|
475
483
|
* Unspecified: {{ summary.UNSPECIFIED }}
|
|
476
484
|
```
|
|
477
485
|
|
|
478
|
-
The
|
|
486
|
+
The objects available are taken from the CycloneDX *.vdr.json BOM file generated, just have a look to the file for its full structure:
|
|
487
|
+
|
|
488
|
+
* `metadata`
|
|
489
|
+
* `vulnerabilities`
|
|
490
|
+
* `components`
|
|
491
|
+
* `dependencies`
|
|
492
|
+
* `services`
|
|
493
|
+
|
|
479
494
|
`summary` is a dictionary type with vulnerability severity quantities as shown in the example above.
|
|
480
495
|
Furthermore insights are imaginably to be made available to the template, please reach out or contribute on demand.
|
|
481
496
|
|
|
497
|
+
We appreciate if you like to contribute your report templates as examples, please add/find them [here](contrib/report-templates/).
|
|
498
|
+
|
|
482
499
|
## Discord support
|
|
483
500
|
|
|
484
501
|
The developers could be reached via the [discord](https://discord.gg/DCNxzaeUpd) channel for enterprise support.
|
|
@@ -422,11 +422,19 @@ Giving it will pass the vulnerability report into your template for rendering th
|
|
|
422
422
|
Please find a basic example here:
|
|
423
423
|
|
|
424
424
|
```jinja
|
|
425
|
+
{% if metadata -%}
|
|
426
|
+
Report for {{ metadata.component.group }}:{{ metadata.component.name }}:{{ metadata.component.version }}
|
|
427
|
+
{% endif -%}
|
|
428
|
+
|
|
429
|
+
{% if vulnerabilities -%}
|
|
425
430
|
There were {{ vulnerabilities | length }} issues identified:
|
|
426
431
|
|
|
427
432
|
{% for vuln in vulnerabilities -%}
|
|
428
|
-
* {{ vuln
|
|
429
|
-
{% endfor
|
|
433
|
+
* {{ vuln['bom-ref'] }} - {{ vuln.recommendation }}
|
|
434
|
+
{% endfor -%}
|
|
435
|
+
{% else -%}
|
|
436
|
+
🏆 _No vulnerabilities found_
|
|
437
|
+
{% endif -%}
|
|
430
438
|
|
|
431
439
|
Severity counts:
|
|
432
440
|
* Low: {{ summary.LOW }}
|
|
@@ -436,10 +444,19 @@ Severity counts:
|
|
|
436
444
|
* Unspecified: {{ summary.UNSPECIFIED }}
|
|
437
445
|
```
|
|
438
446
|
|
|
439
|
-
The
|
|
447
|
+
The objects available are taken from the CycloneDX *.vdr.json BOM file generated, just have a look to the file for its full structure:
|
|
448
|
+
|
|
449
|
+
* `metadata`
|
|
450
|
+
* `vulnerabilities`
|
|
451
|
+
* `components`
|
|
452
|
+
* `dependencies`
|
|
453
|
+
* `services`
|
|
454
|
+
|
|
440
455
|
`summary` is a dictionary type with vulnerability severity quantities as shown in the example above.
|
|
441
456
|
Furthermore insights are imaginably to be made available to the template, please reach out or contribute on demand.
|
|
442
457
|
|
|
458
|
+
We appreciate if you like to contribute your report templates as examples, please add/find them [here](contrib/report-templates/).
|
|
459
|
+
|
|
443
460
|
## Discord support
|
|
444
461
|
|
|
445
462
|
The developers could be reached via the [discord](https://discord.gg/DCNxzaeUpd) channel for enterprise support.
|
|
@@ -1115,7 +1115,8 @@ def main():
|
|
|
1115
1115
|
# render report into template if wished
|
|
1116
1116
|
if args.report_template and os.path.isfile(args.report_template):
|
|
1117
1117
|
utils.render_template_report(
|
|
1118
|
-
|
|
1118
|
+
vdr_file=vdr_file,
|
|
1119
|
+
bom_file=bom_file,
|
|
1119
1120
|
summary=summary,
|
|
1120
1121
|
template_file=args.report_template,
|
|
1121
1122
|
result_file=os.path.join(reports_dir, args.report_name),
|
|
@@ -155,10 +155,12 @@ def create_pkg_variations(pkg_dict):
|
|
|
155
155
|
for suffix in COMMON_SUFFIXES:
|
|
156
156
|
if name.endswith(suffix):
|
|
157
157
|
name_aliases.add(name.replace(suffix, ""))
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
158
|
+
# The below aliasing is resulting in several false positives for npm
|
|
159
|
+
if pkg_type not in ("npm",):
|
|
160
|
+
for k, v in config.package_alias.items():
|
|
161
|
+
if name.startswith(k) or k.startswith(name) or v.startswith(name):
|
|
162
|
+
name_aliases.add(k)
|
|
163
|
+
name_aliases.add(v)
|
|
162
164
|
if pkg_type in config.OS_PKG_TYPES:
|
|
163
165
|
if "lib" in name:
|
|
164
166
|
name_aliases.add(name.replace("lib", ""))
|
|
@@ -413,22 +413,33 @@ def export_pdf(
|
|
|
413
413
|
|
|
414
414
|
|
|
415
415
|
def render_template_report(
|
|
416
|
-
|
|
416
|
+
vdr_file,
|
|
417
|
+
bom_file,
|
|
417
418
|
summary,
|
|
418
419
|
template_file,
|
|
419
420
|
result_file,
|
|
420
421
|
):
|
|
421
422
|
"""
|
|
422
|
-
Render the given
|
|
423
|
+
Render the given vdr_file (falling back to bom_file if no vdr was written)
|
|
424
|
+
and summary dict using the template_file with Jinja, rendered output is written
|
|
425
|
+
to named result_file in reports directory.
|
|
423
426
|
"""
|
|
424
|
-
|
|
425
|
-
|
|
427
|
+
if vdr_file and os.path.isfile(vdr_file):
|
|
428
|
+
with open(vdr_file, "r", encoding="utf-8") as f:
|
|
429
|
+
bom = json.load(f)
|
|
430
|
+
else:
|
|
431
|
+
with open(bom_file, "r", encoding="utf-8") as f:
|
|
432
|
+
bom = json.load(f)
|
|
426
433
|
with open(template_file, "r", encoding="utf-8") as tmpl_file:
|
|
427
434
|
template = tmpl_file.read()
|
|
428
435
|
jinja_env = Environment(autoescape=False)
|
|
429
436
|
jinja_tmpl = jinja_env.from_string(template)
|
|
430
437
|
report_result = jinja_tmpl.render(
|
|
431
|
-
|
|
438
|
+
metadata=bom.get('metadata', None),
|
|
439
|
+
vulnerabilities=bom.get('vulnerabilities', None),
|
|
440
|
+
components=bom.get('components', None),
|
|
441
|
+
dependencies=bom.get('dependencies', None),
|
|
442
|
+
services=bom.get('services', None),
|
|
432
443
|
summary=summary,
|
|
433
444
|
)
|
|
434
445
|
with open(result_file, "w", encoding="utf-8") as outfile:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: owasp-depscan
|
|
3
|
-
Version: 5.0
|
|
3
|
+
Version: 5.1.0
|
|
4
4
|
Summary: Fully open-source security audit for project dependencies based on known vulnerabilities and advisories.
|
|
5
5
|
Author-email: Team AppThreat <cloud@appthreat.com>
|
|
6
6
|
License: MIT
|
|
@@ -20,7 +20,7 @@ Classifier: Topic :: Utilities
|
|
|
20
20
|
Requires-Python: >=3.8
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
License-File: LICENSE
|
|
23
|
-
Requires-Dist: appthreat-vulnerability-db>=5.5.
|
|
23
|
+
Requires-Dist: appthreat-vulnerability-db>=5.5.6
|
|
24
24
|
Requires-Dist: defusedxml
|
|
25
25
|
Requires-Dist: oras
|
|
26
26
|
Requires-Dist: PyYAML
|
|
@@ -461,11 +461,19 @@ Giving it will pass the vulnerability report into your template for rendering th
|
|
|
461
461
|
Please find a basic example here:
|
|
462
462
|
|
|
463
463
|
```jinja
|
|
464
|
+
{% if metadata -%}
|
|
465
|
+
Report for {{ metadata.component.group }}:{{ metadata.component.name }}:{{ metadata.component.version }}
|
|
466
|
+
{% endif -%}
|
|
467
|
+
|
|
468
|
+
{% if vulnerabilities -%}
|
|
464
469
|
There were {{ vulnerabilities | length }} issues identified:
|
|
465
470
|
|
|
466
471
|
{% for vuln in vulnerabilities -%}
|
|
467
|
-
* {{ vuln
|
|
468
|
-
{% endfor
|
|
472
|
+
* {{ vuln['bom-ref'] }} - {{ vuln.recommendation }}
|
|
473
|
+
{% endfor -%}
|
|
474
|
+
{% else -%}
|
|
475
|
+
🏆 _No vulnerabilities found_
|
|
476
|
+
{% endif -%}
|
|
469
477
|
|
|
470
478
|
Severity counts:
|
|
471
479
|
* Low: {{ summary.LOW }}
|
|
@@ -475,10 +483,19 @@ Severity counts:
|
|
|
475
483
|
* Unspecified: {{ summary.UNSPECIFIED }}
|
|
476
484
|
```
|
|
477
485
|
|
|
478
|
-
The
|
|
486
|
+
The objects available are taken from the CycloneDX *.vdr.json BOM file generated, just have a look to the file for its full structure:
|
|
487
|
+
|
|
488
|
+
* `metadata`
|
|
489
|
+
* `vulnerabilities`
|
|
490
|
+
* `components`
|
|
491
|
+
* `dependencies`
|
|
492
|
+
* `services`
|
|
493
|
+
|
|
479
494
|
`summary` is a dictionary type with vulnerability severity quantities as shown in the example above.
|
|
480
495
|
Furthermore insights are imaginably to be made available to the template, please reach out or contribute on demand.
|
|
481
496
|
|
|
497
|
+
We appreciate if you like to contribute your report templates as examples, please add/find them [here](contrib/report-templates/).
|
|
498
|
+
|
|
482
499
|
## Discord support
|
|
483
500
|
|
|
484
501
|
The developers could be reached via the [discord](https://discord.gg/DCNxzaeUpd) channel for enterprise support.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "owasp-depscan"
|
|
3
|
-
version = "5.0
|
|
3
|
+
version = "5.1.0"
|
|
4
4
|
description = "Fully open-source security audit for project dependencies based on known vulnerabilities and advisories."
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Team AppThreat", email = "cloud@appthreat.com"},
|
|
7
7
|
]
|
|
8
8
|
dependencies = [
|
|
9
|
-
"appthreat-vulnerability-db>=5.5.
|
|
9
|
+
"appthreat-vulnerability-db>=5.5.6",
|
|
10
10
|
"defusedxml",
|
|
11
11
|
"oras",
|
|
12
12
|
"PyYAML",
|
|
@@ -87,12 +87,17 @@ def test_is_exe():
|
|
|
87
87
|
if os.path.exists("/bin/ls"):
|
|
88
88
|
assert utils.is_exe("/bin/ls")
|
|
89
89
|
|
|
90
|
-
def
|
|
90
|
+
def test_template_report_from_vdr():
|
|
91
91
|
utils.render_template_report(
|
|
92
|
-
|
|
92
|
+
vdr_file=os.path.join(
|
|
93
93
|
os.path.dirname(os.path.realpath(__file__)),
|
|
94
94
|
"data",
|
|
95
|
-
"
|
|
95
|
+
"jinja-report.vdr.json",
|
|
96
|
+
),
|
|
97
|
+
bom_file=os.path.join(
|
|
98
|
+
os.path.dirname(os.path.realpath(__file__)),
|
|
99
|
+
"data",
|
|
100
|
+
"jinja-report.bom.json",
|
|
96
101
|
),
|
|
97
102
|
summary={
|
|
98
103
|
"UNSPECIFIED": 0,
|
|
@@ -112,22 +117,45 @@ def test_template_report():
|
|
|
112
117
|
rendered_report = report_file.read()
|
|
113
118
|
|
|
114
119
|
assert rendered_report == """\
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
*
|
|
118
|
-
* CVE-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
120
|
+
Report for io.github.heubeck:examiner:1.11.26
|
|
121
|
+
Component count: 228
|
|
122
|
+
* BIT-apisix-2023-44487/pkg:maven/io.netty/netty-codec-http2@4.1.94.Final?type=jar - Update to 4.1.100.Final or later
|
|
123
|
+
* CVE-2023-4043/pkg:maven/org.eclipse.parsson/parsson@1.1.2?type=jar - Update to 1.1.4 or later
|
|
124
|
+
"""
|
|
125
|
+
os.remove("rendered.report")
|
|
126
|
+
|
|
127
|
+
def test_template_report_from_bom():
|
|
128
|
+
utils.render_template_report(
|
|
129
|
+
vdr_file=os.path.join(
|
|
130
|
+
os.path.dirname(os.path.realpath(__file__)),
|
|
131
|
+
"data",
|
|
132
|
+
"no-vdr-here",
|
|
133
|
+
),
|
|
134
|
+
bom_file=os.path.join(
|
|
135
|
+
os.path.dirname(os.path.realpath(__file__)),
|
|
136
|
+
"data",
|
|
137
|
+
"jinja-report.bom.json",
|
|
138
|
+
),
|
|
139
|
+
summary={
|
|
140
|
+
"UNSPECIFIED": 0,
|
|
141
|
+
"LOW": 0,
|
|
142
|
+
"MEDIUM": 0,
|
|
143
|
+
"HIGH": 0,
|
|
144
|
+
"CRITICAL": 0,
|
|
145
|
+
},
|
|
146
|
+
template_file=os.path.join(
|
|
147
|
+
os.path.dirname(os.path.realpath(__file__)),
|
|
148
|
+
"data",
|
|
149
|
+
"report-template.j2",
|
|
150
|
+
),
|
|
151
|
+
result_file="rendered.report"
|
|
152
|
+
)
|
|
153
|
+
with open("rendered.report", "r", encoding="utf-8") as report_file:
|
|
154
|
+
rendered_report = report_file.read()
|
|
155
|
+
|
|
156
|
+
assert rendered_report == """\
|
|
157
|
+
Report for io.github.heubeck:examiner:1.11.27
|
|
158
|
+
Component count: 230
|
|
159
|
+
🏆 No vulnerabilities found 🎉
|
|
160
|
+
"""
|
|
133
161
|
os.remove("rendered.report")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/agpl-3.0.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/apache-2.0.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/artistic-2.0.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/bsd-2-clause.txt
RENAMED
|
File without changes
|
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/bsd-3-clause.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/bsd-4-clause.txt
RENAMED
|
File without changes
|
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cc-by-4.0.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cc-by-sa-4.0.txt
RENAMED
|
File without changes
|
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cecill-2.1.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cern-ohl-p-2.0.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cern-ohl-s-2.0.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/cern-ohl-w-2.0.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/eupl-1.1.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/eupl-1.2.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/gfdl-1.3.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/lgpl-2.1.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/lgpl-3.0.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/lppl-1.3c.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/mulanpsl-2.0.txt
RENAMED
|
File without changes
|
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/odbl-1.0.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/postgresql.txt
RENAMED
|
File without changes
|
{owasp-depscan-5.0.3 → owasp-depscan-5.1.0}/vendor/choosealicense.com/_licenses/unlicense.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|