Durable local audit trail for Claude Code and MCP tool activity. Records, classifies and keeps the history on your Mac.
Drift inferred · capture-to-capture
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
- HIGH code analysis flagged committed secret in rebecazm129-commits/xclaude-gateway
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 0da48f7 · analyzer v33 · 1w ago
skills & prompt files 1
danger signals6
- over-broad OAuth scope gmail.modify rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/renderer/components/AddConnectorModal.tsx :79
scope: 'https://www.googleapis.com/auth/gmail.modify', - committed secret Anthropic key rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/detection/detectors/credential.ts :71
sk-ant…(45 chars, redacted) - committed secret OpenAI key rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/tests/detectors/credential.test.ts :27
sk-AAA…(49 chars, redacted) - committed secret Anthropic key rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/tests/detectors/credential.test.ts :45
sk-ant…(52 chars, redacted) - committed secret GitHub token rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/tests/detectors/credential.test.ts :72
ghp_aa…(40 chars, redacted) - committed secret Stripe live key rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/tests/detectors/credential.test.ts :107
sk_liv…(32 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 218
filesystem 62
- fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/scripts/bench-audit-store.ts :43
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/scripts/notarize-dmg.cjs :23
const { readdirSync } = require('node:fs'); - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/audit-export.ts :8
import { createWriteStream } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/audit-store.ts :17
import { open, readFile, readdir, stat } from 'node:fs/promises'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/cchook-ingester.ts :20
import { existsSync, mkdirSync, writeFileSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/cchook-install.ts :6
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/cchook-integrity.ts :19
import { readFileSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/claude-code-detect.ts :10
import { existsSync, readFileSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/compactor.ts :51
import { open, readdir, stat, readFile, unlink } from 'node:fs/promises'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/detection-reader.ts :1
import { readdir, readFile } from 'node:fs/promises'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/health-handlers.ts :16
import { existsSync, lstatSync, readlinkSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/index.ts :3
import { mkdirSync } from 'node:fs';
show 28 more
- fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/recovery-writer.ts :10
import { appendFileSync, mkdirSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/retention.ts :8
import { existsSync, mkdirSync, writeFileSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/selftest-runner.ts :16
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/audit-export.test.ts :1
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/audit-store.test.ts :1
import { existsSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/cchook-ingester.test.ts :6
import { mkdirSync, mkdtempSync, readdirSync, readFileSync, rmSync, writeFileSync, existsSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/compactor.test.ts :2
import { mkdtemp, readdir, readFile, rm, stat, writeFile } from 'node:fs/promises'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/detection-page.test.ts :1
import { appendFile, mkdtemp, rm, unlink, utimes, writeFile } from 'node:fs/promises'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/detection-reader.test.ts :1
import { mkdtemp, rm, writeFile, mkdir } from 'node:fs/promises'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/main/cchook-install.test.ts :5
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, statSync, writeFileSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/main/cchook-integrity.test.ts :6
import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/main/claude-code-detect.test.ts :5
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/main/config-handlers.test.ts :8
import { existsSync, readFileSync, writeFileSync, mkdtempSync, rmSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/main/connect-handler.test.ts :6
import { readFileSync, writeFileSync, mkdtempSync, rmSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/main/health-handlers.test.ts :1
import { existsSync, mkdtempSync, readFileSync, rmSync, symlinkSync, writeFileSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/main/recovery-writer.test.ts :1
import { mkdtemp, rm, readFile } from 'node:fs/promises'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/notarize-dmg.test.ts :6
import { mkdir, mkdtemp, rm } from 'node:fs/promises'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/retention.test.ts :1
import { existsSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/scripts/copy-dylib.mjs :7
import { cpSync, existsSync, readdirSync, realpathSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/scripts/fetch-model.mjs :13
import { cpSync, existsSync, mkdirSync, realpathSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/scripts/poc-transformers-bench.mjs :3
import { readFile } from 'node:fs/promises'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/scripts/poc-transformers-load-model.mjs :5
import { stat, readdir } from 'node:fs/promises'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/audit.ts :7
import { closeSync, fsync, mkdirSync, openSync, writeSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/cchook.ts :14
import { mkdirSync as fsMkdirSync, writeFileSync as fsWriteFileSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/detection/manifest.ts :12
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/detection/masking.ts :19
import { openSync, readFileSync, writeSync, closeSync, mkdirSync } from 'node:fs'; - fs rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/refresh-lock.ts :13
import { mkdirSync } from 'node:fs'; - fs (weak) rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/tests/audit.test.ts :1
import { mkdtempSync, readFileSync, rmSync, statSync } from 'node:fs';
22 more not shown — this panel samples each group; the count above is the real total.
shell / exec 10
- shell (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/scripts/notarize-dmg.cjs :22
const { execFileSync: defaultExecFileSync } = require('node:child_process'); - shell rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/login-runner.ts :14
import { spawn } from 'node:child_process'; - shell rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/src/main/selftest-runner.ts :15
import { spawn, type ChildProcessWithoutNullStreams } from 'node:child_process'; - shell (weak) rebecazm129-commits-xclaude-gateway-0da48f7/apps/desktop/tests/main/login-runner.test.ts :12
// assert the argv passed to spawn(). - shell rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/detection/ner/async-detector.ts :1
import { fork, type ChildProcess } from 'node:child_process'; - shell rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/detection/ner/worker-pure.ts :15
// structured-clone-able: el transporte es child_process.fork (worker_threads - shell rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/keychain.ts :1
import { execFile } from 'node:child_process'; - shell rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/main.ts :5
import { spawn } from 'node:child_process'; - shell rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/oauth-provider.ts :1
import { spawn } from 'node:child_process'; - shell (weak) rebecazm129-commits-xclaude-gateway-0da48f7/packages/shared/tests/config-cc/writer.stress.test.ts :60
import { spawn, type ChildProcess } from 'node:child_process';
network 2
- net rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/login.ts :1
import http from 'node:http'; - net rebecazm129-commits-xclaude-gateway-0da48f7/packages/proxy/src/refresh-fetch.ts :2
// opts.fetch (and as auth()'s fetchFn in the login flow). The SDK gives no hook
install hooks 1
- postinstall rebecazm129-commits-xclaude-gateway-0da48f7/package.json :14
node node_modules/electron/install.js
declared dependencies 1
- typescript@^6.0.0