Skip to content

Feat/browser integration#96

Draft
razkenari wants to merge 3 commits intomainfrom
feat/browser-integration
Draft

Feat/browser integration#96
razkenari wants to merge 3 commits intomainfrom
feat/browser-integration

Conversation

@razkenari
Copy link
Copy Markdown
Contributor

Issue #, if available:

Description of changes:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@razkenari razkenari linked an issue Apr 22, 2026 that may be closed by this pull request
@github-actions github-actions Bot added documentation Improvements or additions to documentation backend infrastructure frontend docker labels Apr 22, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 22, 2026

Latest scan for commit: 014afac | Updated: 2026-04-22 19:25:44 UTC

Security Scan Results

Scan Metadata

  • Project: ASH
  • Scan executed: 2026-04-22T19:25:31+00:00
  • ASH version: 3.2.2

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 0 0 0 1 0 621ms 0 PASSED MED (g)
cdk-nag 0 0 0 0 0 0 36.2s 0 PASSED MED (g)
cfn-nag 0 0 0 0 0 0 1.5s 0 PASSED MED (g)
checkov 0 0 0 0 0 0 4.7s 0 PASSED MED (g)
detect-secrets 0 0 0 0 0 0 963ms 0 PASSED MED (g)
grype 0 0 0 0 0 0 41.8s 0 PASSED MED (g)
npm-audit 0 0 0 0 0 0 1.2s 0 PASSED MED (g)
opengrep 8 0 0 0 0 0 24.2s 0 PASSED MED (g)
semgrep 0 0 0 0 0 0 <1ms 0 MISSING MED (g)
syft 0 0 0 0 0 0 2.1s 0 PASSED MED (g)

@razkenari razkenari force-pushed the feat/browser-integration branch from 0eced8e to 598469d Compare April 22, 2026 19:17
…r tool

- Add strands-browseruse-multiagent pattern with browser-use + Claude for
  autonomous browser control, plus Gateway MCP tools and Code Interpreter
- Add shared browser tools core (tools/browser/) for AgentCore Browser
  session lifecycle management
- Stream browser actions in real-time via on_step_start/on_step_end hooks
  with asyncio.Queue for immediate event delivery
- Add IAM permissions for AgentCore Browser in CDK backend stack
- Browser session persists across tool calls (cookies, login state, tabs)
…Display

- Add BrowserToolDisplay custom renderer for browser tool with live view,
  action streaming, and result display
- Add BrowserLiveView wrapper (React.memo) around bedrock-agentcore DCV component
- Add tool renderer plugin system (useToolRenderer) for custom tool UIs
- Add streamEvents and liveViewUrl to ToolCall type for tool streaming
- Fix strands parser: check tool_stream_event before text data to prevent
  action content leaking as chat text
- Add flushSync for tool_stream events to force immediate React renders
- Add bedrock-agentcore npm dependency with DCV SDK Vite configuration
- Add setTimeout yield in SSE reader between chunks for render flushing
- Add docs/TOOL_AC_BROWSER.md with architecture, browser-use hooks,
  frontend live view, streaming reliability, and available patterns
- Add Hari Prasanna Das and Rahul Ghosh to CONTRIBUTORS.md
@razkenari razkenari force-pushed the feat/browser-integration branch from 598469d to 014afac Compare April 22, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend docker documentation Improvements or additions to documentation frontend infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add AgentCore Browser Tool Support

1 participant