preflight

https://github.com/microsoft/playwright-mcp

playwright-mcp

Caution

Score 71 / 100 · 33 files read · 0 critical, 0 high, 5 medium, 4 low findings

Report 2da1e30f699a2ef4 · first scanned 2026-10-28 · scanned 2× · keyed to the exact package contents, so this link always shows this version

Listed in the Agent Census directory data

Subscores

credentials94
exfiltration92
execution68
injection100
obfuscation98
files100

100 is clean. Deductions come only from the cited findings below.

Findings

mediumCode contacts static.modelcontextprotocol.io, which the documentation never mentions
(package) · line 1 · rule M3
static.modelcontextprotocol.io
mediumCan run shell commands from code
roll.js · line 3 · rule M1
re('path'); const { execSync } = require('child_process'); function copyConfig() { const src = path.join(__dirname, '..', 'play
mediumCan run shell commands from code
tests/cli.spec.ts · line 16 · rule M1
License. */ import child_process from 'child_process'; import path from 'path'; import { test, expect } from './fixtures'; const
mediumCan run shell commands from code
tests/library.spec.ts · line 16 · rule M1
License. */ import child_process from 'child_process'; import fs from 'fs/promises'; import { test, expect } from './fixtures';
mediumCan run shell commands from code
update-readme.js · line 21 · rule M1
ire('path') const { execSync } = require('child_process'); const { tools } = require('playwright-core/lib/coreBundle'); const ca
low6 binary file(s) were not parsed (static text analysis only)
(package) · line 1 · rule L3
6 binary files
lowReads named environment variables (normal for API keys; listed in the permission summary)
playwright.config.ts · line 24 · rule L1
ue, forbidOnly: !!process.env.CI, workers: process.env.CI ? 2 : undefined, reporter: 'list', projects: [ { name: 'chro
lowReads named environment variables (normal for API keys; listed in the permission summary)
tests/fixtures.ts · line 108 · rule L1
ta => { if (process.env.PWMCP_DEBUG) process.stderr.write(data); stderrBuffer += data.toString();
lowReads named environment variables (normal for API keys; listed in the permission summary)
update-readme.js · line 198 · rule L1
}\` |`); } if (process.env.PRINT_ENV) { const envTable = []; envTable.push(`| Environment |`); envTable.push(`|--

Permission surface

Network endpoints
aka.msapi.esrp.microsoft.comblock.github.iocla.opensource.microsoft.comcode.visualstudio.comcursor.comdevdiv.pkgs.visualstudio.comdocs.cline.botdocs.factory.aidocs.github.comdocs.qodo.aidocs.warp.devdocs.windsurf.comdocs.x.aiexample.comfiles.lmstudio.aigithub.comhelp.github.comimg.shields.ioinsiders.vscode.devjunie.jetbrains.comkiro.devlmstudio.aimodelcontextprotocol.iomsrc.microsoft.comopencode.aiopencollective.comopensource.microsoft.complaywright.devportal.microsofticm.comraw.githubusercontent.comregistry.npmjs.orgstatic.modelcontextprotocol.iowww.apache.orgwww.conventionalcommits.orgwww.microsoft.com
Environment read
CIMCP_IN_DOCKERPRINT_ENVPWMCP_DEBUG
Shell execution
yes — code or scripts can run shell commands
Install hooks
none
Credential material
Reads named environment variables (normal for API keys; listed in the permission summary)

Provenance

Source
GitHub
Repository
microsoft/playwright-mcp
Owner
microsoft
Stars
38741
Forks
3335
Repo created
2025-03-21
Last push
2026-10-22
License
Apache-2.0

Badge for the author

Preflight grade

[![Preflight: Caution](https://preflight.orbitaldeskllc.com/badge/2da1e30f699a2ef4.svg)](https://preflight.orbitaldeskllc.com/b/2da1e30f699a2ef4)

The badge links back to this report and updates if the package is re-scanned at a new version.

Watch this package

Interest list only. We store the address and this report link, nothing else. No mail is sent in v1.

Share this report: https://preflight.orbitaldeskllc.com/r/2da1e30f699a2ef4