Static Scan Results
scanned 2h ago · by rust-scannerStatic analysis flagged 12 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 snapshotBehavioral surface
ChildProcessCryptoDynamicRequireEnvironmentVarsFilesystemNetworkShell
HighEntropyStringsUrlStrings
Source & flagged code
4 flagged · loading sourcebin/notecraftapp.mjsView file
9import { defineCommand, runMain } from "citty";
L10: import { spawn, spawnSync } from "node:child_process";
L11: import { createServer } from "node:http";
High
Child Process
Package source references child process execution.
bin/notecraftapp.mjsView on unpkg · L965console.log(`[notecraftapp] 安裝相依(npm install)…`);
L66: const install = spawnSync("npm", ["install", "--omit=dev", "--no-audit", "--no-fund"], {
L67: cwd: stableAppRoot,
...
L70: if (install.status !== 0) {
L71: console.error("[notecraftapp] npm install 失敗");
L72: process.exit(install.status ?? 1);
High
Runtime Package Install
Package source invokes a package manager install command at runtime.
bin/notecraftapp.mjsView on unpkg · L659import { defineCommand, runMain } from "citty";
L10: import { spawn, spawnSync } from "node:child_process";
L11: import { createServer } from "node:http";
L12: import { promises as fs, existsSync, readFileSync, statSync } from "node:fs";
...
L20: const packageRoot = path.resolve(path.dirname(__filename), "..");
L21: const pkgJson = JSON.parse(readFileSync(path.join(packageRoot, "package.json"), "utf-8"));
L22:
...
L32:
L33: const stableAppRoot = path.join(os.homedir(), ".notecraft", `app-${pkgJson.version}`);
L34:
L35: function isDevSource() {
L36: if (process.env.NOTECRAFTAPP_DEV === "1") return true;
Low
Weak Crypto
Package source references weak cryptographic algorithms.
bin/notecraftapp.mjsView on unpkg · L9src/components/islands/PagefindSearch.tsxView file
29const url = "/pagefind/" + "pagefind.js";
L30: const mod = await import(/* @vite-ignore */ url);
L31: if (cancelled) return;
Medium
Dynamic Require
Package source references dynamic require/import behavior.
src/components/islands/PagefindSearch.tsxView on unpkg · L29Findings
3 High4 Medium5 Low
HighChild Processbin/notecraftapp.mjs
HighShell
HighRuntime Package Installbin/notecraftapp.mjs
MediumDynamic Requiresrc/components/islands/PagefindSearch.tsx
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowScripts Present
LowWeak Cryptobin/notecraftapp.mjs
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings