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.
Files changed (105) hide show
  1. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/pip-audit.yml +0 -2
  2. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/publish-pypi.yml +1 -6
  3. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/publish-testpypi.yml +1 -4
  4. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/trivy-fs-audit.yml +0 -2
  5. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.github/workflows/unit-test-coverage-gate.yml +0 -4
  6. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/CHANGELOG.md +41 -0
  7. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/PKG-INFO +46 -30
  8. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/README.md +45 -29
  9. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/pyproject.toml +1 -1
  10. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/requirements.txt +7 -7
  11. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_bandit_html.bat +3 -1
  12. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_bandit_html.sh +2 -1
  13. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_checkov_html.bat +3 -1
  14. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_checkov_html.sh +2 -1
  15. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_codeql_html.bat +3 -1
  16. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_codeql_html.sh +2 -1
  17. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_consolidated_html.bat +11 -1
  18. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_consolidated_html.sh +7 -1
  19. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_gitleaks_html.bat +3 -1
  20. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_gitleaks_html.sh +2 -1
  21. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_osv_scanner_html.bat +3 -1
  22. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_osv_scanner_html.sh +2 -1
  23. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_pip_audit_html.bat +3 -1
  24. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_pip_audit_html.sh +2 -1
  25. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_safety_html.bat +3 -1
  26. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_safety_html.sh +2 -1
  27. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_semgrep_html.bat +3 -1
  28. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_semgrep_html.sh +2 -1
  29. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_tfsec_html.bat +3 -1
  30. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_tfsec_html.sh +2 -1
  31. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_trivy_html.bat +3 -1
  32. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_trivy_html.sh +2 -1
  33. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_trufflehog_html.bat +3 -1
  34. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/render_trufflehog_html.sh +2 -1
  35. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/__init__.py +1 -1
  36. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/cli.py +45 -12
  37. sec_report_kit-0.4.4/src/sec_report_kit/models.py +41 -0
  38. sec_report_kit-0.4.4/src/sec_report_kit/parsers/cyclonedx.py +94 -0
  39. sec_report_kit-0.4.4/src/sec_report_kit/report/sbom_renderer.py +209 -0
  40. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/tests/test_cli.py +82 -3
  41. sec_report_kit-0.4.4/tests/test_cyclonedx.py +155 -0
  42. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/tests/test_html_renderer.py +1 -0
  43. sec_report_kit-0.3.4/src/sec_report_kit/models.py +0 -16
  44. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.gitattributes +0 -0
  45. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/.gitignore +0 -0
  46. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/bandit-gaps-vs-sast-open-source-tools.md +0 -0
  47. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/check_assets.py +0 -0
  48. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/download_safety_db.bat +0 -0
  49. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/download_safety_db.py +0 -0
  50. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/download_safety_db.sh +0 -0
  51. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/install_external_clis.py +0 -0
  52. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/install_tools.bat +0 -0
  53. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/install_tools.sh +0 -0
  54. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/mcp_add_workspace_filesystem.bat +0 -0
  55. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/mcp_add_workspace_filesystem.sh +0 -0
  56. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/mcp_add_workspace_filesystem_help.md +0 -0
  57. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_all_security_scans.bat +0 -0
  58. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_all_security_scans.sh +0 -0
  59. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_bandit.bat +0 -0
  60. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_bandit.sh +0 -0
  61. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_checkov.bat +0 -0
  62. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_checkov.sh +0 -0
  63. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_codeql.bat +0 -0
  64. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_codeql.sh +0 -0
  65. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_gitleaks.bat +0 -0
  66. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_gitleaks.sh +0 -0
  67. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_osv_scanner.bat +0 -0
  68. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_osv_scanner.sh +0 -0
  69. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_pip_audit.bat +0 -0
  70. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_pip_audit.sh +0 -0
  71. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_safety.bat +0 -0
  72. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_safety.sh +0 -0
  73. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_semgrep.bat +0 -0
  74. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_semgrep.sh +0 -0
  75. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_tfsec.bat +0 -0
  76. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_tfsec.sh +0 -0
  77. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_trivy.bat +0 -0
  78. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_trivy.sh +0 -0
  79. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_trufflehog.bat +0 -0
  80. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_trufflehog.sh +0 -0
  81. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_unit_tests_with_coverage.bat +0 -0
  82. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/scripts/run_unit_tests_with_coverage.sh +0 -0
  83. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/__main__.py +0 -0
  84. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/generate_consolidated_security_report.py +0 -0
  85. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/mcp/__init__.py +0 -0
  86. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/mcp/server.py +0 -0
  87. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/__init__.py +0 -0
  88. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/bandit.py +0 -0
  89. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/checkov.py +0 -0
  90. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/codeql.py +0 -0
  91. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/gitleaks.py +0 -0
  92. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/osv_scanner.py +0 -0
  93. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/pip_audit.py +0 -0
  94. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/safety.py +0 -0
  95. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/semgrep.py +0 -0
  96. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/tfsec.py +0 -0
  97. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/trivy.py +0 -0
  98. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/parsers/trufflehog.py +0 -0
  99. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/report/__init__.py +0 -0
  100. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/report/html_renderer.py +0 -0
  101. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/services/__init__.py +0 -0
  102. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/services/normalize.py +0 -0
  103. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/src/sec_report_kit/services/summarize.py +0 -0
  104. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/tests/test_mcp_server.py +0 -0
  105. {sec_report_kit-0.3.4 → sec_report_kit-0.4.4}/tests/test_parsers.py +0 -0
@@ -17,8 +17,6 @@ jobs:
17
17
  runs-on: ubuntu-latest
18
18
  steps:
19
19
  - uses: actions/checkout@v4
20
- with:
21
- token: ${{ secrets.REPO_ACCESS_TOKEN || github.token }}
22
20
 
23
21
  - uses: actions/setup-python@v5
24
22
  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:
@@ -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:
@@ -17,8 +17,6 @@ jobs:
17
17
  runs-on: ubuntu-latest
18
18
  steps:
19
19
  - uses: actions/checkout@v4
20
- with:
21
- token: ${{ secrets.REPO_ACCESS_TOKEN || github.token }}
22
20
 
23
21
  - name: Run Trivy filesystem scan
24
22
  uses: aquasecurity/trivy-action@v0.36.0
@@ -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.4
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
- > # Linux/macOS — download once, reuse offline
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
- > # Linux/macOS — download once, reuse offline
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.3.4"
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==47.0.0
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.13
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.2
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.0
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.12.1
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.27
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.0.0
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%