@pmate/cli@0.45.4
CLI utilities for the pMate project
AI Security Review
scanned 14h ago · by lpm-firewall-aiThe inspected sources do not confirm the scanner's credential-exfiltration claim: the GitHub token flow is for GitHub CLI operations, and the shell PATH resolver explicitly avoids importing shell credentials. However, the Electron agent runtime exposes unrestricted local command execution to authenticated callers, which is a meaningful capability risk.
Decision evidence
public snapshot- The Electron runtime exposes a logged-in `local.exec` method that accepts caller-supplied commands, arguments, working directories and environment variables.
- The local executor runs the supplied command with `shell:false`, but does not restrict which executable may be launched.
- The Electron IPC handler checks that the sender is trusted before forwarding calls to the runtime.
- The local execution capability is limited to an Electron template runtime and requires an identity to be configured.
- The shell PATH resolver says it reads only PATH and does not import shell credentials or execute caller arguments through the shell.
- The GitHub credential path obtains a token for a configured GitHub user and passes it to GitHub CLI operations; no foreign credential destination was identified in the inspected excerpt.
Source & flagged code
10 flaggedSource appears to send environment or credential material to an external endpoint.
dist/index.jsView on unpkg · L90A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/index.jsView on unpkg · L90Findings
Affected versions and remediation
This report applies to @pmate/cli@0.45.4.
See all versions of @pmate/cli for other recorded verdicts.
- Review the evidence and your use of @pmate/cli@0.45.4 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.