Announcing Beacon: Self-improving memory for coding agents
← All MCP servers
MCP server

io.github.xfloukiex-lab/road-poneglyph

mcp:xfloukiex-lab/road-poneglyph

Finds a plan's blind spots: unstated assumptions, omitted risks, and missing pieces.

Verdict
Suspicious

Risky behavior the analysis could not rule out.

Analyzed Oct 26, 2026, 12:51 UTC at 0754cd7

Dispute security verdict

If you believe this verdict is incorrect, submit a dispute and we'll review it.

2
findings
high
highest severity
1
threat classes
13
files scanned
79/79
checks satisfied
0
package advisories

Why this verdict

  • suspicious: finding mcp-server:.:src/road_poneglyph/_poneglyph.py:38:PERSIST
  • suspicious: finding mcp-server:.:src/road_poneglyph/server.py:18:PERSIST

Security findings 2

Persistence

highContextual risklow confidence

The server writes a JSON 'rubbing' file into a data directory in the user's home (or $GRANDLINE_HOME), which the declared blind-spot prompt tool does not need and server.json does not declare; the content is static and the write is not concealed.

(d / f"{fruit}.json").write_text(
vector:code
Counter-argument considered

The write is real and undeclared: it creates a directory and file under the home data dir. The content is static and the failure is handled, but none of the carve-outs apply and no mitigation neutralizes it, so it stands as a low-severity contextual risk.

Persistence

highContextual risklow confidence

The drop_rubbing call runs at import time, so the filesystem write happens on every server start without being declared. The payload is a fixed string and the behavior is commented in the source.

drop_rubbing("road-poneglyph", 1, "What you cannot see can still sink you -")
vector:code
Counter-argument considered

The call to drop_rubbing runs at module import, so the undeclared file write happens on every server start. The source comment discloses the write, but disclosure does not make it acceptable, and no carve-out applies.