pdf2mcp@0.6.0
CAUTION· static onlyPublisher claims: "Turn any PDF folder into a searchable MCP server" Observed in sandbox: static analysis only — behavior not yet observed.
Coverage
Static only; nothing was run yet.The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.
Before you give it your token
- It will ask for
OPENAI_API_KEYPDF2MCP_OPENAI_API_KEYConfiguration, not credentials: OPENAI_BASE_URL, PDF2MCP_OPENAI_BASE_URL- Where it talks to
- no vendor host named in the code
- What the honeypot saw
- nothing has run yet
- What we could not test
- everything: the server has not run yet
Run it before you trust it. Nothing has run yet: the code was read, the server was not. `vet-skills try` runs this exact version in the honeypot in about a minute.
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 analysed it statically (a sandbox run is pending) on 2026-11-14 and scored it 63/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Access to sensitive file paths. Summary: static analysis only — behavior not yet observed.
Behavior trace
Queued for honeypot run · static analysis onlyThis version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.
Static findings
"""Write .env and restrict permissions to owner-only."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."""Prevent load_dotenv from loading the real .env file during tests."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."""Produce a well-commented ``.env`` file from wizard results.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env_file = tmp_path / "project" / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# .env generationFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."Make sure OPENAI_API_KEY is set (in .env or environment variable)"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env_file = target / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."""Create directories and write ``.env`` from wizard results.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env_file = target / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."""Remove all PDF2MCP_ and OPENAI env vars and prevent .env loading."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.assert (target / ".env").exists()Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env_file = target / ".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.env_path = target / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."""Test .env file generation."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.assert (tmp_path / ".env").exists()Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env_path = target / ".env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."""Server-side settings loaded from environment variables and .env file.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."Set it via environment variable or in a .env file."Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.content = (target / ".env").read_text()Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."""Tests for the interactive wizard flow and .env generation."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# Load .env into os.environ so fallbacks work in mode="before"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.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 pdf2mcp@0.6.0 as of 8 min ago. This is the package itself, not its dependencies.
What would make this Verified
17 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim isamba: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.