mcp-webs@1.1.1
VERIFIED· install onlyPublisher claims: "MCP Web Search service for AI ecosystem" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
What this means for the label: Verified here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
API_KEY_LINEGOOGLE_API_KEYLLM_API_KEYNEW_API_KEYConfiguration, not credentials: ADMIN_KEY_IDS, LLM_BASE_URL- Where it talks to
- no vendor host named in the code
- What the honeypot saw
- no credential files read · no network
- What we could not test
- use of the skill by an agent
Connect it with a scoped credential, under the guard. It asks for API_KEY_LINE, GOOGLE_API_KEY, LLM_API_KEY, NEW_API_KEY and talks to its vendor. Give the credential to the guard, not the server: the value never enters the server's environment and only travels to the host you bind. What the tools do with a real credential was not observed.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-10 and scored it 84/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
ENV_FILE="${PROJECT_ROOT}/.env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env_file=".env",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# If .env already exists, skip generationFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.docker-setup-env: ## Set up .env file for development modeFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."""Parse ADMIN_KEY_IDS from comma-separated string in .env into list."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.- ../.envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# Auto-generates .env from .env.example on first runFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# Bypass .env and set required keys via os.environFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.docker-up: ## Start containers (creates .env if missing)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.extra="allow", # Allow extra fields from .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.EXAMPLE_ENV_FILE="${PROJECT_ROOT}/.env.example"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.- **Cipher:** AES-128-CBCFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.# Use explicit override to bypass .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.@echo "=== Checking .env file ==="Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# Bypass .env and set key via os.environFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.@if [ ! -f ".env" ]; then \Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.echo ".env not found. Creating from .env.example..."; \Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# Bypass .env entirely so os.getenv returns None for LLM_API_KEYFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.protection._validate_url("http://172.16.0.1")Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.protection._validate_url("http://10.0.0.1")Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.protection._validate_url("file:///etc/passwd")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.protection._validate_url("http://192.168.1.1")Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.protection.fetch("file:///etc/passwd")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.protection._validate_url("http://8.8.8.8")Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.result = client._resolve_base_url("test-model", "http://192.168.1.1:3000/v1")Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.protection._validate_url("http://8.8.8.8")Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
No advisories in OSV for mcp-webs@1.1.1 as of 4d ago. This is the package itself, not its dependencies.