@lumino-trace-studios/ghostarmor
v0.1.0
Published
GhostArmor — local-first, zero-telemetry behavioral integrity engine for JS/TS dependency graphs.
Readme
@ghostarmor/engine
Local-first, zero-telemetry behavioral integrity engine for Node.js dependency graphs. MIT licensed. No network calls. No daemons.
Layers
- Intelligence — Reachability, phantom + unused detection, monorepo-aware (npm/yarn/pnpm), dynamic + lazy import support.
- Detonation — In-process behavioral profile with
AsyncLocalStorageattribution + obfuscation-resistant honeypots. - Contract — Deterministic, host-pinned capability contract with stable SHA-256 digest.
- Enforcement — Preload hook with
observe/warn/enforcemodes and structuredViolationError. - Lineage — Version drift, metadata anomalies, typosquat detection, attestation presence, risky-unused.
- Semantic —
pinSecret()taint tracking, transitive blast-radius, Ed25519-verified reputation mesh.
CLI
ghostarmor scan
ghostarmor lock
ghostarmor verify
ghostarmor allow <pkg> <cap> [value]Programmatic
import { runPipeline } from "@ghostarmor/engine";
const r = await runPipeline({ projectRoot: process.cwd(), mode: "warn" });Runtime enforcement
node --import @ghostarmor/engine/preload app.jsGuarantees
- Deterministic: same behavior => same digest.
- Offline: no outbound requests anywhere.
- Structured errors (GhostArmorError with .code) + NDJSON logs on stderr.
- Bounded: trace events capped at 50k; parser is O(n).
Stubs
- Layer 2 hooks Node modules; a kernel/eBPF backend can swap in via the Tracer interface.
- Layer 5 records attestation presence; full sigstore verification is future work.
- Layer 6 mesh verifies Ed25519 sigs from a local file; gossip transport is intentionally out of scope.
