@sentropic/h2a-runtime@0.98.3
h2a heavy runtime (sessions / k8s / tunnel, node-pty + aws-sdk). Lazily imported by @sentropic/h2a; installed separately.
AI Security Review
scanned 25d ago · by lpm-firewall-aiThe source supports a warning for explicit agent configuration capabilities, including user-level MCP registration and Claude session hooks. No unconsented install-time attack or concrete malicious chain was identified.
Decision evidence
public snapshot- The plugin API documents an explicit command for adding MCP plugins and registering them with agent clients.
- The plugin code writes MCP configuration to the user-level Codex configuration file.
- Claude enrollment hooks run the package’s enrollment command at session start and end.
- The manifest defines no install lifecycle hook; its only script is build.
- The inspected PTY loader requires the declared node-pty dependency when invoked.
- The daemon writes a PID file as part of starting its local gateway.
- The observed agent configuration changes belong to explicit plugin or enrollment operations; the inspected manifest does not run them during installation.
- The local Claude credential check is described as advisory, with no automatic action.
- The inspected source provides no evidence of credential exfiltration or an active attack.
Source & flagged code
5 flaggedPackage source references dynamic require/import behavior.
dist/central-mcp.jsView on unpkg · L21Package metadata claims a different repository identity while copied source loads a runtime dependency bridge.
dist/pty.jsView on unpkg · L76Findings
Affected versions and remediation
This report applies to @sentropic/h2a-runtime@0.98.3.
See all versions of @sentropic/h2a-runtime for other recorded verdicts.
- Review the evidence and your use of @sentropic/h2a-runtime@0.98.3 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.