@twing/cli@1.2.1
AI Security Review
scanned 11d ago · by lpm-firewall-aiThe install hook is gated to global installs or an explicit setup flag, but that gate still permits automatic first-party agent configuration changes during a global install. This warrants a warning for agent extension lifecycle risk; the inspected behavior does not establish a concrete attack.
Decision evidence
public snapshot- package.json defines a postinstall hook that runs postinstall.cjs.
- The hook imports and runs machine setup for global installs or when explicitly passed --machine-setup.
- Machine setup writes Claude resolver wiring, installs the OpenCode plugin, and wires Codex hooks.
- The Codex target is the user-level config.toml; the cited Claude, OpenCode, and Codex files describe agent configuration destinations.
- twing init also wires hooks into the repository’s Claude settings.
- The resolver targets user-level Claude settings for sessions started outside a repository.
- The postinstall script exits for installs that are not global and do not pass --machine-setup.
- The package describes the machine wiring as setup for its own CLI and agent integrations.
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@1.2.1.
See all versions of @twing/cli for other recorded verdicts.
- Review the evidence and your use of @twing/cli@1.2.1 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.