registry  /  @kmugalkhod/lightcode  /  0.9.0

@kmugalkhod/lightcode@0.9.0

Lightcode — a personal AI coding agent with a terminal UI and local session storage.

Static Scan Results

scanned 1d ago · by rust-scanner

Static analysis flagged 13 finding(s) at 72.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 3 file(s), 1.04 MB of source, external domains: 127.0.0.1, api.anthropic.com, api.search.brave.com, api.tavily.com, bun.sh, github.com, opencode.ai, openrouter.ai

Source & flagged code

7 flagged · loading source
lightcode.cjsView file
5L6: const { spawnSync } = require("child_process"); L7: const path = require("path");
High
Child Process

Package source references child process execution.

lightcode.cjsView on unpkg · L5
5L6: const { spawnSync } = require("child_process"); L7: const path = require("path"); ... L16: const result = spawnSync(bunCmd, ["--version"], { encoding: "utf8" }); L17: if (result.status !== 0 || !result.stdout) { L18: return false; ... L27: function resolveBun() { L28: // __dirname is the realpath of this launcher even when invoked via npm's L29: // global bin symlink (process.argv[1] would be the symlink path on macOS/Linux). ... L37: try { L38: const bunPkgPath = require.resolve("bun/package.json", { L39: paths: [launcherDir],
High
Sandbox Evasion Gated Capability

Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.

lightcode.cjsView on unpkg · L5
server.jsView file
6775try { L6776: const result = await execAsync(parsedInput.command, { L6777: cwd: workspaceContext.root,
High
Shell

Package source references shell execution.

server.jsView on unpkg · L6775
2766try { L2767: const parsed = storedCredentialsSchema.safeParse(JSON.parse(readFileSync(credentialsPath, "utf8"))); L2768: return parsed.success ? parsed.data : {}; ... L3730: } L3731: function readEnvBaseUrl(env) { L3732: if (env.LIGHTCODE_BASE_URL) { ... L6756: // packages/ai/src/bash/runtime.ts L6757: import { exec } from "child_process"; L6758: import { promisify } from "util";
High
Remote Agent Bridge

Source exposes local file and command tools to a remote model endpoint.

server.jsView on unpkg · L2766
21import path from "path"; L22: function getLightcodeDataDir(env = process.env) { L23: const configuredHome = env.LIGHTCODE_HOME?.trim(); ... L28: const appData = env.APPDATA || env.LOCALAPPDATA; L29: return appData ? path.join(appData, "lightcode") : path.join(homedir(), "AppData", "Roaming", "lightcode"); L30: } ... L116: }); L117: process.stderr.write(`${line} L118: `); ... L500: } L501: if (process.platform === "win32") { L502: return {
Low
Weak Crypto

Package source references weak cryptographic algorithms.

server.jsView on unpkg · L21
assets/grammars/go/tree-sitter-go.wasmView file
path = assets/grammars/go/tree-sitter-go.wasm kind = wasm_module sizeBytes = 235957 magicHex = [redacted]
Medium
Ships Wasm Module

Package ships WebAssembly modules.

assets/grammars/go/tree-sitter-go.wasmView on unpkg
package.jsonView file
scripts registry_only=start
Critical
Manifest Confusion

Tarball package.json differs from the npm registry version manifest for scripts or dependency sets.

package.jsonView on unpkg

Findings

1 Critical4 High4 Medium4 Low
CriticalManifest Confusionpackage.json
HighChild Processlightcode.cjs
HighShellserver.js
HighSandbox Evasion Gated Capabilitylightcode.cjs
HighRemote Agent Bridgeserver.js
MediumNetwork
MediumEnvironment Vars
MediumShips Wasm Moduleassets/grammars/go/tree-sitter-go.wasm
MediumStructural Risk Force Deep Review
LowWeak Cryptoserver.js
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings