redshift-comment-mcp@0.12.0
CAUTION· not startedPublisher claims: "A Model-Context Protocol server for Amazon Redshift." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Not started: dependency install failed; the server itself was not observed.- Tested
- the dependency install step · every file read, file written and host contacted by what ran
- Not tested
- server startup · the tool list · tool behavior
What this means for the label: Caution 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
REDSHIFT_PASSWORDConfiguration, not credentials: REDSHIFT_COMMENT_PROFILE- 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
- server startup · the tool list · tool behavior
Connect it with a scoped credential, under the guard. It asks for REDSHIFT_PASSWORD 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 (2 scenarios; not started: dependency install failed; the server itself was not observed) on 2026-11-15 and scored it 68/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: Hidden zero-width characters detected; Hidden zero-width characters detected; Privileged sudo command. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 2 scenarios · 0 deviationsStatic findings
"" # ZERO WIDTH SPACEFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.than 0600 at any instant; the explicit chmod puts the mode back where aFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts."" # BOMFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.# (mode 000, a root-owned file from a sudo install, a directoryFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.run: npx -y @anthropic-ai/mcpb pack mcpb dist/redshift-comment-mcp.mcpbFix: Pin versions and sources; vendor anything fetched at install time."" # ZERO WIDTH JOINERFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.# here. Raw, a host of ``h.example.com; curl … | sh #`` turns one printedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.That chmod runs after ``os.replace`` — the point of no return — so aFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts."" # ZERO WIDTH NON-JOINERFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.}, "the content did not actually land despite the chmod failure being tolerated"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts."SELECT 1",Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.``h.example.com; curl … | sh #`` turns the printed line into twoFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.A SIGKILL, an OOM kill or a power loss between ``mkstemp`` andFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.# here. Raw, a host of ``h.example.com; curl … | sh #`` turns one printedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out."""``write_text`` creates at 0644 under the default umask, chmod second."""Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.for prefix in ('', '', ' ', ''):Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.captured into a local Python string via ``subprocess.run(capture_output=Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out." WITH cte AS (SELECT 1 x) SELECT * FROM cte",Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.``h.example.com; curl … | sh #`` turns the printed line into twoFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.(" ", "Empty"),Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.real_chmod = Path.chmodFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.chmod leaves behind is a mode stricter than 0600 — never more permissive.Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.real_chmod = Path.chmodFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.read — mode 000, a root-owned file from a sudo install, a directoryFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.Cost to the agent
Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.
Known vulnerabilities
Not checked against OSV yet; the weekly check has not reached this version.
What would make this Verified
12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- Unclaimed publisher≈ +8 on the totalClaim kouko: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Hidden zero-width characters detected≈ +4 on the totalKeep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
- Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- File permission modification command≈ +2 on the totalRequest the narrowest permission that works; replace wildcards with the exact paths or hosts.
- npx invocation of non-well-known package≈ +2 on the totalPin versions and sources; vendor anything fetched at install time.