@p4code/cli@0.8.18
P4 Code coding agent server and command-line client
AI Security Review
scanned 5d ago · by lpm-firewall-aiThe manifest has no install lifecycle hooks, and inspected CLI and worker code ties the flagged behavior to session operations. The scanner’s dynamic-code and socket indicators resolve to a capability probe and WebSocket handling; no concrete attack behavior was found.
Decision evidence
public snapshot- package.json exposes a CLI binary and has no lifecycle script entries.
- The worker is called by a hidden CLI command and accepts only session-message retrieval or session forking with a required session ID.
- The reported Claude configuration location compares paths and validates a project directory name; it does not write agent configuration.
- The dynamic Function occurrence is an empty-function capability probe that catches failure.
- The socket server returns HTTP 426 to non-upgrade requests, consistent with a WebSocket server rather than reverse-shell wiring.
- The flagged frontend and library files contain UI assets and bundled Effect/Schema code; inspected indicators do not establish an attack.
- The bundle includes dynamic function construction and a WebSocket server, but the inspected code shows a capability check and HTTP upgrade handling, not hidden payload execution or a reverse shell.
Source & flagged code
13 flagged · loading sourcePackage source references child process execution.
dist/AcpMcpStdioBridge-BL9bAh79.mjsView on unpkg · L4Source appears to send environment or credential material to an external endpoint.
dist/claudeHistoryWorker-BvaF6m2o.mjsFindings
Affected versions and remediation
This report applies to @p4code/cli@0.8.18.
See all versions of @p4code/cli for other recorded verdicts.
- Review the evidence and your use of @p4code/cli@0.8.18 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.