post-engineer-mcp@1.41.0
Post Engineer MCP Server for AI pair programming and agentic workflows
AI Security Review
scanned 1d ago · by lpm-firewall-aiThe package has a narrow, opt-in telemetry disclosure mismatch: an unknown-voice error sends the attempted value to PostHog beyond the tool-call events described in the README. This is undisclosed runtime telemetry, so it warrants a warning rather than a publish block.
Static reason
One or more suspicious static signals were detected.
Trigger
A tool call supplies an unknown voice while POSTHOG_API_KEY is configured.
Impact
User-supplied input can reach the analytics service beyond the mcp_tool_called events described in the README.
Mechanism
The server sends a server_warning PostHog event with the tool name and truncated, credential-redacted attempted voice value.
AI rationale
The package has a narrow, opt-in telemetry disclosure mismatch: an unknown-voice error sends the attempted value to PostHog beyond the tool-call events described in the README. This is undisclosed runtime telemetry, so it warrants a warning rather than a publish block.
Evidence
dist/voice-filters.jsdist/analytics.jsREADME.md
Network endpoints1
eu.i.posthog.com
Decision evidence
public snapshotAI called this Suspicious at 91.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
- The README describes optional PostHog telemetry for mcp_tool_called events.
- An unknown-voice error also emits a server_warning event containing the tool name and the attempted voice value.
- Analytics events are captured with the fixed distinct ID post-engineer-mcp.
Evidence against
- PostHog telemetry is disabled unless POSTHOG_API_KEY is set.
- The attempted voice value is truncated and passed through credential-fragment redaction before capture.
- The POST_ENGINEER_API_KEY is used by the client for requests to the Post Engineer API.
Behavioral surface
CryptoEnvironmentVarsFilesystemNetwork
HighEntropyStringsTelemetryUrlStrings
NoLicense
Source & flagged code
2 flaggeddist/analytics.jsView file
61package = post-engineer-mcp; repositoryIdentity = post-engineer; dependency = posthog-node
L61: // wants >=20.20 — on older Node this catch degrades to disabled.
L62: const { PostHog } = await import('posthog-node');
L63: const host = process.env['POSTHOG_HOST'] ?? DEFAULT_POSTHOG_HOST;
High
Copied Package Dependency Bridge
Package metadata claims a different repository identity while copied source loads a runtime dependency bridge.
dist/analytics.jsView on unpkg · L61README.mdView file
33Set `POSTHOG_API_KEY` (and optionally `POSTHOG_HOST`, defaults to
`DEFAULT_POSTHOG_HOST` in `src/analytics.ts` — change the constant to
self-host) to send `mcp_tool_called` analy
Medium
Ai Review Evidence
The README describes optional PostHog telemetry for mcp_tool_called events.
README.mdView on unpkg · L33Findings
1 High4 Medium7 Low
HighCopied Package Dependency Bridgedist/analytics.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
MediumAi Review EvidenceREADME.md
LowNon Install Lifecycle Scripts
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowTelemetry
LowUrl Strings
LowNo License
Affected versions and remediation
This report applies to post-engineer-mcp@1.41.0.
See all versions of post-engineer-mcp for other recorded verdicts.
- Review the evidence and your use of post-engineer-mcp@1.41.0 before allowing it. Restrict the permissions described in this report.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
Evidence last updated: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.