📦 deps(thirdparty): update snapshots
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
"use strict";
|
||||
|
||||
const fs = require("node:fs");
|
||||
const path = require("node:path");
|
||||
|
||||
const tracePath = process.env.AAS_NETWORK_TRACE;
|
||||
if (!tracePath) throw new Error("AAS network observer requires an isolated trace path");
|
||||
|
||||
function deny(api) {
|
||||
return function deniedNetworkAttempt() {
|
||||
fs.mkdirSync(path.dirname(tracePath), { recursive: true, mode: 0o700 });
|
||||
fs.appendFileSync(tracePath, `${JSON.stringify({ schemaVersion: 1, api })}\n`, { encoding: "utf8", mode: 0o600 });
|
||||
const error = new Error(`Network attempt denied by legacy baseline observer: ${api}`);
|
||||
error.code = "AAS_LEGACY_NETWORK_DENIED";
|
||||
throw error;
|
||||
};
|
||||
}
|
||||
|
||||
function replaceFunctions(target, names, prefix) {
|
||||
for (const name of names) {
|
||||
if (typeof target?.[name] === "function") target[name] = deny(`${prefix}.${name}`);
|
||||
}
|
||||
}
|
||||
|
||||
const net = require("node:net");
|
||||
replaceFunctions(net, ["connect", "createConnection"], "net");
|
||||
if (net.Socket?.prototype) net.Socket.prototype.connect = deny("net.Socket.connect");
|
||||
replaceFunctions(require("node:tls"), ["connect"], "tls");
|
||||
replaceFunctions(require("node:http"), ["request", "get"], "http");
|
||||
replaceFunctions(require("node:https"), ["request", "get"], "https");
|
||||
replaceFunctions(require("node:dgram"), ["createSocket"], "dgram");
|
||||
const dns = require("node:dns");
|
||||
replaceFunctions(dns, ["lookup", "lookupService", "resolve", "resolve4", "resolve6", "resolveAny", "resolveCaa", "resolveCname", "resolveMx", "resolveNaptr", "resolveNs", "resolvePtr", "resolveSoa", "resolveSrv", "resolveTxt", "reverse"], "dns");
|
||||
replaceFunctions(dns.promises, ["lookup", "lookupService", "resolve", "resolve4", "resolve6", "resolveAny", "resolveCaa", "resolveCname", "resolveMx", "resolveNaptr", "resolveNs", "resolvePtr", "resolveSoa", "resolveSrv", "resolveTxt", "reverse"], "dns.promises");
|
||||
if (typeof globalThis.fetch === "function") globalThis.fetch = deny("global.fetch");
|
||||
if (typeof globalThis.WebSocket === "function") globalThis.WebSocket = class DeniedWebSocket { constructor() { return deny("global.WebSocket")(); } };
|
||||
Reference in New Issue
Block a user