tina4-nodejs@3.13.138
Tina4 for Node.js/TypeScript - native TypeScript conventions and shared Tina4 contracts
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThe AI installer is an explicit CLI that downloads first-party skill files into Claude skill directories, including the user home directory, so it is a guarded agent-config capability rather than install-time hijacking. No registry lifecycle hook, hidden recipient, or automatic execution of those files was found.
Decision evidence
public snapshot- The published bin command ai calls installAiContext, which runs a menu or installAll when the user passes --all.
- installSkills writes fetched skill files into the project .claude/skills directory and the user home .claude/skills directory.
- Skill URLs are built on raw.githubusercontent.com under the tina4stack organization, using the installed version or TINA4_SKILLS_REF.
- A child node process started with execFileSync fetches those URLs and writes the response bodies to disk.
- package.json scripts are build, test, prepare, and prepublishOnly only; there is no preinstall, install, or postinstall hook.
- MCP dev tools are off unless TINA4_MCP or TINA4_DEBUG enables them, and remote callers still need an extra opt-in plus a token.
- Nothing runs the agent-file installer on import or during npm install.
- writeClaudeConfig is defined but has no caller in this package.
- Fetched skill bodies are written as files; the installer does not eval them.
- Loopback MCP access is the default; remote MCP requires TINA4_MCP_REMOTE and a matching token.
Source & flagged code
25 flaggedSource appears to send environment or credential material to an external endpoint.
packages/core/dist/index.jsView on unpkg · L54A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
Findings
Affected versions and remediation
This report applies to tina4-nodejs@3.13.138.
See all versions of tina4-nodejs for other recorded verdicts.
- Review the evidence and your use of tina4-nodejs@3.13.138 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.