Skip to content

Update demo#1150

Open
brnaba-aws wants to merge 19 commits intoawslabs:mainfrom
brnaba-aws:main
Open

Update demo#1150
brnaba-aws wants to merge 19 commits intoawslabs:mainfrom
brnaba-aws:main

Conversation

@brnaba-aws
Copy link
Contributor

Added header condition on ALB
Added s3 log access on ALB
Added audience and scopes to ACG
Added VPCendpoint with resource based policy
Added path based routing

brnaba-aws and others added 15 commits February 17, 2026 17:34
…server filtering based on user_tag, guardrail for PII data
added missing lib files
Added ALB headers conditions
Added ALB S3 logging
Added ACG VPCe with Resource Based Policy
Updated architecture diagram
Updated readme
Fixed interceptors
added dependency on VPCe
updated cdk context
remove print and use logger
@github-actions github-actions bot added 01-tutorials 01-tutorials 02-AgentCore-gateway 01-tutorials/02-AgentCore-gateway labels Mar 20, 2026
brnaba-aws and others added 2 commits March 20, 2026 11:36
Signed-off-by: Anthony Bernabeu <bernabeu.anthony@gmail.com>
@github-actions
Copy link

github-actions bot commented Mar 20, 2026

Latest scan for commit: 20e15a7 | Updated: 2026-03-20 15:34:17 UTC

Security Scan Results

Scan Metadata

  • Project: ASH
  • Scan executed: 2026-03-20T15:34:01+00:00
  • ASH version: 3.0.0

Summary

Scanner Results

The table below shows findings by scanner, with status based on severity thresholds and dependencies:

Column Explanations:

Severity Levels (S/C/H/M/L/I):

  • Suppressed (S): Security findings that have been explicitly suppressed/ignored and don't affect the scanner's pass/fail status
  • Critical (C): The most severe security vulnerabilities requiring immediate remediation (e.g., SQL injection, remote code execution)
  • High (H): Serious security vulnerabilities that should be addressed promptly (e.g., authentication bypasses, privilege escalation)
  • Medium (M): Moderate security risks that should be addressed in normal development cycles (e.g., weak encryption, input validation issues)
  • Low (L): Minor security concerns with limited impact (e.g., information disclosure, weak recommendations)
  • Info (I): Informational findings for awareness with minimal security risk (e.g., code quality suggestions, best practice recommendations)

Other Columns:

  • Time: Duration taken by each scanner to complete its analysis
  • Action: Total number of actionable findings at or above the configured severity threshold that require attention

Scanner Results:

  • PASSED: Scanner found no security issues at or above the configured severity threshold - code is clean for this scanner
  • FAILED: Scanner found security vulnerabilities at or above the threshold that require attention and remediation
  • MISSING: Scanner could not run because required dependencies/tools are not installed or available
  • SKIPPED: Scanner was intentionally disabled or excluded from this scan
  • ERROR: Scanner encountered an execution error and could not complete successfully

Severity Thresholds (Thresh Column):

  • CRITICAL: Only Critical severity findings cause scanner to fail
  • HIGH: High and Critical severity findings cause scanner to fail
  • MEDIUM (MED): Medium, High, and Critical severity findings cause scanner to fail
  • LOW: Low, Medium, High, and Critical severity findings cause scanner to fail
  • ALL: Any finding of any severity level causes scanner to fail

Threshold Source: Values in parentheses indicate where the threshold is configured:

  • (g) = global: Set in the global_settings section of ASH configuration
  • (c) = config: Set in the individual scanner configuration section
  • (s) = scanner: Default threshold built into the scanner itself

Statistics calculation:

  • All statistics are calculated from the final aggregated SARIF report
  • Suppressed findings are counted separately and do not contribute to actionable findings
  • Scanner status is determined by comparing actionable findings to the threshold
Scanner S C H M L I Time Action Result Thresh
bandit 0 2 0 0 1 0 937ms 2 FAILED MED (g)
cdk-nag 0 0 0 0 0 0 32.5s 0 PASSED MED (g)
cfn-nag 0 0 0 0 0 0 7ms 0 PASSED MED (g)
checkov 0 0 0 0 0 0 5.2s 0 PASSED MED (g)
detect-secrets 0 0 0 0 0 0 1.0s 0 PASSED MED (g)
grype 0 0 0 0 0 0 36.8s 0 PASSED MED (g)
npm-audit 0 0 0 0 0 0 166ms 0 PASSED MED (g)
opengrep 0 0 0 0 0 0 <1ms 0 SKIPPED MED (g)
semgrep 0 2 0 0 0 0 19.2s 2 FAILED MED (g)
syft 0 0 0 0 0 0 1.9s 0 PASSED MED (g)

Detailed Findings

Show 4 actionable findings

Finding 1: B310

  • Severity: HIGH
  • Scanner: bandit
  • Rule ID: B310
  • Location: 01-tutorials/02-AgentCore-gateway/04-integration/04-enterprise-mcp-demo/cdk/lambda/mcp_proxy_lambda.py:327-329

Description:
Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.

Code Snippet:

try:
        with urllib.request.urlopen(req, timeout=30) as resp:
            token_data = json.loads(resp.read().decode())

Finding 2: B310

  • Severity: HIGH
  • Scanner: bandit
  • Rule ID: B310
  • Location: 01-tutorials/02-AgentCore-gateway/04-integration/04-enterprise-mcp-demo/cdk/lambda/mcp_proxy_lambda.py:475-477

Description:
Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.

Code Snippet:

with urllib.request.urlopen(req, timeout=60) as resp:
            resp_body = resp.read().decode()

Finding 3: python.lang.security.audit.dynamic-urllib-use-detected.dynamic-urllib-use-detected

  • Severity: HIGH
  • Scanner: semgrep
  • Rule ID: python.lang.security.audit.dynamic-urllib-use-detected.dynamic-urllib-use-detected
  • Location: 01-tutorials/02-AgentCore-gateway/04-integration/04-enterprise-mcp-demo/cdk/lambda/mcp_proxy_lambda.py:328

Description:
Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead.

Code Snippet:

with urllib.request.urlopen(req, timeout=30) as resp:

Finding 4: python.lang.security.audit.dynamic-urllib-use-detected.dynamic-urllib-use-detected

  • Severity: HIGH
  • Scanner: semgrep
  • Rule ID: python.lang.security.audit.dynamic-urllib-use-detected.dynamic-urllib-use-detected
  • Location: 01-tutorials/02-AgentCore-gateway/04-integration/04-enterprise-mcp-demo/cdk/lambda/mcp_proxy_lambda.py:476

Description:
Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead.

Code Snippet:

with urllib.request.urlopen(req, timeout=60) as resp:

Report generated by Automated Security Helper (ASH) at 2026-03-20T15:33:55+00:00

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

01-tutorials 01-tutorials 02-AgentCore-gateway 01-tutorials/02-AgentCore-gateway

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant