@twing/cli@0.2.28
AI Security Review
scanned 11d ago · by lpm-firewall-aiThe postinstall invokes machine setup for global installs, which writes machine-wide Claude and OpenCode integrations without separate confirmation. This is an unconsented install-time mutation of AI-agent control surfaces, meeting the blocking policy.
Decision evidence
public snapshot- package.json runs postinstall.cjs during installation.
- The postinstall runs machine setup for global installs without a separate setup confirmation.
- Machine setup writes Claude resolver hooks and installs the OpenCode plugin.
- The resolver merges hooks into user-level Claude settings and writes them to disk.
- The OpenCode plugin is placed in the user's auto-loaded plugin directory.
- The inspected integration files describe repo hook setup, init wiring, and machine-wide resolver wiring.
Source & flagged code
7 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/opencode-adapter.jsView on unpkg · L12Findings
Affected versions and remediation
This report applies to @twing/cli@0.2.28.
See all versions of @twing/cli for other recorded verdicts.
- Avoid installing @twing/cli@0.2.28. Remove it from direct dependencies and check your lockfile for transitive copies.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
- If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment.
Evidence last updated: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.