npm JavaScript analyzed 4.54.12

shieldcortex

v4.54.12
npm

Trustworthy memory and security for AI agents. Memory firewall for any host that writes through it; runtime tool gates on Claude Code, OpenClaw, and Hermes.

maintainer
cyborgninja
license
MIT
first seen
2026-06-02
last seen
2026-08-25
releases · 30d
45
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 32 tools
transport stdio · http counts 32 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • audit_query
  • consolidate
  • defence_stats
  • detect_contradictions
  • end_session
  • export_memories
  • forget
  • get_context
  • get_memory
  • get_project
  • get_related
  • graph_entities
  • graph_explain
  • graph_query
  • import_memories
  • iron_dome_activate
  • iron_dome_check
  • iron_dome_emergency_stop
  • iron_dome_resume
  • iron_dome_scan
  • iron_dome_status
  • link_memories
  • memory_stats
  • quarantine_review
  • recall
  • remember
  • scan_memories
  • scan_skill
  • scan_tool_response
  • set_project
  • start_session
  • threat_graph
code evidence v4.54.12 · npm-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 907

filesystem 116

  • fs package/dashboard/.next/standalone/dashboard/.next/server/chunks/[turbopack]_runtime.js :569 const { createReadStream } = require('fs');
  • fs package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[turbopack]_runtime.js :569 const { createReadStream } = require('fs');
  • fs package/dist/api/routes/admin.js :9 import { existsSync, readFileSync, readdirSync } from 'fs';
  • fs package/dist/api/routes/memories.js :3 import { existsSync, readdirSync, readFileSync } from 'fs';
  • fs package/dist/api/routes/xray.js :2 import fs from 'fs';
  • fs package/dist/api/session-token.js :10 import { readFileSync, writeFileSync, unlinkSync, existsSync, chmodSync } from 'fs';
  • fs package/dist/api/version.js :7 import { readFileSync } from 'fs';
  • fs package/dist/api/visualization-server.js :10 import { existsSync, unlinkSync } from 'fs';
  • fs package/dist/audit/dependency-scanner.js :21 import { readdirSync, readFileSync, existsSync, renameSync, rmSync, writeFileSync } from 'fs';
  • fs package/dist/audit/env-scanner.js :10 import { existsSync, readFileSync, readdirSync, statSync } from 'fs';
  • fs package/dist/audit/mcp-config-scanner.js :9 import { existsSync, readFileSync } from 'fs';
  • fs package/dist/audit/memory-scanner.js :11 import { existsSync, readdirSync, readFileSync, statSync } from 'fs';
  • fs package/dist/audit/rules-file-scanner.js :12 import { existsSync, readFileSync, statSync } from 'fs';
  • fs package/dist/cli/allowlist-scan.js :28 import { readdirSync, readFileSync, realpathSync, statSync } from 'node:fs';
  • fs package/dist/cli/allowlist.js :22 import { readFileSync, realpathSync, statSync } from 'node:fs';
  • fs package/dist/cli/approve.js :22 import { existsSync, readSync } from 'node:fs';
  • fs package/dist/cli/backup-budget.js :20 import { readdirSync, statSync, unlinkSync } from 'node:fs';
  • fs package/dist/cli/cron-denial-audit.js :33 import { closeSync, fstatSync, openSync, readSync } from 'node:fs';
  • fs package/dist/cli/doctor.js :5 import fs from 'fs';
  • fs package/dist/cli/freeze.js :19 import fs from 'fs';
  • fs package/dist/cli/import-jsonl.js :14 import { existsSync } from 'fs';
  • fs package/dist/cli/iron-dome.js :12 import fs from 'fs';
  • fs package/dist/cli/memory.js :19 import fs from 'fs';
  • fs package/dist/cli/migrate-legacy.js :1 import fs from 'fs';
  • fs package/dist/cli/openclaw-cron-store.js :24 import { statSync } from 'node:fs';
  • fs package/dist/cli/review-copilot.js :1 import { existsSync, readdirSync, rmSync, readFileSync } from 'fs';
  • fs package/dist/cli/update.js :14 import fs from 'fs';
  • fs package/dist/cli/upsell-state.js :10 import fs from 'fs';
  • fs package/dist/cloud/config.js :1 import { readFileSync, writeFileSync, existsSync, chmodSync, statSync, renameSync, rmSync } from 'fs';
  • fs package/dist/context/derive-project-key.js :16 import { existsSync, readFileSync, statSync } from 'fs';
  • fs package/dist/cortex/store.js :6 import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
  • fs package/dist/database/init.js :5 import { existsSync, readFileSync, statSync, writeFileSync, unlinkSync, renameSync, copyFileSync, readdirSync, openSync, closeSync, realpathSync } from 'fs';
  • fs package/dist/defence/iron-dome/action-approvals.js :33 import { existsSync, readFileSync, renameSync, writeFileSync } from 'fs';
  • fs package/dist/defence/iron-dome/dnp-digest.js :15 import * as fs from 'node:fs';
  • fs package/dist/defence/iron-dome/dnp-retry-waiter.js :61 import { closeSync, constants, fstatSync, mkdirSync, openSync, readSync, rmSync, writeFileSync } from 'node:fs';
  • fs package/dist/defence/iron-dome/enforcement-binding.js :16 import { existsSync, readFileSync, writeFileSync } from 'node:fs';
  • fs package/dist/defence/iron-dome/openclaw-approval-channel.js :42 import { existsSync, mkdirSync, readFileSync } from 'node:fs';
  • fs package/dist/defence/iron-dome/openclaw-approval-waiter.js :40 import { mkdirSync, rmSync, writeFileSync } from 'node:fs';
  • fs package/dist/defence/iron-dome/retry-control.js :57 import { existsSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, rmdirSync, statSync, writeFileSync, } from 'node:fs';
  • fs package/dist/defence/iron-dome/reviewed-scripts.js :29 import { realpathSync } from 'node:fs';
  • fs package/dist/defence/iron-dome/script-source-resolver.js :33 import { readFileSync, statSync } from 'fs';
  • fs package/dist/defence/iron-dome/session-guard.js :14 import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
  • fs package/dist/defence/iron-dome/session-lease-store.js :43 import fs from 'fs';
  • fs package/dist/defence/iron-dome/tool-action-guard.js :27 import { lstatSync, realpathSync } from 'node:fs';
  • fs package/dist/defence/judge/runner.js :3 import { existsSync } from 'fs';
  • fs package/dist/defence/judge/telemetry.js :1 import { appendFileSync, chmodSync, mkdirSync } from 'fs';
  • fs package/dist/defence/skill-scanner/discover.js :8 import { existsSync, readdirSync } from 'fs';
  • fs package/dist/defence/skill-scanner/parser.js :11 import * as fs from 'node:fs';
  • fs package/dist/defence/skill-scanner/report.js :11 import { existsSync, unlinkSync, writeFileSync } from 'node:fs';
  • fs package/dist/defence/skill-scanner/verdict-store.js :17 import { existsSync, readFileSync, writeFileSync } from 'node:fs';
  • fs package/dist/embeddings/generator.js :11 import { existsSync } from 'fs';
  • fs package/dist/embeddings/model-cache.js :20 import { createReadStream, existsSync, mkdirSync, readFileSync, renameSync, statSync, writeFileSync, } from 'node:fs';
  • fs package/dist/index.js :71 import fs from 'fs';
  • fs package/dist/integrations/claude-code-version.js :2 import fs from 'fs';
  • fs package/dist/integrations/openclaw-config-validate.js :43 import fs from 'fs';
  • fs package/dist/integrations/openclaw-conversation-access.js :29 import fs from 'fs';
  • fs package/dist/integrations/openclaw-conversation-capability.js :23 import fs from 'fs';
  • fs package/dist/integrations/openclaw-gateway-process.js :22 import fs from 'fs';
  • fs package/dist/integrations/openclaw-gateway-roster.js :1 import fs from 'fs';
  • fs package/dist/integrations/openclaw-plugin-index.js :1 import fs from 'fs';
  • fs package/dist/integrations/openclaw-plugin-state.js :1 import fs from 'fs';
  • fs package/dist/integrations/openclaw.js :2 import { mkdir, readdir, readFile, writeFile } from 'fs/promises';
  • fs package/dist/license/store.js :12 import { readFileSync, writeFileSync, existsSync, unlinkSync, statSync } from 'fs';
  • fs package/dist/memory/backup.js :1 import fs from 'fs';
  • fs package/dist/memory/store.js :8 import { existsSync, readFileSync } from 'fs';
  • fs package/dist/service/dashboard-staleness.js :23 import { existsSync, statSync } from 'node:fs';
  • fs package/dist/service/install.js :9 import fs from 'fs';
  • fs package/dist/sessions/glob.js :19 import { readdirSync, statSync } from 'fs';
  • fs package/dist/sessions/import-jsonl.js :31 import { openSync, readSync, closeSync, existsSync } from 'fs';
  • fs package/dist/setup/claude-md.js :11 import fs from 'fs';
  • fs package/dist/setup/codex.js :8 import fs from 'fs';
  • fs package/dist/setup/copilot.js :8 import fs from 'fs';
  • fs package/dist/setup/deep-clean.js :17 import fs from 'fs';
  • fs package/dist/setup/doctor.js :4 import fs from 'fs';
  • fs package/dist/setup/hermes.js :9 import fs from 'fs';
  • fs package/dist/setup/hook-command-resolution.js :24 import { accessSync, constants } from 'node:fs';
  • fs package/dist/setup/hooks.js :10 import fs from 'fs';
  • fs package/dist/setup/json-config.js :16 import fs from 'fs';
  • fs package/dist/setup/mcp-self-heal.js :22 import fs from 'fs';
  • fs package/dist/setup/migrate.js :7 import fs from 'fs';
  • fs package/dist/setup/openclaw-reconcile.js :1 import fs from 'fs';
  • fs package/dist/setup/openclaw-selfcheck.js :1 import fs from 'fs';
  • fs package/dist/setup/openclaw.js :8 import fs from 'fs';
  • fs package/dist/setup/quickstart.js :8 import fs from 'fs';
  • fs package/dist/setup/state-permissions.js :35 import fs from 'fs';
  • fs package/dist/setup/status.js :6 import fs from 'fs';
  • fs package/dist/setup/uninstall.js :9 import fs from 'fs';
  • fs package/dist/threat-graph/realtime-ledger.js :29 import fs from 'fs';
  • fs package/dist/worker/brain-worker.js :30 import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
  • fs package/dist/xray/activity.js :1 import fs from 'fs';
  • fs package/dist/xray/dir-scanner.js :7 import fs from 'fs';
  • fs package/dist/xray/file-scanner.js :8 import fs from 'fs';
  • fs package/dist/xray/findings-store.js :7 import fs from 'fs';
  • fs package/dist/xray/index.js :11 import fs from 'fs';
  • fs package/dist/xray/npm-inspector.js :9 import fs from 'fs';
  • fs package/dist/xray/preinstall.js :10 import fs from 'fs';
  • fs package/dist/xray/watch.js :7 import fs from 'fs';
  • fs package/hooks/openclaw/cortex-memory/handler.ts :10 import fs from "node:fs/promises";
  • fs package/hooks/openclaw/cortex-memory/runtime.mjs :2 import fs from "node:fs/promises";
  • fs (weak) package/scripts/ensure-bin-executable.mjs :3 import { chmodSync, existsSync, statSync } from 'fs';
  • fs (weak) package/scripts/lib/auto-memory-config.mjs :1 import { existsSync, readFileSync } from 'fs';
  • fs (weak) package/scripts/lib/capture-distill.mjs :9 import { existsSync, readFileSync } from 'fs';
  • fs (weak) package/scripts/lib/openclaw-distill-auth.mjs :15 import { existsSync, readFileSync, readdirSync, statSync } from 'fs';
  • fs (weak) package/scripts/lib/precompact-log.mjs :21 import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from 'fs';
  • fs (weak) package/scripts/lib/project-key.mjs :15 import { existsSync, readFileSync, statSync } from 'fs';
  • fs (weak) package/scripts/lib/recall-log.mjs :32 import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from 'fs';
  • fs (weak) package/scripts/lib/save-memory.mjs :5 import { readFileSync, existsSync } from 'fs';
  • fs (weak) package/scripts/lib/state-perms.mjs :17 import { mkdirSync } from 'node:fs';
  • fs (weak) package/scripts/lib/transcript-reader.mjs :1 import { existsSync, openSync, readSync, closeSync, statSync } from 'fs';
  • fs (weak) package/scripts/postinstall.mjs :12 import { existsSync, copyFileSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'fs';
  • fs (weak) package/scripts/pre-compact-hook.mjs :16 import { existsSync, mkdirSync, readdirSync, statSync } from 'fs';
  • fs (weak) package/scripts/pre-tool-hook.mjs :51 import { closeSync, constants, existsSync, fstatSync, linkSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from 'fs';
  • fs (weak) package/scripts/prompt-recall-hook.mjs :15 import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
  • fs (weak) package/scripts/session-end-hook.mjs :26 import { existsSync, mkdirSync } from 'fs';
  • fs (weak) package/scripts/session-start-hook.mjs :22 import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
  • fs (weak) package/scripts/stop-hook.mjs :20 import { constants, existsSync, fstatSync, linkSync, lstatSync, mkdirSync, openSync, readSync, closeSync, statSync, writeFileSync, readFileSync, readdirSync, unlinkSync } from 'fs';

shell / exec 32

  • shell package/dist/api/routes/xray.js :1 import { execFile, spawn } from 'child_process';
  • shell package/dist/api/version.js :6 import { execSync, exec } from 'child_process';
  • shell package/dist/audit/dependency-scanner.js :24 import { execSync } from 'child_process';
  • shell package/dist/audit/env-scanner.js :13 import { execFileSync } from 'node:child_process';
  • shell package/dist/cli/doctor.js :9 import { execFileSync } from 'child_process';
  • shell package/dist/cli/update.js :13 import { spawn } from 'child_process';
  • shell package/dist/database/init.js :9 import { execSync } from 'child_process';
  • shell package/dist/defence/firewall/anomaly-scorer.js :11 const CODE_INDICATORS = /[{}()\[\];=<>|&$`\\]/g;
  • shell package/dist/defence/iron-dome/cli-invoker.js :33 import { spawn as nodeSpawn } from 'node:child_process';
  • shell package/dist/defence/iron-dome/dnp-retry-waiter.js :60 import { execFile } from 'node:child_process';
  • shell package/dist/defence/iron-dome/openclaw-approval-channel.js :40 import { spawn } from 'node:child_process';
  • shell package/dist/defence/iron-dome/openclaw-approval-waiter.js :39 import { execFile } from 'node:child_process';
  • shell package/dist/defence/iron-dome/tool-action-guard.js :205 // EXECUTES its stdin (`python3 -c "exec(sys.stdin.read())"`, `node -e
  • shell package/dist/index.js :67 import { spawn } from 'child_process';
  • shell package/dist/integrations/claude-code-version.js :1 import { execFileSync } from 'child_process';
  • shell package/dist/integrations/openclaw-config-validate.js :45 import { spawnSync } from 'child_process';
  • shell package/dist/integrations/openclaw-runtime-inspect.js :9 import { spawnSync } from 'node:child_process';
  • shell package/dist/service/dashboard-staleness.js :22 import { execFileSync } from 'node:child_process';
  • shell package/dist/service/install.js :13 import { execSync } from 'child_process';
  • shell package/dist/setup/deep-clean.js :20 import { execSync } from 'child_process';
  • shell package/dist/setup/hook-command-resolution.js :26 import { execFileSync } from 'node:child_process';
  • shell package/dist/setup/hooks.js :8 import { spawn } from 'child_process';
  • shell package/dist/setup/json-config.js :18 import { execSync } from 'child_process';
  • shell package/dist/setup/migrate.js :11 import { execSync } from 'child_process';
  • shell package/dist/setup/native-binding.js :30 import { spawn } from 'child_process';
  • shell package/dist/setup/openclaw-reconcile.js :4 import { spawnSync } from 'child_process';
  • shell package/dist/setup/openclaw.js :11 import { execSync, spawnSync } from 'child_process';
  • shell package/hooks/openclaw/cortex-memory/runtime.mjs :1 import { execFile } from "node:child_process";
  • shell (weak) package/scripts/lib/capture-distill.mjs :12 import { spawnSync } from 'child_process';
  • shell (weak) package/scripts/postinstall.mjs :16 import { spawnSync } from 'child_process';
  • shell (weak) package/scripts/pre-tool-hook.mjs :55 import { spawn } from 'child_process';
  • shell (weak) package/scripts/run-jest.mjs :3 import { spawn } from 'child_process';

network 36

  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/[root-of-the-server]__5a83e3d7._.js :5 ad(),g=null),ei(f.renderSignal,h.route,"fetch()")}switch(R){case"force-no-store":O="fetchCache = force-no-store";break;case"only-no-store":if("force-cache"===P||void 0!==d&&d>0)throw Object.defineProp
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_3dabb53c._.js :1 .setCacheBustingSearchParam)(n,b);let p=fetch(n,{credentials:"same-origin",headers:b,priority:c||void 0,signal:f}),r=e?(g=p,k=b,q(g,{callServer:i.callServer,findSourceMapURL:j.findSourceMapURL,debugCh
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_@tanstack_785e068c._.js :1 ted||this.#o({type:"invalidate"})}async fetch(a,c){let d;if("idle"!==this.state.fetchStatus&&this.#l?.status()
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_c9fe89e1._.js :4 `, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https:
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_dist_0aa46811._.js :4 `, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https:
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/9f1d4_next_dist_esm_8b94d72c._.js :4 `, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https:
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__19f3f4ea._.js :8 ead(),q=null),s(p.renderSignal,o.route,"fetch()")}switch(z){case"force-no-store":C="fetchCache = force-no-store";break;case"only-no-store":if("force-cache"===B||void 0!==k&&k>0)throw Object.defineProp
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__883523b7._.js :8 ead(),q=null),s(p.renderSignal,o.route,"fetch()")}switch(z){case"force-no-store":C="fetchCache = force-no-store";break;case"only-no-store":if("force-cache"===B||void 0!==k&&k>0)throw Object.defineProp
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_overview_page_tsx_8c105626._.js :1 a=setInterval(async()=>{try{let b=await fetch(`https://api.shieldcortex.ai/v1/auth/setup-status/${k}`),c=a
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_9a70893e._.js :1 abled()&&!a.isStatic()).map(a=>{let b=a.fetch(void 0,d);return d.throwOnError||(b=b.catch(c.noop)),"paused"===a.state.fetchStatus?Promise.resolve():b}))).then(c.noop)}fetchQuery(a){let b=this.defaultQ
  • net package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_lib_e099bffc._.js :1 {return c||d||(d=(async()=>{let a=await fetch(`${b}/api/auth/session-token`);if(!a.ok){let b=await a.json().catch(()=>({}));throw d=null,Error(b.error||"Failed to fetch session token")}let{token:e}=aw
  • net package/dashboard/.next/standalone/dashboard/.next/static/chunks/367944cb40d1e6d7.js :1 ted||this.#p({type:"invalidate"})}async fetch(t,i){let s;if("idle"!==this.state.fetchStatus&&this.#l?.status()!=="rejected"){if(void 0!==this.state.data&&i?.cancelRefetch)this.cancel({silent:!0});else
  • net package/dashboard/.next/standalone/dashboard/.next/static/chunks/3878619e09355b6e.js :1 e=setInterval(async()=>{try{let t=await fetch(`https://api.shieldcortex.ai/v1/auth/setup-status/${o}`),s=await t.json();"complete"===s.status&&s.api_key?(await (0,w.authFetch)("http://localhost:3001/a
  • net package/dashboard/.next/standalone/dashboard/.next/static/chunks/9299edebc536e6de.js :1 {return r||o||(o=(async()=>{let e=await fetch(`${t}/api/auth/session-token`);if(!e.ok){let t=await e.json().catch(()=>({}));throw o=null,Error(t.error||"Failed to fetch session token")}let{token:s}=aw
  • net package/dashboard/.next/standalone/dashboard/.next/static/chunks/9e56d1f8f4d7adcb.js :4 `, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https:
  • net package/dashboard/.next/standalone/dashboard/.next/static/chunks/e281719dbabcca1d.js :1 .setCacheBustingSearchParam)(h,t);let y=fetch(h,{credentials:"same-origin",headers:t,priority:r||void 0,signal:l}),v=a?(u=y,c=t,g(u,{callServer:i.callServer,findSourceMapURL:s.findSourceMapURL,debugCh
  • net package/dashboard/.next/standalone/dashboard/.next/static/chunks/ea9275fe0f92b82c.js :1 r=!1,a=setInterval(()=>{let t=n.current;fetch(`${y}/api/memories?mode=recent&limit=50`
  • net package/dashboard/.next/standalone/dashboard/.next/static/chunks/turbopack-768a6a8b9db952e0.js :4 ,async loadWebAssembly(e,t,r,n,o){let l=fetch(K(r)),{instance:i}=await WebAssembly.instantiateStreaming(l,o);return i.exports},async loadWebAssemblyModule(e,t,r,n
  • net package/dist/api/bind-policy.js :10 import { isIP } from 'net';
  • net package/dist/api/routes/admin.js :592 const response = await fetch(`${config.cloudBaseUrl}/v1/quarantine/ingest`, {
  • net package/dist/api/visualization-server.js :9 import { createServer } from 'http';
  • net package/dist/audit/dependency-scanner.js :63 { regex: /\bfetch\s*\(/i, label: 'fetch() (HTTP request)' },
  • net package/dist/cli/doctor.js :1070 const response = await fetch('http://localhost:3001/api/health', { signal: controller.signal });
  • net package/dist/cloud/graph-sync.js :66 const res = await fetch(`${config.cloudBaseUrl}/v1/sync/graph`, {
  • net package/dist/cloud/iron-dome-sync.js :49 fetch(`${config.cloudBaseUrl}/v1/iron-dome/patterns/sync`, {
  • net package/dist/cloud/memory-sync.js :96 const res = await fetch(`${config.cloudBaseUrl}/v1/sync/memories`, {
  • net package/dist/cloud/quarantine-sync.js :49 fetch(url, {
  • net package/dist/cloud/sync-queue.js :326 const res = await fetch(`${config.cloudBaseUrl}${request.path}`, {
  • net package/dist/cloud/sync.js :66 track(fetch(`${config.cloudBaseUrl}/v1/devices/heartbeat`, {
  • net package/dist/cloud/verify.js :48 fetch(`${cloudConfig.cloudBaseUrl}/v1/verify`, {
  • net package/dist/environment/fetcher.js :40 const res = await fetch(current.toString(), {
  • net package/dist/events/webhooks.js :47 fetch(webhook.url, {
  • net package/dist/index.js :69 import http from 'http';
  • net package/dist/license/validate.js :35 const res = await fetch(`${baseUrl}/v1/license/validate?sid=${encodeURIComponent(sid)}`, { signal: controller.signal });
  • net package/dist/xray/npm-inspector.js :8 import https from 'https';
  • net (weak) package/scripts/lib/dashboard-hint.mjs :14 import http from 'node:http';

secrets 4

  • secrets package/dist/api/session-token.js :19 const v = (process.env.SHIELDCORTEX_API_TOKEN || '').trim();
  • secrets package/dist/context/derive-project-key.js :117 if (process.env.SHIELDCORTEX_PROJECT_KEY) {
  • secrets package/dist/context/project-context.js :36 const envProject = process.env.SHIELDCORTEX_PROJECT_KEY || process.env.CLAUDE_MEMORY_PROJECT;
  • secrets (weak) package/scripts/lib/project-key.mjs :122 if (process.env.SHIELDCORTEX_PROJECT_KEY) {

database 14

  • db package/dist/cli/doctor.js :287 const Database = require('better-sqlite3');
  • db package/dist/cli/migrate-legacy.js :7 import Database from 'better-sqlite3';
  • db package/dist/cli/openclaw-cron-store.js :63 const Database = require('better-sqlite3');
  • db package/dist/database/better-sqlite3-guard.js :29 /** The original error raised by `require('better-sqlite3')`. */
  • db package/dist/integrations/openclaw-gateway-process.js :44 const Database = require('better-sqlite3');
  • db package/dist/integrations/openclaw-plugin-index.js :425 const Database = require('better-sqlite3');
  • db package/dist/setup/doctor.js :52 const Database = require('better-sqlite3');
  • db package/dist/setup/native-binding.js :52 const Database = require('better-sqlite3');
  • db (weak) package/scripts/postinstall.mjs :137 const Database = require('better-sqlite3');
  • db (weak) package/scripts/pre-compact-hook.mjs :14 import Database from 'better-sqlite3';
  • db (weak) package/scripts/prompt-recall-hook.mjs :12 import Database from 'better-sqlite3';
  • db (weak) package/scripts/session-end-hook.mjs :24 import Database from 'better-sqlite3';
  • db (weak) package/scripts/session-start-hook.mjs :21 import Database from 'better-sqlite3';
  • db (weak) package/scripts/stop-hook.mjs :19 import Database from 'better-sqlite3';

tool registrations 32

  • remember package/dist/server.js :215
  • recall package/dist/server.js :259
  • forget package/dist/server.js :291
  • get_context package/dist/server.js :324
  • start_session package/dist/server.js :344
  • end_session package/dist/server.js :358
  • consolidate package/dist/server.js :375
  • memory_stats package/dist/server.js :412
  • get_memory package/dist/server.js :424
  • export_memories package/dist/server.js :438
  • import_memories package/dist/server.js :454
  • get_related package/dist/server.js :486
  • link_memories package/dist/server.js :508
  • set_project package/dist/server.js :523
  • get_project package/dist/server.js :537
  • detect_contradictions package/dist/server.js :550
  • graph_query package/dist/server.js :598
  • threat_graph package/dist/server.js :604
  • graph_entities package/dist/server.js :612
  • graph_explain package/dist/server.js :618
  • audit_query package/dist/server.js :627
  • quarantine_review package/dist/server.js :640
  • defence_stats package/dist/server.js :679
  • scan_tool_response package/dist/server.js :715
  • scan_memories package/dist/server.js :798
  • scan_skill package/dist/server.js :813
  • iron_dome_status package/dist/server.js :851
  • iron_dome_scan package/dist/server.js :886
  • iron_dome_check package/dist/server.js :909
  • iron_dome_activate package/dist/server.js :947
  • iron_dome_emergency_stop package/dist/server.js :968
  • iron_dome_resume package/dist/server.js :983

install hooks 3

  • postinstall package/package.json :62 node scripts/postinstall.mjs
  • prepack package/package.json :83 node scripts/ensure-bin-executable.mjs
  • prepublishOnly package/package.json :87 node scripts/sync-plugin-version.mjs --check && npm run build && npm run test:dist

declared dependencies 20

  • @modelcontextprotocol/sdk@^1.0.0
  • better-sqlite3@^12.0.0
  • cors@^2.8.5
  • express@^4.21.0
  • safe-regex2@^5.0.0
  • semver@^7.7.0
  • ws@^8.18.0
  • zod@^3.23.0
  • @types/better-sqlite3@^7.6.11
  • @types/cors@^2.8.17
  • @types/express@^5.0.0
  • @types/jest@^30.0.0
  • @types/node@^22.0.0
  • @types/semver@^7.7.0
  • @types/ws@^8.5.13
  • jest@^30.2.0
  • ts-jest@^29.4.6
  • tsx@^4.19.0
  • typescript@^5.6.0
  • @huggingface/transformers@^3.7.2

perm:untrusted 5

  • untrusted package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_overview_page_tsx_8c105626._.js :1 a=setInterval(async()=>{try{let b=await fetch(`https://api.shieldcortex.ai/v1/auth/setup-status/${k}`),c=await b.json();"complete"===c.status&&c.api_key?(await (0,x.authFetch)("http://localhost:3001/a
  • untrusted package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_lib_e099bffc._.js :1 rn d.set("Authorization",`Bearer ${c}`),fetch(a,{...b,headers:d})}async function h(a,b){if((a.headers.get("content-type")??"").includes("application/json")){let c=await a.json().catch(()=>null);if("st
  • untrusted package/dashboard/.next/standalone/dashboard/.next/static/chunks/3878619e09355b6e.js :1 e=setInterval(async()=>{try{let t=await fetch(`https://api.shieldcortex.ai/v1/auth/setup-status/${o}`),s=await t.json();"complete"===s.status&&s.api_key?(await (0,w.authFetch)("http://localhost:3001/a
  • untrusted package/dashboard/.next/standalone/dashboard/.next/static/chunks/9299edebc536e6de.js :1 rn o.set("Authorization",`Bearer ${r}`),fetch(e,{...t,headers:o})}async function i(e,t){if((e.headers.get("content-type")??"").includes("application/json")){let r=await e.json().catch(()=>null);if("st
  • untrusted package/dashboard/.next/standalone/dashboard/.next/static/chunks/ea9275fe0f92b82c.js :1 r=!1,a=setInterval(()=>{let t=n.current;fetch(`${y}/api/memories?mode=recent&limit=50`,{credentials:"include"}).then(e=>e.ok?e.json():null).then(a=>{if(!a||r)return;let l=a.memories??[];for(let r of l