{"version":"2.1.219","anchor":"bun-ffi-dropped-for-native-bun-and-process-apis-in-three-low","canonical_anchor":"bun-ffi-dropped-for-native-bun-and-process-apis-in-three-low","heading":"bun:ffi dropped for native Bun and process APIs in three low-level paths","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219\/e\/bun-ffi-dropped-for-native-bun-and-process-apis-in-three-low","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219","markdown":"### bun:ffi dropped for native Bun and process APIs in three low-level paths\n\nLow-level process and hardening paths now use built-in APIs instead of loading system libraries.\n\n**What**\n\nThree places that used dlopen through bun:ffi now call native APIs directly, and a fourth FFI helper was deleted.\n\n**Details**\n\n- Process replacement no longer dlopens libSystem\/libc for `execve`; it calls `process.execve` with a sanitized env object where `__proto__` is defined rather than assigned.\n- The macOS TCC responsibility-disclaim spawn dropped its posix_spawn FFI dance for `process.execve(e, r, n, { macDisclaimResponsibility: !0 })`.\n- PR_SET_DUMPABLE hardening now calls `Bun.ant.setDumpable(!1)`.\n- The SO_PEERCRED\/getpeereid FFI peer-credential helpers were removed outright.\n- These are macOS and Linux paths; the execve helper still returns early on Windows.\n\n**Evidence**\n\n`prctl(PR_SET_DUMPABLE,0) returned nonzero`\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 0\/5"}