dbmole-mcp@0.0.0
VERIFIED· install onlyPublisher claims: "Enables AI agents to add, edit and remove their own PostgreSQL and MySQL connections at runtime, stored in a per-project or global file that is hot-reloaded on every tool call. Connections can run through SSH tunnels with TLS verification, and readonly sessions plus per-call timeouts and capped result sizes keep agent queries safe." 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
SSH_AUTH_SOCKConfiguration, not credentials: DBMOLE_STORE- Where it talks to
- no vendor host named in the codeAlso mysql.com — not the publisher's domain; check what for before connecting.
- 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, and read the third-party hosts first. The code names mysql.com as well as its own vendor. The guard injects SSH_AUTH_SOCK only into requests to the host you bind (and its subdomains) and refuses the rest.
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-14 and scored it 81/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
expect(expandHome('~/.ssh/key')).not.toContain('~')Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.// Pinned by default so no test reads the developer's ~/.ssh/known_hosts.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.expect(expandHome('~/.ssh/key')).toMatch(/\.ssh\/key$/)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.// Pinned by default so no test reads the developer's ~/.ssh/known_hosts.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.// is the only key accepted; ~/.ssh/known_hosts is not consulted.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.// handlers for them: a COPY would throw inside pg's socket handler and killFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.&& npm cache clean --force && rm -rf /tmp/*Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.RUN mkdir -p /work /home/node/.config/dbmole && chown node:node /work /home/node/.config/dbmoleFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.interval into io_after_gtids io_before_gtids is iterate join json_table key keys kill lagFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.// the package version; the plugin's `<name>@<pin>` npx pin must match it (0.2 matches 0.2.x).Fix: Pin versions and sources; vendor anything fetched at install time.ssh: { host: 'bastion', user: 'root', privateKeyPath: '~/.ssh/id_ed25519' }Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ssh: { host: 'bastion', user: 'root', privateKeyPath: '~/.ssh/id_ed25519' }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
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.