pennyrouter@0.3.41
Install and manage PennyRouter local coding-agent integrations.
AI Security Review
scanned 11d ago · by lpm-firewall-aiThe refresh code sends an existing PennyRouter key to a configurable base URL without validating the destination. This is a conditional credential exposure risk; the inspected source does not establish theft or a malicious recipient.
Decision evidence
public snapshot- The installed statusline reads an existing PennyRouter key and a base URL from Claude settings or the process environment.
- When the statusline refresh runs, it sends that key in an authentication header to a URL built from the configured base, without restricting the destination.
- The refresh is gated on a session ID, base URL, and key; it is a package-provided statusline integration.
- The manifest exposes a command-line entry point and has no install lifecycle hook.
- The request uses the PennyRouter status endpoint and fetches status data; inspected source does not show collection of unrelated credentials or files.
- The integration writes behavior-bearing agent configuration through the package’s installer and statusline setup.
Source & flagged code
10 flagged · loading sourcePackage source references child process execution.
standalone/web-demo/server.mjsView on unpkg · L3A single source file combines environment access, network access, and code or shell execution; review context before blocking.
standalone/web-demo/server.mjsView on unpkg · L304Findings
Affected versions and remediation
This report applies to pennyrouter@0.3.41.
See all versions of pennyrouter for other recorded verdicts.
- Review the evidence and your use of pennyrouter@0.3.41 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.