inference-egress-guard.mjs
sha256:1ccd31d41a3e3c90917cc0b460edeafcc615c6e74fa2ed104b2f6673ab0ec0b8
Merge feat/companion-phase-7-distribution: production macOS…
Human
27 days ago
| 1 | import dgram from 'node:dgram'; |
| 2 | import dns from 'node:dns'; |
| 3 | import dnsPromises from 'node:dns/promises'; |
| 4 | import net from 'node:net'; |
| 5 | import tls from 'node:tls'; |
| 6 | import { syncBuiltinESMExports } from 'node:module'; |
| 7 | |
| 8 | const deny = () => { |
| 9 | throw new Error('PRIVATE_INFERENCE_EGRESS_DENIED'); |
| 10 | }; |
| 11 | |
| 12 | net.Socket.prototype.connect = deny; |
| 13 | net.connect = deny; |
| 14 | net.createConnection = deny; |
| 15 | tls.connect = deny; |
| 16 | dgram.createSocket = deny; |
| 17 | for (const api of [dns, dnsPromises, dns.Resolver.prototype, dnsPromises.Resolver.prototype]) { |
| 18 | for (const name of Object.getOwnPropertyNames(api)) { |
| 19 | if (/^(lookup|resolve|reverse)/.test(name) && typeof api[name] === 'function') api[name] = deny; |
| 20 | } |
| 21 | } |
| 22 | globalThis.fetch = deny; |
| 23 | globalThis.WebSocket = class DeniedWebSocket { constructor() { deny(); } }; |
| 24 | syncBuiltinESMExports(); |
File History
1 commit
sha256:1ccd31d41a3e3c90917cc0b460edeafcc615c6e74fa2ed104b2f6673ab0ec0b8
Merge feat/companion-phase-7-distribution: production macOS…
Human
27 days ago