github JavaScript analyzed 52a1812

dcierra/DarwinRelay

github

Turn ChatGPT and other MCP clients into local agents on macOS — shell, files, PTY, browser, native desktop control, and Codex history.

maintainer
dcierra
licence
MIT
first seen
2026-08-19
last seen
2026-08-22
releases · 30d
6
short id

Drift inferred · capture-to-capture

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

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 52a1812 · analyzer v33 · 3w ago

skills & prompt files 1

code evidence vv0.6.8 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 79

filesystem 21

  • fs dcierra-DarwinRelay-52a1812/bridge.mjs :6 import fs from "node:fs";
  • fs dcierra-DarwinRelay-52a1812/lib/advanced-browser.mjs :1 import fs from "node:fs";
  • fs dcierra-DarwinRelay-52a1812/lib/federation.mjs :19 import fsp from "node:fs/promises";
  • fs dcierra-DarwinRelay-52a1812/lib/mac-ui-cursor.mjs :2 import fs from "node:fs";
  • fs dcierra-DarwinRelay-52a1812/lib/mac-ui-helper.mjs :2 import fs from "node:fs";
  • fs dcierra-DarwinRelay-52a1812/mcp-http.mjs :15 import fs from "node:fs";
  • fs (weak) dcierra-DarwinRelay-52a1812/scripts/chrome-native-host.mjs :4 import fs from "node:fs";
  • fs (weak) dcierra-DarwinRelay-52a1812/scripts/probe-bridge-status.mjs :4 import fs from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/advanced-browser.mjs :3 import fs from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/adversarial.mjs :3 import fsp from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/bridge-status-probe.mjs :3 import fs from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/chrome-background.mjs :4 import fs from "node:fs/promises";
show 9 more
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/desktop-control-native.mjs :3 import fs from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/desktop-control.mjs :3 import fs from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/federation.mjs :10 import fs from "node:fs";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/fixtures/poisoned-repository.mjs :2 import fsp from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/http.mjs :6 import fsp from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/integration.mjs :3 import fs from "node:fs";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/oauth.mjs :12 import fsp from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/pty.mjs :23 import fsp from "node:fs/promises";
  • fs (weak) dcierra-DarwinRelay-52a1812/tests/smoke.mjs :3 import fs from "node:fs/promises";

shell / exec 20

  • shell dcierra-DarwinRelay-52a1812/bridge.mjs :4 import { execFileSync, spawn } from "node:child_process";
  • shell dcierra-DarwinRelay-52a1812/lib/federation.mjs :17 import { spawn, spawnSync } from "node:child_process";
  • shell dcierra-DarwinRelay-52a1812/lib/mac-ui-cursor.mjs :1 import { spawn } from "node:child_process";
  • shell dcierra-DarwinRelay-52a1812/lib/mac-ui-helper.mjs :1 import { spawn } from "node:child_process";
  • shell dcierra-DarwinRelay-52a1812/mcp-http.mjs :18 import { spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/scripts/probe-bridge-status.mjs :3 import { spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/advanced-browser.mjs :1 import { spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/adversarial.mjs :1 import { spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/bridge-status-probe.mjs :2 import { execFile } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/chrome-background.mjs :2 import { spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/desktop-control-native.mjs :1 import { spawn, spawnSync } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/desktop-control.mjs :1 import { spawn } from "node:child_process";
show 8 more
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/federation.mjs :7 import { spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/fixtures/poisoned-repository.mjs :1 import { execFile } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/fixtures/stub-mcp-server.mjs :83 const { spawn } = await import("node:child_process");
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/http.mjs :7 import { execFile, spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/integration.mjs :1 import { spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/oauth.mjs :15 import { spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/pty.mjs :21 import { spawn } from "node:child_process";
  • shell (weak) dcierra-DarwinRelay-52a1812/tests/smoke.mjs :1 import { spawn } from "node:child_process";

network 9

  • net dcierra-DarwinRelay-52a1812/lib/advanced-browser.mjs :2 import net from "node:net";
  • net dcierra-DarwinRelay-52a1812/lib/chrome-extension-client.mjs :2 import net from "node:net";
  • net dcierra-DarwinRelay-52a1812/mcp-http.mjs :13 import http from "node:http";
  • net (weak) dcierra-DarwinRelay-52a1812/scripts/chrome-native-host.mjs :6 import net from "node:net";
  • net (weak) dcierra-DarwinRelay-52a1812/scripts/probe-bridge-status.mjs :63 const response = await fetch(endpoint, {
  • net (weak) dcierra-DarwinRelay-52a1812/tests/advanced-browser.mjs :4 import net from "node:net";
  • net (weak) dcierra-DarwinRelay-52a1812/tests/chrome-background.mjs :5 import net from "node:net";
  • net (weak) dcierra-DarwinRelay-52a1812/tests/http.mjs :95 if ((await fetch(`${BASE}/healthz`)).ok) return;
  • net (weak) dcierra-DarwinRelay-52a1812/tests/oauth.mjs :14 import { Socket } from "node:net";

secrets 3

  • secrets dcierra-DarwinRelay-52a1812/bridge.mjs :123 const TUNNEL_RUNTIME_KEY_WAS_PRESENT = Boolean(process.env.CONTROL_PLANE_API_KEY);
  • secrets dcierra-DarwinRelay-52a1812/mcp-http.mjs :122 TOKEN = process.env.DARWINRELAY_HTTP_TOKEN || "";
  • secrets (weak) dcierra-DarwinRelay-52a1812/tests/desktop-control.mjs :55 case "status": result = { helperVersion: "test", accessibilityTrusted: true, screenRecordingGranted: true, postEventsGranted: true, frontmostApplication: app, displays: [{ displayId: 1, name: "Test Di

obfuscation 1

  • dynamic require()/import() dcierra-DarwinRelay-52a1812/tests/federation.mjs :861 const { createFederation: freshCreate } = await import(`../lib/federation.mjs?ping=${Date.now()}`);