sec-report-kit 0.3.4__tar.gz → 0.4.4__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.
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/pip-audit.yml +0 -2
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/publish-pypi.yml +1 -6
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/publish-testpypi.yml +1 -4
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/trivy-fs-audit.yml +0 -2
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/unit-test-coverage-gate.yml +0 -4
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/CHANGELOG.md +41 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/PKG-INFO +46 -30
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/README.md +45 -29
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/pyproject.toml +1 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/requirements.txt +7 -7
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_bandit_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_bandit_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_checkov_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_checkov_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_codeql_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_codeql_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_consolidated_html.bat +11 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_consolidated_html.sh +7 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_gitleaks_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_gitleaks_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_osv_scanner_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_osv_scanner_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_pip_audit_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_pip_audit_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_safety_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_safety_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_semgrep_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_semgrep_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_tfsec_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_tfsec_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_trivy_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_trivy_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_trufflehog_html.bat +3 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_trufflehog_html.sh +2 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/__init__.py +1 -1
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/cli.py +45 -12
- sec_report_kit-0.4.4/src/sec_report_kit/models.py +41 -0
- sec_report_kit-0.4.4/src/sec_report_kit/parsers/cyclonedx.py +94 -0
- sec_report_kit-0.4.4/src/sec_report_kit/report/sbom_renderer.py +209 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/tests/test_cli.py +82 -3
- sec_report_kit-0.4.4/tests/test_cyclonedx.py +155 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/tests/test_html_renderer.py +1 -0
- sec_report_kit-0.3.4/src/sec_report_kit/models.py +0 -16
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.gitattributes +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.gitignore +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/bandit-gaps-vs-sast-open-source-tools.md +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/check_assets.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/download_safety_db.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/download_safety_db.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/download_safety_db.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/install_external_clis.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/install_tools.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/install_tools.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/mcp_add_workspace_filesystem.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/mcp_add_workspace_filesystem.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/mcp_add_workspace_filesystem_help.md +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_all_security_scans.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_all_security_scans.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_bandit.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_bandit.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_checkov.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_checkov.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_codeql.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_codeql.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_gitleaks.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_gitleaks.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_osv_scanner.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_osv_scanner.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_pip_audit.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_pip_audit.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_safety.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_safety.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_semgrep.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_semgrep.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_tfsec.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_tfsec.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_trivy.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_trivy.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_trufflehog.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_trufflehog.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_unit_tests_with_coverage.bat +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_unit_tests_with_coverage.sh +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/__main__.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/generate_consolidated_security_report.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/mcp/__init__.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/mcp/server.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/__init__.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/bandit.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/checkov.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/codeql.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/gitleaks.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/osv_scanner.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/pip_audit.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/safety.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/semgrep.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/tfsec.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/trivy.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/trufflehog.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/report/__init__.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/report/html_renderer.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/services/__init__.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/services/normalize.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/services/summarize.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/tests/test_mcp_server.py +0 -0
- {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/tests/test_parsers.py +0 -0
|
@@ -14,8 +14,6 @@ jobs:
|
|
|
14
14
|
runs-on: ubuntu-latest
|
|
15
15
|
steps:
|
|
16
16
|
- uses: actions/checkout@v4
|
|
17
|
-
with:
|
|
18
|
-
token: ${{ secrets.REPO_ACCESS_TOKEN || github.token }}
|
|
19
17
|
|
|
20
18
|
- uses: actions/setup-python@v5
|
|
21
19
|
with:
|
|
@@ -49,8 +47,6 @@ jobs:
|
|
|
49
47
|
runs-on: ubuntu-latest
|
|
50
48
|
steps:
|
|
51
49
|
- uses: actions/checkout@v4
|
|
52
|
-
with:
|
|
53
|
-
token: ${{ secrets.REPO_ACCESS_TOKEN || github.token }}
|
|
54
50
|
|
|
55
51
|
- uses: actions/setup-python@v5
|
|
56
52
|
with:
|
|
@@ -68,12 +64,11 @@ jobs:
|
|
|
68
64
|
runs-on: ubuntu-latest
|
|
69
65
|
environment: pypi
|
|
70
66
|
permissions:
|
|
67
|
+
contents: read # required for checkout on private repos
|
|
71
68
|
id-token: write # required for OIDC trusted publishing
|
|
72
69
|
|
|
73
70
|
steps:
|
|
74
71
|
- uses: actions/checkout@v4
|
|
75
|
-
with:
|
|
76
|
-
token: ${{ secrets.REPO_ACCESS_TOKEN || github.token }}
|
|
77
72
|
|
|
78
73
|
- uses: actions/setup-python@v5
|
|
79
74
|
with:
|
|
@@ -14,8 +14,6 @@ jobs:
|
|
|
14
14
|
runs-on: ubuntu-latest
|
|
15
15
|
steps:
|
|
16
16
|
- uses: actions/checkout@v4
|
|
17
|
-
with:
|
|
18
|
-
token: ${{ secrets.REPO_ACCESS_TOKEN || github.token }}
|
|
19
17
|
|
|
20
18
|
- uses: actions/setup-python@v5
|
|
21
19
|
with:
|
|
@@ -33,12 +31,11 @@ jobs:
|
|
|
33
31
|
runs-on: ubuntu-latest
|
|
34
32
|
environment: testpypi
|
|
35
33
|
permissions:
|
|
34
|
+
contents: read # required for checkout on private repos
|
|
36
35
|
id-token: write # required for OIDC trusted publishing
|
|
37
36
|
|
|
38
37
|
steps:
|
|
39
38
|
- uses: actions/checkout@v4
|
|
40
|
-
with:
|
|
41
|
-
token: ${{ secrets.REPO_ACCESS_TOKEN || github.token }}
|
|
42
39
|
|
|
43
40
|
- uses: actions/setup-python@v5
|
|
44
41
|
with:
|
|
@@ -15,8 +15,6 @@ jobs:
|
|
|
15
15
|
runs-on: ubuntu-latest
|
|
16
16
|
steps:
|
|
17
17
|
- uses: actions/checkout@v4
|
|
18
|
-
with:
|
|
19
|
-
token: ${{ secrets.REPO_ACCESS_TOKEN || github.token }}
|
|
20
18
|
|
|
21
19
|
- uses: actions/setup-python@v5
|
|
22
20
|
with:
|
|
@@ -36,8 +34,6 @@ jobs:
|
|
|
36
34
|
runs-on: ubuntu-latest
|
|
37
35
|
steps:
|
|
38
36
|
- uses: actions/checkout@v4
|
|
39
|
-
with:
|
|
40
|
-
token: ${{ secrets.REPO_ACCESS_TOKEN || github.token }}
|
|
41
37
|
|
|
42
38
|
- uses: actions/setup-python@v5
|
|
43
39
|
with:
|
|
@@ -2,6 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented in this file.
|
|
4
4
|
|
|
5
|
+
## 0.4.4 - 2026-07-12
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- Added `contents: read` to the PyPI/TestPyPI publish jobs. A job-level `permissions` block replaces the workflow default instead of merging, so declaring only `id-token: write` left `contents: none`, breaking checkout on the private repo. Trusted publishing (OIDC) is unaffected.
|
|
9
|
+
|
|
10
|
+
## 0.4.3 - 2026-07-12
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Removed the invalid `REPO_ACCESS_TOKEN` checkout override from all GitHub Actions workflows so they authenticate with the default `GITHUB_TOKEN`, fixing the "Repository not found" failures in the PyPI/TestPyPI publish pipelines.
|
|
14
|
+
|
|
15
|
+
## 0.4.2 - 2026-07-12
|
|
16
|
+
|
|
17
|
+
### Tests
|
|
18
|
+
- Added test coverage for the CycloneDX parser, SBOM HTML renderer, and `srk render sbom` command, restoring the enforced 100% suite coverage gate.
|
|
19
|
+
|
|
20
|
+
## 0.4.1 - 2026-07-12
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- Bumped `requirements.txt` pins to clear 13 fixable CRITICAL/HIGH/MEDIUM findings from the Trivy filesystem audit: `PyJWT` 2.12.1→2.13.0, `cryptography` 47.0.0→48.0.1, `idna` 3.13→3.15, `msgpack` 1.1.2→1.2.1, `pydantic-settings` 2.14.0→2.14.2, `python-multipart` 0.0.27→0.0.30, and `starlette` 1.0.0→1.3.1.
|
|
24
|
+
|
|
25
|
+
## 0.4.0 - 2026-07-12
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
- New CLI command: `srk render sbom` to render a CycloneDX SBOM JSON into an HTML component inventory report.
|
|
29
|
+
- New `Component` and `SbomDocument` models for representing SBOM component inventories.
|
|
30
|
+
- New CycloneDX parser (`parsers/cyclonedx.py`) handling `license.id`, `license.name`, and `expression` license shapes, with purl-derived ecosystem detection.
|
|
31
|
+
- New SBOM HTML renderer (`report/sbom_renderer.py`) with summary cards, component-type/ecosystem/license breakdowns, and a client-side filterable component table.
|
|
32
|
+
|
|
33
|
+
## 0.3.5 - 2026-05-21
|
|
34
|
+
|
|
35
|
+
### Added
|
|
36
|
+
- Added `--source` support across all `srk render <tool>` commands so report header labels can be fully caller-defined.
|
|
37
|
+
- Added optional `source_name` positional argument to all `scripts/render_*_html.(sh|bat)` helpers.
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
- Updated render helper scripts to forward both source and target labels to the HTML renderer.
|
|
41
|
+
- Updated README examples and helper-script documentation to include source/target customization.
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
- Preserved backward compatibility in consolidated helper scripts when the third argument is an option flag (for example `--modified-since`).
|
|
45
|
+
|
|
5
46
|
## 0.3.3 - 2026-05-21
|
|
6
47
|
|
|
7
48
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sec-report-kit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.4
|
|
4
4
|
Summary: Generate HTML security reports from Trivy, pip-audit, Safety, Bandit, and Gitleaks JSON
|
|
5
5
|
Author: Ravi Konduru
|
|
6
6
|
License: MIT
|
|
@@ -67,25 +67,25 @@ Both commands are available:
|
|
|
67
67
|
Render Trivy JSON:
|
|
68
68
|
|
|
69
69
|
```bash
|
|
70
|
-
srk render trivy --input security_reports/trivy-image-report-v1.0.21.json --output security_reports/report-trivy.html --target shankonduru/cpkc-poc:v1.0.21
|
|
70
|
+
srk render trivy --input security_reports/trivy-image-report-v1.0.21.json --output security_reports/report-trivy.html --source trivy --target shankonduru/cpkc-poc:v1.0.21
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
Render pip-audit JSON:
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
srk render pip-audit --input pip-audit.json --output security_reports/report-pip-audit.html --target requirements.txt
|
|
76
|
+
srk render pip-audit --input pip-audit.json --output security_reports/report-pip-audit.html --source pip-audit --target requirements.txt
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
Render Safety JSON:
|
|
80
80
|
|
|
81
81
|
```bash
|
|
82
|
-
srk render safety --input security_reports/safety.json --output security_reports/report-safety.html --target requirements.txt
|
|
82
|
+
srk render safety --input security_reports/safety.json --output security_reports/report-safety.html --source safety --target requirements.txt
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
Render a consolidated HTML report from all supported scanner files in a directory:
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
|
-
srk render consolidated --input security_reports --output security_reports --target sec-report-kit
|
|
88
|
+
srk render consolidated --input security_reports --output security_reports --source consolidated --target sec-report-kit
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
This command writes `consolidated-security-report.html` to the output folder.
|
|
@@ -95,14 +95,16 @@ The consolidated renderer reads raw JSON/SARIF inputs, generates the per-tool HT
|
|
|
95
95
|
Example with implicit output folder:
|
|
96
96
|
|
|
97
97
|
```bash
|
|
98
|
-
srk render consolidated --input security_reports --target sec-report-kit
|
|
98
|
+
srk render consolidated --input security_reports --source consolidated --target sec-report-kit
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
+
All render commands accept both `--source` and `--target` so callers can control the header values shown as `Source:` and `Target:` in generated HTML.
|
|
102
|
+
|
|
101
103
|
## Helper Scripts (bat/sh)
|
|
102
104
|
|
|
103
105
|
Cross-platform helper scripts are available in `scripts/`.
|
|
104
106
|
|
|
105
|
-
When render helpers are called without an explicit `<target_name>`, they automatically use the repository root folder name as the report target label.
|
|
107
|
+
When render helpers are called without an explicit `<target_name>`, they automatically use the repository root folder name as the report target label. If `<source_name>` is omitted, each helper uses its tool name (for example `trivy`, `gitleaks`, `consolidated`).
|
|
106
108
|
|
|
107
109
|
Install this package and Python-installable scanners:
|
|
108
110
|
|
|
@@ -181,7 +183,7 @@ scripts\run_safety.bat security_reports requirements.txt
|
|
|
181
183
|
> download the vulnerability DB while online and cache it locally:
|
|
182
184
|
>
|
|
183
185
|
> ```bash
|
|
184
|
-
|
|
186
|
+
When render helpers are called without an explicit `<target_name>`, they automatically use the repository root folder name as the report target label. If `<source_name>` is omitted, each helper uses its tool name (for example `trivy`, `gitleaks`, `consolidated`).
|
|
185
187
|
> bash scripts/download_safety_db.sh
|
|
186
188
|
>
|
|
187
189
|
> # Windows
|
|
@@ -213,25 +215,29 @@ scripts\run_bandit.bat security_reports src
|
|
|
213
215
|
Convert pip-audit JSON report to HTML:
|
|
214
216
|
|
|
215
217
|
```bash
|
|
216
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
218
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
217
219
|
bash scripts/render_pip_audit_html.sh
|
|
218
220
|
bash scripts/render_pip_audit_html.sh reports requirements.txt
|
|
221
|
+
bash scripts/render_pip_audit_html.sh reports requirements.txt sbom-scan
|
|
219
222
|
|
|
220
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
223
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
221
224
|
scripts\render_pip_audit_html.bat
|
|
222
225
|
scripts\render_pip_audit_html.bat reports requirements.txt
|
|
226
|
+
scripts\render_pip_audit_html.bat reports requirements.txt sbom-scan
|
|
223
227
|
```
|
|
224
228
|
|
|
225
229
|
Convert Safety JSON report to HTML:
|
|
226
230
|
|
|
227
231
|
```bash
|
|
228
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
232
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
229
233
|
bash scripts/render_safety_html.sh
|
|
230
234
|
bash scripts/render_safety_html.sh security_reports requirements.txt
|
|
235
|
+
bash scripts/render_safety_html.sh security_reports requirements.txt safety-db
|
|
231
236
|
|
|
232
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
237
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
233
238
|
scripts\render_safety_html.bat
|
|
234
239
|
scripts\render_safety_html.bat security_reports requirements.txt
|
|
240
|
+
scripts\render_safety_html.bat security_reports requirements.txt safety-db
|
|
235
241
|
```
|
|
236
242
|
|
|
237
243
|
These render helpers generate the HTML file and open it automatically in your default browser.
|
|
@@ -239,27 +245,33 @@ These render helpers generate the HTML file and open it automatically in your de
|
|
|
239
245
|
Convert sample Trivy JSON report to HTML:
|
|
240
246
|
|
|
241
247
|
```bash
|
|
242
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
248
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
243
249
|
bash scripts/render_trivy_html.sh
|
|
244
250
|
bash scripts/render_trivy_html.sh security_reports my-image
|
|
251
|
+
bash scripts/render_trivy_html.sh security_reports my-image image-scan
|
|
245
252
|
|
|
246
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
253
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
247
254
|
scripts\render_trivy_html.bat
|
|
248
255
|
scripts\render_trivy_html.bat security_reports my-image
|
|
256
|
+
scripts\render_trivy_html.bat security_reports my-image image-scan
|
|
249
257
|
```
|
|
250
258
|
|
|
251
259
|
Convert all supported scanner reports in a folder to one consolidated HTML report:
|
|
252
260
|
|
|
253
261
|
```bash
|
|
254
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
262
|
+
# Linux/macOS (optional args: <report_dir> <target_name> [source_name])
|
|
255
263
|
bash scripts/render_consolidated_html.sh
|
|
256
264
|
bash scripts/render_consolidated_html.sh security_reports sec-report-kit
|
|
265
|
+
bash scripts/render_consolidated_html.sh security_reports sec-report-kit consolidated-dashboard
|
|
257
266
|
|
|
258
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
267
|
+
# Windows (optional args: <report_dir> <target_name> [source_name])
|
|
259
268
|
scripts\render_consolidated_html.bat
|
|
260
269
|
scripts\render_consolidated_html.bat security_reports sec-report-kit
|
|
270
|
+
scripts\render_consolidated_html.bat security_reports sec-report-kit consolidated-dashboard
|
|
261
271
|
```
|
|
262
272
|
|
|
273
|
+
For consolidated scripts, when the 3rd argument starts with `--`, it is treated as an extra CLI option (for backward compatibility with existing `--modified-since` usage).
|
|
274
|
+
|
|
263
275
|
You can also restrict which report files are picked up by modification time and cap how many of the newest files are included:
|
|
264
276
|
|
|
265
277
|
```bash
|
|
@@ -293,25 +305,29 @@ scripts\render_consolidated_html.bat security_reports sec-report-kit --modified-
|
|
|
293
305
|
Convert sample Bandit JSON report to HTML:
|
|
294
306
|
|
|
295
307
|
```bash
|
|
296
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
308
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
297
309
|
bash scripts/render_bandit_html.sh
|
|
298
310
|
bash scripts/render_bandit_html.sh security_reports my-python-project
|
|
311
|
+
bash scripts/render_bandit_html.sh security_reports my-python-project python-sast
|
|
299
312
|
|
|
300
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
313
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
301
314
|
scripts\render_bandit_html.bat
|
|
302
315
|
scripts\render_bandit_html.bat security_reports my-python-project
|
|
316
|
+
scripts\render_bandit_html.bat security_reports my-python-project python-sast
|
|
303
317
|
```
|
|
304
318
|
|
|
305
319
|
Convert sample Gitleaks JSON report to HTML:
|
|
306
320
|
|
|
307
321
|
```bash
|
|
308
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
322
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
309
323
|
bash scripts/render_gitleaks_html.sh
|
|
310
324
|
bash scripts/render_gitleaks_html.sh security_reports my-repository
|
|
325
|
+
bash scripts/render_gitleaks_html.sh security_reports my-repository secret-scan
|
|
311
326
|
|
|
312
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
327
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
313
328
|
scripts\render_gitleaks_html.bat
|
|
314
329
|
scripts\render_gitleaks_html.bat security_reports my-repository
|
|
330
|
+
scripts\render_gitleaks_html.bat security_reports my-repository secret-scan
|
|
315
331
|
```
|
|
316
332
|
|
|
317
333
|
By default, JSON is written to `reports/pip-audit.json` and HTML to `reports/pip-audit-report.html`.
|
|
@@ -399,16 +415,16 @@ scripts\render_gitleaks_html.bat security_reports my-repository
|
|
|
399
415
|
Manual CLI render examples:
|
|
400
416
|
|
|
401
417
|
```bash
|
|
402
|
-
srk render semgrep --input security_reports/semgrep.json --output security_reports/semgrep-report.html --target my-repo
|
|
403
|
-
srk render codeql --input security_reports/codeql.sarif.json --output security_reports/codeql-report.html --target my-repo
|
|
404
|
-
srk render osv-scanner --input security_reports/osv-scanner.json --output security_reports/osv-scanner-report.html --target requirements.txt
|
|
405
|
-
srk render safety --input security_reports/safety.json --output security_reports/safety-report.html --target requirements.txt
|
|
406
|
-
srk render checkov --input security_reports/checkov.json --output security_reports/checkov-report.html --target terraform
|
|
407
|
-
srk render tfsec --input security_reports/tfsec.json --output security_reports/tfsec-report.html --target terraform
|
|
408
|
-
srk render trufflehog --input security_reports/trufflehog.json --output security_reports/trufflehog-report.html --target my-repo
|
|
409
|
-
srk render bandit --input security_reports/bandit.json --output security_reports/bandit-report.html --target my-python-project
|
|
410
|
-
srk render gitleaks --input security_reports/gitleaks.json --output security_reports/gitleaks-report.html --target my-repository
|
|
411
|
-
srk render trivy --input security_reports/trivy-image-report-v1.0.21.json --output security_reports/trivy-report.html --target my-image
|
|
418
|
+
srk render semgrep --input security_reports/semgrep.json --output security_reports/semgrep-report.html --source semgrep --target my-repo
|
|
419
|
+
srk render codeql --input security_reports/codeql.sarif.json --output security_reports/codeql-report.html --source codeql --target my-repo
|
|
420
|
+
srk render osv-scanner --input security_reports/osv-scanner.json --output security_reports/osv-scanner-report.html --source osv-scanner --target requirements.txt
|
|
421
|
+
srk render safety --input security_reports/safety.json --output security_reports/safety-report.html --source safety --target requirements.txt
|
|
422
|
+
srk render checkov --input security_reports/checkov.json --output security_reports/checkov-report.html --source checkov --target terraform
|
|
423
|
+
srk render tfsec --input security_reports/tfsec.json --output security_reports/tfsec-report.html --source tfsec --target terraform
|
|
424
|
+
srk render trufflehog --input security_reports/trufflehog.json --output security_reports/trufflehog-report.html --source trufflehog --target my-repo
|
|
425
|
+
srk render bandit --input security_reports/bandit.json --output security_reports/bandit-report.html --source bandit --target my-python-project
|
|
426
|
+
srk render gitleaks --input security_reports/gitleaks.json --output security_reports/gitleaks-report.html --source gitleaks --target my-repository
|
|
427
|
+
srk render trivy --input security_reports/trivy-image-report-v1.0.21.json --output security_reports/trivy-report.html --source trivy --target my-image
|
|
412
428
|
```
|
|
413
429
|
|
|
414
430
|
## MCP Server
|
|
@@ -40,25 +40,25 @@ Both commands are available:
|
|
|
40
40
|
Render Trivy JSON:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
srk render trivy --input security_reports/trivy-image-report-v1.0.21.json --output security_reports/report-trivy.html --target shankonduru/cpkc-poc:v1.0.21
|
|
43
|
+
srk render trivy --input security_reports/trivy-image-report-v1.0.21.json --output security_reports/report-trivy.html --source trivy --target shankonduru/cpkc-poc:v1.0.21
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
Render pip-audit JSON:
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
srk render pip-audit --input pip-audit.json --output security_reports/report-pip-audit.html --target requirements.txt
|
|
49
|
+
srk render pip-audit --input pip-audit.json --output security_reports/report-pip-audit.html --source pip-audit --target requirements.txt
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
Render Safety JSON:
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
srk render safety --input security_reports/safety.json --output security_reports/report-safety.html --target requirements.txt
|
|
55
|
+
srk render safety --input security_reports/safety.json --output security_reports/report-safety.html --source safety --target requirements.txt
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
Render a consolidated HTML report from all supported scanner files in a directory:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
srk render consolidated --input security_reports --output security_reports --target sec-report-kit
|
|
61
|
+
srk render consolidated --input security_reports --output security_reports --source consolidated --target sec-report-kit
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
This command writes `consolidated-security-report.html` to the output folder.
|
|
@@ -68,14 +68,16 @@ The consolidated renderer reads raw JSON/SARIF inputs, generates the per-tool HT
|
|
|
68
68
|
Example with implicit output folder:
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
srk render consolidated --input security_reports --target sec-report-kit
|
|
71
|
+
srk render consolidated --input security_reports --source consolidated --target sec-report-kit
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
+
All render commands accept both `--source` and `--target` so callers can control the header values shown as `Source:` and `Target:` in generated HTML.
|
|
75
|
+
|
|
74
76
|
## Helper Scripts (bat/sh)
|
|
75
77
|
|
|
76
78
|
Cross-platform helper scripts are available in `scripts/`.
|
|
77
79
|
|
|
78
|
-
When render helpers are called without an explicit `<target_name>`, they automatically use the repository root folder name as the report target label.
|
|
80
|
+
When render helpers are called without an explicit `<target_name>`, they automatically use the repository root folder name as the report target label. If `<source_name>` is omitted, each helper uses its tool name (for example `trivy`, `gitleaks`, `consolidated`).
|
|
79
81
|
|
|
80
82
|
Install this package and Python-installable scanners:
|
|
81
83
|
|
|
@@ -154,7 +156,7 @@ scripts\run_safety.bat security_reports requirements.txt
|
|
|
154
156
|
> download the vulnerability DB while online and cache it locally:
|
|
155
157
|
>
|
|
156
158
|
> ```bash
|
|
157
|
-
|
|
159
|
+
When render helpers are called without an explicit `<target_name>`, they automatically use the repository root folder name as the report target label. If `<source_name>` is omitted, each helper uses its tool name (for example `trivy`, `gitleaks`, `consolidated`).
|
|
158
160
|
> bash scripts/download_safety_db.sh
|
|
159
161
|
>
|
|
160
162
|
> # Windows
|
|
@@ -186,25 +188,29 @@ scripts\run_bandit.bat security_reports src
|
|
|
186
188
|
Convert pip-audit JSON report to HTML:
|
|
187
189
|
|
|
188
190
|
```bash
|
|
189
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
191
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
190
192
|
bash scripts/render_pip_audit_html.sh
|
|
191
193
|
bash scripts/render_pip_audit_html.sh reports requirements.txt
|
|
194
|
+
bash scripts/render_pip_audit_html.sh reports requirements.txt sbom-scan
|
|
192
195
|
|
|
193
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
196
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
194
197
|
scripts\render_pip_audit_html.bat
|
|
195
198
|
scripts\render_pip_audit_html.bat reports requirements.txt
|
|
199
|
+
scripts\render_pip_audit_html.bat reports requirements.txt sbom-scan
|
|
196
200
|
```
|
|
197
201
|
|
|
198
202
|
Convert Safety JSON report to HTML:
|
|
199
203
|
|
|
200
204
|
```bash
|
|
201
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
205
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
202
206
|
bash scripts/render_safety_html.sh
|
|
203
207
|
bash scripts/render_safety_html.sh security_reports requirements.txt
|
|
208
|
+
bash scripts/render_safety_html.sh security_reports requirements.txt safety-db
|
|
204
209
|
|
|
205
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
210
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
206
211
|
scripts\render_safety_html.bat
|
|
207
212
|
scripts\render_safety_html.bat security_reports requirements.txt
|
|
213
|
+
scripts\render_safety_html.bat security_reports requirements.txt safety-db
|
|
208
214
|
```
|
|
209
215
|
|
|
210
216
|
These render helpers generate the HTML file and open it automatically in your default browser.
|
|
@@ -212,27 +218,33 @@ These render helpers generate the HTML file and open it automatically in your de
|
|
|
212
218
|
Convert sample Trivy JSON report to HTML:
|
|
213
219
|
|
|
214
220
|
```bash
|
|
215
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
221
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
216
222
|
bash scripts/render_trivy_html.sh
|
|
217
223
|
bash scripts/render_trivy_html.sh security_reports my-image
|
|
224
|
+
bash scripts/render_trivy_html.sh security_reports my-image image-scan
|
|
218
225
|
|
|
219
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
226
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
220
227
|
scripts\render_trivy_html.bat
|
|
221
228
|
scripts\render_trivy_html.bat security_reports my-image
|
|
229
|
+
scripts\render_trivy_html.bat security_reports my-image image-scan
|
|
222
230
|
```
|
|
223
231
|
|
|
224
232
|
Convert all supported scanner reports in a folder to one consolidated HTML report:
|
|
225
233
|
|
|
226
234
|
```bash
|
|
227
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
235
|
+
# Linux/macOS (optional args: <report_dir> <target_name> [source_name])
|
|
228
236
|
bash scripts/render_consolidated_html.sh
|
|
229
237
|
bash scripts/render_consolidated_html.sh security_reports sec-report-kit
|
|
238
|
+
bash scripts/render_consolidated_html.sh security_reports sec-report-kit consolidated-dashboard
|
|
230
239
|
|
|
231
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
240
|
+
# Windows (optional args: <report_dir> <target_name> [source_name])
|
|
232
241
|
scripts\render_consolidated_html.bat
|
|
233
242
|
scripts\render_consolidated_html.bat security_reports sec-report-kit
|
|
243
|
+
scripts\render_consolidated_html.bat security_reports sec-report-kit consolidated-dashboard
|
|
234
244
|
```
|
|
235
245
|
|
|
246
|
+
For consolidated scripts, when the 3rd argument starts with `--`, it is treated as an extra CLI option (for backward compatibility with existing `--modified-since` usage).
|
|
247
|
+
|
|
236
248
|
You can also restrict which report files are picked up by modification time and cap how many of the newest files are included:
|
|
237
249
|
|
|
238
250
|
```bash
|
|
@@ -266,25 +278,29 @@ scripts\render_consolidated_html.bat security_reports sec-report-kit --modified-
|
|
|
266
278
|
Convert sample Bandit JSON report to HTML:
|
|
267
279
|
|
|
268
280
|
```bash
|
|
269
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
281
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
270
282
|
bash scripts/render_bandit_html.sh
|
|
271
283
|
bash scripts/render_bandit_html.sh security_reports my-python-project
|
|
284
|
+
bash scripts/render_bandit_html.sh security_reports my-python-project python-sast
|
|
272
285
|
|
|
273
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
286
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
274
287
|
scripts\render_bandit_html.bat
|
|
275
288
|
scripts\render_bandit_html.bat security_reports my-python-project
|
|
289
|
+
scripts\render_bandit_html.bat security_reports my-python-project python-sast
|
|
276
290
|
```
|
|
277
291
|
|
|
278
292
|
Convert sample Gitleaks JSON report to HTML:
|
|
279
293
|
|
|
280
294
|
```bash
|
|
281
|
-
# Linux/macOS (optional args: <report_dir> <target_name>)
|
|
295
|
+
# Linux/macOS (optional args: <report_dir> <target_name> <source_name>)
|
|
282
296
|
bash scripts/render_gitleaks_html.sh
|
|
283
297
|
bash scripts/render_gitleaks_html.sh security_reports my-repository
|
|
298
|
+
bash scripts/render_gitleaks_html.sh security_reports my-repository secret-scan
|
|
284
299
|
|
|
285
|
-
# Windows (optional args: <report_dir> <target_name>)
|
|
300
|
+
# Windows (optional args: <report_dir> <target_name> <source_name>)
|
|
286
301
|
scripts\render_gitleaks_html.bat
|
|
287
302
|
scripts\render_gitleaks_html.bat security_reports my-repository
|
|
303
|
+
scripts\render_gitleaks_html.bat security_reports my-repository secret-scan
|
|
288
304
|
```
|
|
289
305
|
|
|
290
306
|
By default, JSON is written to `reports/pip-audit.json` and HTML to `reports/pip-audit-report.html`.
|
|
@@ -372,16 +388,16 @@ scripts\render_gitleaks_html.bat security_reports my-repository
|
|
|
372
388
|
Manual CLI render examples:
|
|
373
389
|
|
|
374
390
|
```bash
|
|
375
|
-
srk render semgrep --input security_reports/semgrep.json --output security_reports/semgrep-report.html --target my-repo
|
|
376
|
-
srk render codeql --input security_reports/codeql.sarif.json --output security_reports/codeql-report.html --target my-repo
|
|
377
|
-
srk render osv-scanner --input security_reports/osv-scanner.json --output security_reports/osv-scanner-report.html --target requirements.txt
|
|
378
|
-
srk render safety --input security_reports/safety.json --output security_reports/safety-report.html --target requirements.txt
|
|
379
|
-
srk render checkov --input security_reports/checkov.json --output security_reports/checkov-report.html --target terraform
|
|
380
|
-
srk render tfsec --input security_reports/tfsec.json --output security_reports/tfsec-report.html --target terraform
|
|
381
|
-
srk render trufflehog --input security_reports/trufflehog.json --output security_reports/trufflehog-report.html --target my-repo
|
|
382
|
-
srk render bandit --input security_reports/bandit.json --output security_reports/bandit-report.html --target my-python-project
|
|
383
|
-
srk render gitleaks --input security_reports/gitleaks.json --output security_reports/gitleaks-report.html --target my-repository
|
|
384
|
-
srk render trivy --input security_reports/trivy-image-report-v1.0.21.json --output security_reports/trivy-report.html --target my-image
|
|
391
|
+
srk render semgrep --input security_reports/semgrep.json --output security_reports/semgrep-report.html --source semgrep --target my-repo
|
|
392
|
+
srk render codeql --input security_reports/codeql.sarif.json --output security_reports/codeql-report.html --source codeql --target my-repo
|
|
393
|
+
srk render osv-scanner --input security_reports/osv-scanner.json --output security_reports/osv-scanner-report.html --source osv-scanner --target requirements.txt
|
|
394
|
+
srk render safety --input security_reports/safety.json --output security_reports/safety-report.html --source safety --target requirements.txt
|
|
395
|
+
srk render checkov --input security_reports/checkov.json --output security_reports/checkov-report.html --source checkov --target terraform
|
|
396
|
+
srk render tfsec --input security_reports/tfsec.json --output security_reports/tfsec-report.html --source tfsec --target terraform
|
|
397
|
+
srk render trufflehog --input security_reports/trufflehog.json --output security_reports/trufflehog-report.html --source trufflehog --target my-repo
|
|
398
|
+
srk render bandit --input security_reports/bandit.json --output security_reports/bandit-report.html --source bandit --target my-python-project
|
|
399
|
+
srk render gitleaks --input security_reports/gitleaks.json --output security_reports/gitleaks-report.html --source gitleaks --target my-repository
|
|
400
|
+
srk render trivy --input security_reports/trivy-image-report-v1.0.21.json --output security_reports/trivy-report.html --source trivy --target my-image
|
|
385
401
|
```
|
|
386
402
|
|
|
387
403
|
## MCP Server
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "sec-report-kit"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.4.4"
|
|
8
8
|
description = "Generate HTML security reports from Trivy, pip-audit, Safety, Bandit, and Gitleaks JSON"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -12,7 +12,7 @@ charset-normalizer==3.4.7
|
|
|
12
12
|
click==8.3.3
|
|
13
13
|
colorama==0.4.6
|
|
14
14
|
coverage==7.14.0
|
|
15
|
-
cryptography==
|
|
15
|
+
cryptography==48.0.1
|
|
16
16
|
cyclonedx-python-lib==11.7.0
|
|
17
17
|
defusedxml==0.7.1
|
|
18
18
|
docutils==0.22.4
|
|
@@ -22,7 +22,7 @@ httpcore==1.0.9
|
|
|
22
22
|
httpx==0.28.1
|
|
23
23
|
httpx-sse==0.4.3
|
|
24
24
|
id==1.6.1
|
|
25
|
-
idna==3.
|
|
25
|
+
idna==3.15
|
|
26
26
|
iniconfig==2.3.0
|
|
27
27
|
jaraco.classes==3.4.0
|
|
28
28
|
jaraco.context==6.1.2
|
|
@@ -35,7 +35,7 @@ markdown-it-py==4.0.0
|
|
|
35
35
|
mcp==1.27.0
|
|
36
36
|
mdurl==0.1.2
|
|
37
37
|
more-itertools==11.0.2
|
|
38
|
-
msgpack==1.1
|
|
38
|
+
msgpack==1.2.1
|
|
39
39
|
nh3==0.3.5
|
|
40
40
|
packageurl-python==0.17.6
|
|
41
41
|
packaging==26.2
|
|
@@ -47,17 +47,17 @@ pluggy==1.6.0
|
|
|
47
47
|
py-serializable==2.1.0
|
|
48
48
|
pycparser==3.0
|
|
49
49
|
pydantic==2.13.3
|
|
50
|
-
pydantic-settings==2.14.
|
|
50
|
+
pydantic-settings==2.14.2
|
|
51
51
|
pydantic_core==2.46.3
|
|
52
52
|
pyfiglet==1.0.4
|
|
53
53
|
Pygments==2.20.0
|
|
54
|
-
PyJWT==2.
|
|
54
|
+
PyJWT==2.13.0
|
|
55
55
|
pyparsing==3.3.2
|
|
56
56
|
pyproject_hooks==1.2.0
|
|
57
57
|
pytest==9.0.3
|
|
58
58
|
pytest-cov==7.1.0
|
|
59
59
|
python-dotenv==1.2.2
|
|
60
|
-
python-multipart==0.0.
|
|
60
|
+
python-multipart==0.0.30
|
|
61
61
|
pywin32==311
|
|
62
62
|
pywin32-ctypes==0.2.3
|
|
63
63
|
PyYAML==6.0.3
|
|
@@ -72,7 +72,7 @@ rpds-py==0.30.0
|
|
|
72
72
|
shellingham==1.5.4
|
|
73
73
|
sortedcontainers==2.4.0
|
|
74
74
|
sse-starlette==3.4.1
|
|
75
|
-
starlette==1.
|
|
75
|
+
starlette==1.3.1
|
|
76
76
|
stevedore==5.7.0
|
|
77
77
|
tomli==2.4.1
|
|
78
78
|
tomli_w==1.2.0
|
|
@@ -9,6 +9,8 @@ if "%REPORT_DIR%"=="" set "REPORT_DIR=security_reports"
|
|
|
9
9
|
|
|
10
10
|
set "TARGET_NAME=%~2"
|
|
11
11
|
if "%TARGET_NAME%"=="" for %%I in ("%~dp0..") do set "TARGET_NAME=%%~nxI"
|
|
12
|
+
set "SOURCE_NAME=%~3"
|
|
13
|
+
if "%SOURCE_NAME%"=="" set "SOURCE_NAME=bandit"
|
|
12
14
|
|
|
13
15
|
set "IN_JSON=%REPORT_DIR%\bandit.json"
|
|
14
16
|
set "OUT_HTML=%REPORT_DIR%\bandit-report.html"
|
|
@@ -18,7 +20,7 @@ if not exist "%IN_JSON%" (
|
|
|
18
20
|
exit /b 1
|
|
19
21
|
)
|
|
20
22
|
|
|
21
|
-
"%PYTHON_BIN%" -m sec_report_kit render bandit --input "%IN_JSON%" --output "%OUT_HTML%" --target "%TARGET_NAME%"
|
|
23
|
+
"%PYTHON_BIN%" -m sec_report_kit render bandit --input "%IN_JSON%" --output "%OUT_HTML%" --source "%SOURCE_NAME%" --target "%TARGET_NAME%"
|
|
22
24
|
if errorlevel 1 exit /b 1
|
|
23
25
|
|
|
24
26
|
echo HTML report written to %OUT_HTML%
|
|
@@ -9,6 +9,7 @@ fi
|
|
|
9
9
|
REPORT_DIR="${1:-security_reports}"
|
|
10
10
|
ROOT_NAME="$(basename "$(cd "$(dirname "$0")/.." && pwd)")"
|
|
11
11
|
TARGET_NAME="${2:-${ROOT_NAME}}"
|
|
12
|
+
SOURCE_NAME="${3:-bandit}"
|
|
12
13
|
IN_JSON="${REPORT_DIR}/bandit.json"
|
|
13
14
|
OUT_HTML="${REPORT_DIR}/bandit-report.html"
|
|
14
15
|
|
|
@@ -29,7 +30,7 @@ if [[ ! -f "${IN_JSON}" ]]; then
|
|
|
29
30
|
exit 1
|
|
30
31
|
fi
|
|
31
32
|
|
|
32
|
-
"${PYTHON_BIN}" -m sec_report_kit render bandit --input "${IN_JSON}" --output "${OUT_HTML}" --target "${TARGET_NAME}"
|
|
33
|
+
"${PYTHON_BIN}" -m sec_report_kit render bandit --input "${IN_JSON}" --output "${OUT_HTML}" --source "${SOURCE_NAME}" --target "${TARGET_NAME}"
|
|
33
34
|
|
|
34
35
|
echo "HTML report written to ${OUT_HTML}"
|
|
35
36
|
open_html "${OUT_HTML}"
|
|
@@ -9,6 +9,8 @@ if "%REPORT_DIR%"=="" set "REPORT_DIR=security_reports"
|
|
|
9
9
|
|
|
10
10
|
set "TARGET_NAME=%~2"
|
|
11
11
|
if "%TARGET_NAME%"=="" for %%I in ("%~dp0..") do set "TARGET_NAME=%%~nxI"
|
|
12
|
+
set "SOURCE_NAME=%~3"
|
|
13
|
+
if "%SOURCE_NAME%"=="" set "SOURCE_NAME=checkov"
|
|
12
14
|
|
|
13
15
|
set "IN_JSON=%REPORT_DIR%\checkov.json"
|
|
14
16
|
set "OUT_HTML=%REPORT_DIR%\checkov-report.html"
|
|
@@ -19,7 +21,7 @@ if not exist "%IN_JSON%" (
|
|
|
19
21
|
exit /b 1
|
|
20
22
|
)
|
|
21
23
|
|
|
22
|
-
"%PYTHON_BIN%" -m sec_report_kit render checkov --input "%IN_JSON%" --output "%OUT_HTML%" --target "%TARGET_NAME%"
|
|
24
|
+
"%PYTHON_BIN%" -m sec_report_kit render checkov --input "%IN_JSON%" --output "%OUT_HTML%" --source "%SOURCE_NAME%" --target "%TARGET_NAME%"
|
|
23
25
|
if errorlevel 1 exit /b 1
|
|
24
26
|
|
|
25
27
|
echo HTML report written to %OUT_HTML%
|