@nanonets/graft@0.16.0
Build a repo's context graph as a folder of linked markdown files: a local, regenerable cache that every query keeps in sync with your code.
AI Security Review
scanned 2mo ago · by lpm-firewall-aiThis is not malware: there is no confirmed secret theft, remote payload execution, or unconsented install-time AI-agent control-surface mutation. It has meaningful automatic telemetry and explicit global agent-integration capability, so it warrants a warning rather than publication blocking.
Decision evidence
public snapshot- The automatic postinstall hook records an install event and starts a detached telemetry-flush child.
- Queued telemetry is sent by POST to the Nanonets events endpoint.
- The explicit graft init command can add global Codex hooks and an MCP server entry.
- Postinstall does not modify AI-agent configuration; it only prints an init instruction after telemetry handling.
- Telemetry code applies CI, DO_NOT_TRACK, key, and local disable-state gates before queueing or sending.
- The agent configuration writes are reached from the user-invoked init command and support no-global and no-hooks options.
- No source evidence of credential harvesting, arbitrary payload download, self-dependency, or destructive behavior was found.
Source & flagged code
5 flaggedPackage 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.
dist/claude/shim-template.jsView on unpkg · L22Findings
Affected versions and remediation
This report applies to @nanonets/graft@0.16.0.
See all versions of @nanonets/graft for other recorded verdicts.
- Review the evidence and your use of @nanonets/graft@0.16.0 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.