inference-egress-guard.mjs
24 lines 812 B
Raw
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