Comment
The patch removes the build-time steps that compiled a Node 24 sidecar binary and rebuilt native addons, replacing them with creation of an empty placeholder file at the expected binary path. That is a functional regression, but from a security perspective it does not introduce a new privilege boundary, network fetch, or persistence mechanism. The main effect is that the packaged utility will no longer be the intended executable, which may break the package rather than create a direct security issue. I do not see evidence in this diff of malicious code execution or supply-chain compromise.
@@ -19,11 +38,24 @@ index fc34809..00d644f 100644
- // always build for host platform and node version
- // https://github.com/vercel/pkg-fetch/releases
- '--target',
-- `node20-${arch}`,
+- `node24-${arch}`,
- '--output',
- binPath,
- ],
-+ "install",
-+ ['-Dm644', '/dev/null', binPath,]
- ]);
+- ]);
++ // etcher-util runs on the system node with its own node_modules,
++ // so neither the rebuild nor pkg is needed here
++ commands.push(['install', ['-Dm644', '/dev/null', binPath]]);
});
+
+ commands.forEach(([cmd, args, opt]) => {
+@@ -154,9 +125,6 @@
+ },
+ generateAssets: async (_config, platform, arch) => {
+ log('generateAssets', { platform, arch });
+- for (const buildArch of arch.split(',')) {
+- await preparePkgNode(buildArch);
+- }
+ build(SRC_DIR, arch, BIN_DIR, BIN_NAME);
+ },
+ packageAfterCopy: async (