AI Security Review
scanned 3d ago · by lpm-firewall-aiNo confirmed malicious attack surface. The package has consent-gated Claude Code spinner/statusLine integration and user-invoked network/GitHub features consistent with its job-matching CLI purpose.
Decision evidence
public snapshot- package.json defines postinstall and prepublishOnly lifecycle scripts.
- install.js/statusline-install.js can modify ~/.claude/settings.json after typed consent.
- dist/bin/jpi-claim.js can run git/gh commands for user-invoked bounty submission.
- postinstall.js is print-only: no fs writes, network, imports, or child process execution.
- install.js and statusline-install.js require explicit typed yes before writing Claude settings and create backups.
- dist/bin/jpi-init.js invokes setup steps interactively; statusLine setup is a separate consent step.
- Network calls are aligned with job matching, GitHub OAuth/API, chat/inbox, and public job feeds.
- Git/gh child_process use is limited to user-invoked claim/submit and repository fingerprinting, not install/import time.
- No credential harvesting or unconsented exfiltration found; GitHub/web tokens are stored locally encrypted or as local session files.
Source & flagged code
9 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgInstall-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgPackage source references child process execution.
dist/bin/jpi-chat.jsView on unpkg · L4938Package source references dynamic require/import behavior.
dist/bin/jpi-init.jsView on unpkg · L91A single source file combines environment access, network access, and code or shell execution; review context before blocking.
dist/bin/jpi.jsView on unpkg · L5Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
dist/bin/jpi-sync.jsView on unpkg · L99Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
dist/bin/jpi-dispatch.jsView on unpkg · L31This package version adds a dangerous source file absent from the previous stored version.
dist/bin/jpi-claim.jsView on unpkg