devsecops-radar 0.2.7__tar.gz → 0.2.9__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.
- {devsecops_radar-0.2.7/devsecops_radar.egg-info → devsecops_radar-0.2.9}/PKG-INFO +4 -4
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/README.md +4 -4
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/summary/routes.py +15 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9/devsecops_radar.egg-info}/PKG-INFO +4 -4
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/pyproject.toml +1 -1
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/LICENSE +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/MANIFEST.in +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/__init__.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/cli/__init__.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/cli/scanner.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/__init__.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/analyzer.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/attack_simulation.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/database.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/models.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/parser.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/rag.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/remediation.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/reporting.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/rule_fusion.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/sbom.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/core/valuation.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/plugins/__init__.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/scanners/adapter.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/scanners/base.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/scanners/gitleaks.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/scanners/poutine.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/scanners/semgrep.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/scanners/trivy.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/scanners/zizmor.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/__init__.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/app.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/attack_paths/__init__.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/attack_paths/routes.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/dashboard/__init__.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/dashboard/routes.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/sentry/routes.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/static/css/bootstrap.min.css +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/static/css/style.css +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/static/js/bootstrap.bundle.min.js +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/static/js/chart.umd.min.js +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/static/js/dashboard.js +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/summary/__init__.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/templates/index.html +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/topology/__init__.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/topology/routes.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar.egg-info/SOURCES.txt +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar.egg-info/dependency_links.txt +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar.egg-info/entry_points.txt +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar.egg-info/requires.txt +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar.egg-info/top_level.txt +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/setup.cfg +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/tests/test_cli.py +0 -0
- {devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/tests/test_scanners.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devsecops-radar
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.9
|
|
4
4
|
Summary: Unified CI/CD Security Dashboard — Pipeline Sentinel
|
|
5
5
|
Author-email: Mehrdoost <70381337+Mehrdoost@users.noreply.github.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -107,8 +107,8 @@ Pipeline Sentinel is designed to be **flexible** — you decide where it fits be
|
|
|
107
107
|
[Gitleaks scan] ┘
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
> **📌 Diagram Placeholder:**
|
|
111
|
-
|
|
110
|
+
> **📌 Diagram Placeholder:**
|
|
111
|
+

|
|
112
112
|
|
|
113
113
|
---
|
|
114
114
|
|
|
@@ -389,7 +389,7 @@ devsecops_radar/
|
|
|
389
389
|
```
|
|
390
390
|
|
|
391
391
|
> **📌 Diagram Placeholder:**
|
|
392
|
-
|
|
392
|
+

|
|
393
393
|
|
|
394
394
|
---
|
|
395
395
|
|
|
@@ -81,8 +81,8 @@ Pipeline Sentinel is designed to be **flexible** — you decide where it fits be
|
|
|
81
81
|
[Gitleaks scan] ┘
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
> **📌 Diagram Placeholder:**
|
|
85
|
-
|
|
84
|
+
> **📌 Diagram Placeholder:**
|
|
85
|
+

|
|
86
86
|
|
|
87
87
|
---
|
|
88
88
|
|
|
@@ -363,7 +363,7 @@ devsecops_radar/
|
|
|
363
363
|
```
|
|
364
364
|
|
|
365
365
|
> **📌 Diagram Placeholder:**
|
|
366
|
-
|
|
366
|
+

|
|
367
367
|
|
|
368
368
|
---
|
|
369
369
|
|
|
@@ -440,4 +440,4 @@ MIT — see [LICENSE](LICENSE).
|
|
|
440
440
|
|
|
441
441
|
<div align="center">
|
|
442
442
|
⭐ If this project helps your team ship safer software, drop a star — it makes a real difference.
|
|
443
|
-
</div>
|
|
443
|
+
</div>
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
from flask import Blueprint, jsonify
|
|
2
|
+
import json
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
summary_bp = Blueprint('summary', __name__)
|
|
6
|
+
|
|
7
|
+
AI_SUMMARY_FILE = os.environ.get('AI_SUMMARY_FILE', 'findings_ai_summary.json')
|
|
8
|
+
|
|
9
|
+
@summary_bp.route('/api/summary')
|
|
10
|
+
def api_summary():
|
|
11
|
+
if os.path.exists(AI_SUMMARY_FILE):
|
|
12
|
+
with open(AI_SUMMARY_FILE) as f:
|
|
13
|
+
return jsonify(json.load(f))
|
|
14
|
+
return jsonify({})
|
|
15
|
+
|
|
1
16
|
@summary_bp.route('/badge/<int:scan_id>.svg')
|
|
2
17
|
def security_badge(scan_id):
|
|
3
18
|
from devsecops_radar.core.database import get_scan_by_id
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devsecops-radar
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.9
|
|
4
4
|
Summary: Unified CI/CD Security Dashboard — Pipeline Sentinel
|
|
5
5
|
Author-email: Mehrdoost <70381337+Mehrdoost@users.noreply.github.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -107,8 +107,8 @@ Pipeline Sentinel is designed to be **flexible** — you decide where it fits be
|
|
|
107
107
|
[Gitleaks scan] ┘
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
> **📌 Diagram Placeholder:**
|
|
111
|
-
|
|
110
|
+
> **📌 Diagram Placeholder:**
|
|
111
|
+

|
|
112
112
|
|
|
113
113
|
---
|
|
114
114
|
|
|
@@ -389,7 +389,7 @@ devsecops_radar/
|
|
|
389
389
|
```
|
|
390
390
|
|
|
391
391
|
> **📌 Diagram Placeholder:**
|
|
392
|
-
|
|
392
|
+

|
|
393
393
|
|
|
394
394
|
---
|
|
395
395
|
|
|
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
|
{devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/attack_paths/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/static/css/bootstrap.min.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar/web/static/js/chart.umd.min.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devsecops_radar-0.2.7 → devsecops_radar-0.2.9}/devsecops_radar.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|