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.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
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
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