AI Security Review
scanned 2d ago · by lpm-firewall-aiNo confirmed malicious attack surface. The package is a developer job-matching CLI with consent-gated local config writes and user-invoked network features.
Decision evidence
public snapshot- package.json has postinstall lifecycle script: node ./postinstall.js.
- User-invoked install.js/statusline-install.js can write ~/.claude/settings.json and ~/.terminalhire files after typed consent.
- Runtime commands can read local profile/GitHub token and call terminalhire/GitHub APIs for job matching, chat, sync, and claims.
- postinstall.js is print-only, skips CI/non-TTY, performs no network calls or file writes.
- dist/bin/jpi-dispatch.js dispatches network/file/execution behavior behind explicit CLI subcommands, not import-time execution.
- install.js and statusline-install.js prompt for typed yes before modifying Claude settings and create backups.
- Profile sync and lead submission show consent previews and require user action before POSTing profile fields.
- child_process usage is package-aligned: spawning bundled CLI helpers, git/gh for user-invoked claim submission, or detached local learning.
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 · L99This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
dist/bin/jpi-dispatch.jsView on unpkgSource spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
dist/bin/jpi-dispatch.jsView on unpkg · L31