@doist/twist-cli@3.0.11
TypeScript CLI for Twist
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThis is a Twist CLI that, on postinstall, only overwrites its own already-installed agent skill file in well-known agent skill folders. That is first-party agent-extension setup with a lifecycle hook, not unconsented hijack of foreign agent configs or other malware behavior.
Decision evidence
public snapshot- npm postinstall runs scripts/postinstall.js, which loads dist/postinstall.js.
- After install, the package silently refreshes already-installed Twist skills under the user home directory and migrates local Twist auth.
- Skill installers write into foreign agent skill folders under .claude, .codex, .cursor, .gemini, .pi, and .agents.
- The installer only writes this package's skills/twist-cli/SKILL.md file, and postinstall skips agents where that file is not already present.
- New skill drops still require an explicit tw skill install command rather than the lifecycle hook.
- Scanner malware fingerprints on dist/lib/input.js are ordinary $EDITOR spawning for composing a message.
- Network use is the Twist API at api.twist.com with the user's Twist token through the official SDK.
- There is no eval, no runtime self-dependency, and no writes to unrelated agent config files such as CLAUDE.md or MCP settings.
- The skill body is Twist CLI usage text for agents, not a hidden payload.
Source & flagged code
6 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 dynamic require/import behavior.
scripts/check-skill-sync.jsView on unpkg · L17Findings
Affected versions and remediation
This report applies to @doist/twist-cli@3.0.11.
See all versions of @doist/twist-cli for other recorded verdicts.
- Review the evidence and your use of @doist/twist-cli@3.0.11 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.