Advisory fix 1 (#813)
* fix(security): add security dependencies to report generation endpoints Co-authored-by: Copilot <copilot@github.com> * precommit-fix --------- Co-authored-by: Copilot <copilot@github.com>
taylor_socfortress committed
Apr 24, 2026 at 12:29 UTC
574a6e846edc4f7d2ecaab7bfd4726b41e54b685
1 file changed
+8
backend/app/integrations/scoutsuite/routes/scoutsuite.py
+8
@@ -4,9 +4,11 @@ from fastapi import APIRouter
4
from fastapi import BackgroundTasks
5
from fastapi import File
6
from fastapi import HTTPException
7
+from fastapi import Security
8
from fastapi import UploadFile
9
from loguru import logger
10
11
+from app.auth.routes.auth import AuthHandler
12
from app.integrations.scoutsuite.schema.scoutsuite import (
13
AvailableScoutSuiteReportsResponse,
14
)
@@ -38,6 +40,7 @@ integration_scoutsuite_router = APIRouter()
40
"/report-generation-options",
41
response_model=ScoutSuiteReportOptionsResponse,
42
description="Get the available report generation options.",
43
+ dependencies=[Security(AuthHandler().require_any_scope("admin", "analyst"))],
44
)
45
async def get_report_generation_options():
46
"""
@@ -57,6 +60,7 @@ async def get_report_generation_options():
60
"/available-reports",
61
response_model=AvailableScoutSuiteReportsResponse,
62
description="Get the available ScoutSuite reports.",
63
+ dependencies=[Security(AuthHandler().require_any_scope("admin", "analyst"))],
64
)
65
async def get_available_reports():
66
"""
@@ -88,6 +92,7 @@ async def get_available_reports():
92
@integration_scoutsuite_router.post(
93
"/generate-aws-report",
94
response_model=ScoutSuiteReportResponse,
95
+ dependencies=[Security(AuthHandler().require_any_scope("admin", "analyst"))],
96
)
97
async def generate_aws_report(
98
background_tasks: BackgroundTasks,
@@ -111,6 +116,7 @@ async def generate_aws_report(
116
@integration_scoutsuite_router.post(
117
"/generate-azure-report",
118
response_model=ScoutSuiteReportResponse,
119
+ dependencies=[Security(AuthHandler().require_any_scope("admin", "analyst"))],
120
)
121
async def generate_azure_report(
122
background_tasks: BackgroundTasks,
@@ -134,6 +140,7 @@ async def generate_azure_report(
140
@integration_scoutsuite_router.post(
141
"/generate-gcp-report",
142
response_model=ScoutSuiteReportResponse,
143
+ dependencies=[Security(AuthHandler().require_any_scope("admin", "analyst"))],
144
)
145
async def generate_gcp_report(
146
background_tasks: BackgroundTasks,
@@ -171,6 +178,7 @@ async def generate_gcp_report(
178
@integration_scoutsuite_router.delete(
179
"/delete-report/{report_name}",
180
response_model=ScoutSuiteReportResponse,
181
+ dependencies=[Security(AuthHandler().require_any_scope("admin", "analyst"))],
182
)
183
async def delete_report(
184
report_name: str,