@lingjingai/scriptctl@0.63.6
剧本阶段统一 CLI:素材转 Script v4,并兼容 Script v3 的本地写作、精修、校验和发布。
AI Security Review
scanned 11d ago · by lpm-firewall-aiThe postinstall hook automatically installs the package's own agent skill into three user-level skill roots, creating a guarded first-party extension lifecycle risk. The reviewed source does not support a malicious verdict or a confirmed broad control hijack.
Decision evidence
public snapshot- The postinstall hook automatically runs the skill installer.
- The installer targets skill directories for Claude, agents, and Codex under the user's home directory.
- For each target it removes and replaces the package-owned scriptctl skill directory.
- An environment flag can opt out of this installation behavior.
- The Gemini adapter loads the Google SDK for its video route, and the ingest monitor binds to loopback.
- The API client sends its configured API key to its configured URL.
- The installer replaces only the scriptctl subdirectory and copies this package's own skill files.
- The installer has explicit opt-out guards; inspected source did not establish a remote skill channel, credential theft, or broader agent configuration mutation.
- The local ingest monitor binds to 127.0.0.1, while API credentials are sent through the configured client URL.
Source & flagged code
8 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgSource file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/infra/llm/gemini-video-model.jsView on unpkgFindings
Affected versions and remediation
This report applies to @lingjingai/scriptctl@0.63.6.
See all versions of @lingjingai/scriptctl for other recorded verdicts.
- Review the evidence and your use of @lingjingai/scriptctl@0.63.6 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.