@drdeeks/character-kit@1.9.1
Agent character enforcement. Host-neutral core plus OpenAI, Claude, and Hermes companions. Fail-closed. Not a security boundary.
AI Security Review
scanned 6d ago · by lpm-firewall-aiThe lifecycle hook does not configure an agent, and the agent integration is performed through the separate configure flow. The flagged uninstall, indexer, hook, CLI, and watchdog behavior is scoped to ACK setup or runtime support, so the scanner hints do not establish malicious behavior.
Decision evidence
public snapshot- The manifest runs postinstall and preuninstall hooks. Postinstall requires a global install inside node_modules and only reports setup commands; it does not configure the package.
- Claude hook setup is in the separate installer flow and is conditional on its wiring option. The installer presents detected harnesses for an explicit selection.
- Preuninstall has the same global-install guards and removes only ACK-marked hooks, leaving unrelated settings intact.
- The knowledge indexer excludes agent-internal files and directories from its user-supplied corpus.
- Harness detection checks for local marker paths; the Claude hook wrapper runs the ACK CLI, and the watchdog monitors and restarts ACK processes.
Source & flagged code
10 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.
plugins/claude/hooks/ack-stdio.jsView on unpkg · L1Findings
Affected versions and remediation
This report applies to @drdeeks/character-kit@1.9.1.
See all versions of @drdeeks/character-kit for other recorded verdicts.
- Review the evidence and your use of @drdeeks/character-kit@1.9.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.