@p4code/cli@0.8.5
P4 Code coding agent server and command-line client
AI Security Review
scanned 7d ago · by lpm-firewall-aiSource inspection found no lifecycle hook or concrete malicious behavior supporting the scanner verdict. The flagged worker, runtime check, markdown rendering, file preview, and setup flow align with the package's CLI and application features.
Decision evidence
public snapshot- package.json exposes a CLI entrypoint and lists no install lifecycle hooks.
- The CLI entrypoint dispatches commands only when run as the process entrypoint.
- The indicated Claude config helper resolves a config directory and compares paths; it does not modify agent configuration there.
- The Claude history worker requires a session ID, selects from fixed history operations, and returns results to stdout.
- The markdown renderer sanitizes generated SVG and blocks script tags and URL-bearing attributes.
- The composer preview fetches the requested file with abort and range handling.
- The Codex setup flow changes to managed mode from a user-triggered Continue button.
- The eval match is a guarded runtime capability check, not execution of a supplied payload.
- Inspected worker excerpts did not establish credential transfer or reverse-shell wiring; the labels alone do not prove those behaviors.
Source & flagged code
14 flagged · loading sourceSource appears to send environment or credential material to an external endpoint.
dist/claudeHistoryWorker-v_0uyLGp.mjsView on unpkg · L11Source matches reverse-shell style process and socket wiring.
dist/claudeHistoryWorker-v_0uyLGp.mjsView on unpkg · L11Findings
Affected versions and remediation
This report applies to @p4code/cli@0.8.5.
See all versions of @p4code/cli for other recorded verdicts.
- Review the evidence and your use of @p4code/cli@0.8.5 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.