inference-egress-guard.mjs
sha256:c88bf098b52c796e46edc39ec71f9f0627d305439b73972d3fada73cefde0da9
fix: put release binaries before lipo architecture checks
Human
minor
⚠ breaking
25 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:c88bf098b52c796e46edc39ec71f9f0627d305439b73972d3fada73cefde0da9
fix: put release binaries before lipo architecture checks
Human
minor
⚠
25 days ago