Skip to content

Security: smartanel/browser-devtools-mcp

Security

SECURITY.md

Security Policy

Supported Versions

Version Supported
0.1.x

Reporting a Vulnerability

If you discover a security vulnerability in Browser DevTools MCP, please report it responsibly.

How to Report

  1. DO NOT create a public GitHub issue for security vulnerabilities
  2. Report via one of these methods:
  3. Include the following information:
    • Description of the vulnerability
    • Steps to reproduce
    • Potential impact
    • Suggested fix (if any)

What to Expect

  • Acknowledgment: You will receive an acknowledgment within 48 hours
  • Updates: We will keep you informed of our progress
  • Resolution: We aim to resolve critical issues within 7 days
  • Credit: With your permission, we will credit you in the release notes

Security Considerations

Browser Automation Risks

Browser DevTools MCP provides powerful browser automation capabilities. Users should be aware of:

  1. Code Execution: The run_js-in-browser and run_js-in-sandbox tools execute arbitrary JavaScript code

    • run_js-in-browser: Executes in the page context with full DOM access
    • run_js-in-sandbox: Executes in a Node.js VM sandbox (NOT a security boundary)
    • Only use with trusted code inputs
  2. Network Access: The browser can make requests to any URL

    • HTTP requests from the browser inherit the page's cookies and session
    • Stubbing/mocking tools can intercept and modify requests
    • Be cautious when automating authenticated sessions
  3. Persistent Context: When BROWSER_PERSISTENT_ENABLE=true

    • Browser state (cookies, localStorage) persists across sessions
    • User data is stored in BROWSER_PERSISTENT_USER_DATA_DIR
    • Sensitive data may be stored locally
  4. Screenshot/PDF Capture: Content tools can capture sensitive information

    • Screenshots may contain PII or credentials visible on screen
    • PDFs preserve full page content
    • Be mindful of what pages are captured

API Keys and Secrets

The following environment variables may contain sensitive information:

Variable Sensitivity Description
FIGMA_ACCESS_TOKEN High Figma API access token
OTEL_EXPORTER_HTTP_HEADERS High May contain API keys for observability platforms
AWS_PROFILE Medium AWS credentials profile name

Best Practices:

  • Never commit secrets to version control
  • Use environment variables or secret management tools
  • Rotate API keys regularly
  • Use minimal-permission API tokens

Network Security

When using HTTP transport (--transport=streamable-http):

  1. Local Development: The server binds to localhost by default
  2. Remote Deployment:
    • Always use HTTPS in production
    • Implement authentication/authorization
    • Consider network isolation
  3. CORS: The server does not implement CORS restrictions by default

Session Security

  • Sessions are isolated per MCP client connection
  • Session data is stored in memory (not persisted by default)
  • Idle sessions are automatically cleaned up (SESSION_IDLE_SECONDS)
  • Setting SESSION_CLOSE_ON_SOCKET_CLOSE=true closes sessions immediately on disconnect

Security Features

Sandbox Isolation

The run_js-in-sandbox tool provides limited isolation:

  • Runs in Node.js VM context
  • No access to require, process, fs, Buffer
  • Limited built-in APIs available
  • Note: This is NOT a security boundary - treat all input as trusted

OpenTelemetry Security

When using OpenTelemetry integration:

  • Trace data may contain sensitive URL paths and parameters
  • Headers can be configured to authenticate with collectors
  • Consider what data is being exported to observability platforms

Responsible Disclosure

We kindly ask security researchers to:

  1. Give us reasonable time to fix issues before public disclosure
  2. Avoid accessing or modifying other users' data
  3. Act in good faith to avoid privacy violations and service disruptions

We commit to:

  1. Not pursuing legal action against researchers acting in good faith
  2. Working with you to understand and resolve the issue
  3. Acknowledging your contribution (with your permission)

Security Updates

Security updates are released as patch versions. We recommend:

  1. Always using the latest version
  2. Subscribing to GitHub releases for notifications
  3. Reviewing the changelog for security-related fixes

Contact

For security-related inquiries:

There aren’t any published security advisories