devsecops-radar 0.3.6__tar.gz → 0.3.7__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.3.6/devsecops_radar.egg-info → devsecops_radar-0.3.7}/PKG-INFO +1 -1
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/auth.py +5 -4
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7/devsecops_radar.egg-info}/PKG-INFO +1 -1
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/pyproject.toml +1 -1
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/LICENSE +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/MANIFEST.in +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/README.md +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/__init__.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/cli/__init__.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/cli/scanner.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/__init__.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/analyzer.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/attack_simulation.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/database.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/models.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/parser.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/rag.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/remediation.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/reporting.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/rule_fusion.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/sbom.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/settings.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/core/valuation.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/plugins/__init__.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/scanners/adapter.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/scanners/base.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/scanners/gitleaks.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/scanners/poutine.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/scanners/semgrep.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/scanners/trivy.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/scanners/zizmor.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/__init__.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/app.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/attack_paths/__init__.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/attack_paths/routes.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/dashboard/__init__.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/dashboard/routes.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/sentry/routes.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/static/css/bootstrap.min.css +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/static/css/style.css +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/static/js/bootstrap.bundle.min.js +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/static/js/chart.umd.min.js +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/static/js/dashboard.js +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/summary/__init__.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/summary/routes.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/templates/index.html +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/topology/__init__.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/topology/routes.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar.egg-info/SOURCES.txt +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar.egg-info/dependency_links.txt +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar.egg-info/entry_points.txt +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar.egg-info/requires.txt +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/devsecops_radar.egg-info/top_level.txt +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/setup.cfg +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/tests/test_analyzer.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/tests/test_api.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/tests/test_cli.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/tests/test_database.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/tests/test_rule_fusion.py +0 -0
- {devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/tests/test_scanners.py +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import os
|
|
1
2
|
import jwt
|
|
2
3
|
import datetime
|
|
3
4
|
from functools import wraps
|
|
@@ -18,11 +19,11 @@ def verify_token(token: str) -> dict:
|
|
|
18
19
|
def login_required(f):
|
|
19
20
|
@wraps(f)
|
|
20
21
|
def decorated(*args, **kwargs):
|
|
21
|
-
#
|
|
22
|
-
|
|
22
|
+
# Read directly from os.environ to support test patching
|
|
23
|
+
api_key = os.environ.get("PIPELINE_API_KEY", "disabled")
|
|
24
|
+
if api_key != "disabled":
|
|
23
25
|
key = request.headers.get("X-API-Key")
|
|
24
|
-
if key !=
|
|
26
|
+
if key != api_key:
|
|
25
27
|
return jsonify({"error": "API key required"}), 401
|
|
26
|
-
# Without an API key, all requests are permitted (default for local use).
|
|
27
28
|
return f(*args, **kwargs)
|
|
28
29
|
return decorated
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/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.3.6 → devsecops_radar-0.3.7}/devsecops_radar/web/static/css/bootstrap.min.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/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
|
|
File without changes
|
{devsecops_radar-0.3.6 → devsecops_radar-0.3.7}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|