preflight

https://github.com/AmitGurbani/mcp-server-woocommerce

mcp-server-woocommerce

Hostile

Score 33 / 100 · 80 files read · 1 critical, 0 high, 3 medium, 9 low findings

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

Listed in the Agent Census directory data

Subscores

credentials82
exfiltration92
execution39
injection100
obfuscation100
files100

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

Findings

criticalDownloads a remote file and pipes it straight into a shell interpreter
docs/DEPLOYMENT.md · line 121 · rule C1
# macOS # or: curl -L https://fly.io/install.sh | sh ``` 2. Sign in: ```bash fly auth login ``` 3. Clone the r
mediumCode contacts static.modelcontextprotocol.io, which the documentation never mentions
(package) · line 1 · rule M3
static.modelcontextprotocol.io
mediumCan run shell commands from code
src/http.test.ts · line 2 · rule M1
rocess } from 'node:child_process'; import { resolve } from 'node:path'; /** * HTTP transport integration tests. * * These tes
mediumCan run shell commands from code
tests/integration/global-setup.ts · line 1 · rule M1
import { execSync } from 'child_process'; import { writeFileSync, existsSync } from 'fs'; import { resolve } from 'path
lowReads named environment variables (normal for API keys; listed in the permission summary)
src/http.test.ts · line 26 · rule L1
env: { ...process.env, MCP_TRANSPORT: 'http', MCP_AUTH_TOKEN: AUTH_TOKEN, MCP_PORT: String(PORT)
lowReads named environment variables (normal for API keys; listed in the permission summary)
src/http.ts · line 20 · rule L1
const authToken = process.env.MCP_AUTH_TOKEN; const auth0Domain = process.env.AUTH0_DOMAIN; const auth0Audience = process.en
lowReads named environment variables (normal for API keys; listed in the permission summary)
src/index.ts · line 5 · rule L1
tion main() { if (process.env.MCP_TRANSPORT === 'http') { await import('./http.js'); } else { const { StdioServerTrans
lowReads named environment variables (normal for API keys; listed in the permission summary)
src/read-only-mode.test.ts · line 27 · rule L1
const originalEnv = process.env.WOOCOMMERCE_MCP_READ_ONLY; afterEach(() => { // Restore original env if (originalEnv ==
lowReads named environment variables (normal for API keys; listed in the permission summary)
src/server.ts · line 32 · rule L1
.2.0', }); if (process.env.WOOCOMMERCE_MCP_READ_ONLY === 'true') { const originalRegisterTool = server.registerTool.bind(
lowReads named environment variables (normal for API keys; listed in the permission summary)
src/services/woo-client.ts · line 6 · rule L1
CONSUMER_SECRET } = process.env; if (!WORDPRESS_SITE_URL) throw new Error('WORDPRESS_SITE_URL environment variable is required');
lowReads named environment variables (normal for API keys; listed in the permission summary)
src/services/wp-client.ts · line 1 · rule L1
SS_APP_PASSWORD } = process.env; if (!WORDPRESS_SITE_URL) throw new Error('WORDPRESS_SITE_URL environment variable is required');
lowReads named environment variables (normal for API keys; listed in the permission summary)
tests/integration/global-setup.ts · line 32 · rule L1
ion setup() { if (process.env.WOOCOMMERCE_MCP_READ_ONLY === 'true') { throw new Error( 'Integration tests require writ
lowReads named environment variables (normal for API keys; listed in the permission summary)
tests/integration/helpers/load-env.ts · line 10 · rule L1
est.length) { process.env[key.trim()] = rest.join('=').trim(); } } }

Permission surface

Network endpoints
auth0.comclaude.aiclaude.comcursor.directorydeveloper.wordpress.orgexample.comfly.iogithub.comglama.aiimg.shields.iokeepachangelog.commcp.marketmcp.somcp.yourdomain.comnodejs.orgopensource.orgpatchstack.compnpm.iopulsemcp.comrailway.appregistry.modelcontextprotocol.iosemver.orgsmithery.aistatic.modelcontextprotocol.iostore-a.comstore-b.comstore.example.comwww.contributor-covenant.orgwww.npmjs.comyour-app.example.comyour-app.fly.devyour-app.railway.appyour-tenant.us.auth0.comyourdomain.comyourstore.comzod.dev
Environment read
AUTH0_AUDIENCEAUTH0_DOMAINMCP_AUTH_TOKENMCP_PORTMCP_SERVER_URLMCP_TRANSPORTPORTWOOCOMMERCE_MCP_READ_ONLY
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
AmitGurbani/mcp-server-woocommerce
Owner
AmitGurbani
Stars
2
Forks
1
Repo created
2026-03-10
Last push
2026-05-05
License
MIT

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/53d4f838bc8bd001