registry  /  @wwjd/pi-graphify  /  0.4.0

@wwjd/pi-graphify@0.4.0

Graphify knowledge graph integration for Pi coding agent

AI Security Review

scanned 3h ago · by lpm-firewall-ai

LPM treats this as warn-only first-party agent extension lifecycle risk. When Pi loads the extension and starts a session, it auto-registers Graphify tools and probes a locally resolved `graphify` executable. It can also add a static Graphify-use hint to the session prompt when a project graph is present.

Static reason
No blocking static signals were detected.
Trigger
Pi loads the declared extension and starts a session.
Impact
A PATH- or home-directory-resolved Graphify binary executes in the Pi session context; no package-originated exfiltration or destructive action is established.
Mechanism
Pi extension lifecycle initialization with local Graphify CLI execution.
Rationale
No concrete malicious chain was found. The automatic Pi extension lifecycle and locally resolved CLI execution warrant a non-blocking warning under the agent-extension policy.
Evidence
package.jsonextensions/index.tssrc/coordinator.tssrc/backends/cli.tssrc/version.tssrc/graphify.tsREADME.mdgraphify-out/graph.json

Decision evidence

public snapshot
AI called this Suspicious at 82.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
  • `package.json` declares a Pi extension that loads `extensions/index.ts`.
  • `extensions/index.ts` initializes the coordinator on every Pi `session_start`.
  • `src/backends/cli.ts` resolves `graphify` from PATH/home locations and runs probes via `execFile`.
  • `extensions/index.ts` appends a package-supplied Graphify hint to the agent system prompt when a local graph exists.
Evidence against
  • `package.json` has no preinstall, install, postinstall, or prepare hook.
  • CLI calls use `execFile` with argument arrays; no eval, dynamic loading, or arbitrary shell command construction.
  • No source network API, credential/environment harvesting, filesystem writes, or persistence mechanism was found.
  • The prompt hint is static, Graphify-specific, and gated on `graphify-out/graph.json`.
Behavioral surface
Source
ChildProcessFilesystemShell
Supply chainNo supply-chain packaging signals triggered.
ManifestNo manifest risk signals triggered.
scanned 38 file(s), 102 KB of source

Source & flagged code

4 flagged · loading source
package.jsonView file
Published source reference
Medium
Ai Review Evidence

`package.json` declares a Pi extension that loads `extensions/index.ts`.

package.jsonView on unpkg
extensions/index.tsView file
Published source reference
Medium
Ai Review Evidence

`extensions/index.ts` initializes the coordinator on every Pi `session_start`.

extensions/index.tsView on unpkg
Published source reference
Medium
Ai Review Evidence

`extensions/index.ts` appends a package-supplied Graphify hint to the agent system prompt when a local graph exists.

extensions/index.tsView on unpkg
src/backends/cli.tsView file
Published source reference
Medium
Ai Review Evidence

`src/backends/cli.ts` resolves `graphify` from PATH/home locations and runs probes via `execFile`.

src/backends/cli.tsView on unpkg

Findings

4 Medium2 Low
MediumAi Review Evidencepackage.json
MediumAi Review Evidenceextensions/index.ts
MediumAi Review Evidencesrc/backends/cli.ts
MediumAi Review Evidenceextensions/index.ts
LowScripts Present
LowFilesystem