Dashboard › craft › Distillation
Distillation
ID: 434a1bd3-9ea3-473e-8b1b-c8ad6beb377b
Generation: 0
Tokens: 370
R_compression: 11.375
C_norm: 0.120
Archived: Yes
Created: 2026-08-07 15:26:32
Source IDs:
["2364dec72aabe820683f5fdd55d69bc9","bff7f4b10b89209e451e3f57ec4bac5c","b1e2ce1e99024bfb28a6585a8b98a3c4"]
Observations
Date: Aug 7, 2026
- 🟡 (15:25) Agent located the file where @vercel/client uses tar-fs: node_modules/@vercel/client/dist/utils/archive.js (working tree under /tmp/opencode/pr865)
- 🟡 (15:26) archive.js (61 lines) exports createTgzFiles(workPath, fileList, debug, exclude). Behavior: calls tar-fs.pack(workPath, { entries: fileList mapped to paths relative to workPath }), pipes through node:zlib createGzip(), collects output into chunks via @vercel/build-utils streamToBufferChunks(), hashes each chunk with hash() from ./hashes, and returns Map of chunkHash → { names: [path.join(workPath, ".vercel/source.tgz.part{index+1}")], data: chunk, mode: 438 }
- 🟡 (15:26) Agent confirmed tar-fs API compatibility: pack(path, opts) signature is stable across tar-fs 1.x and 2.x, so tar-fs@2.1.5 is API-compatible with @vercel/client's usage of pack.
- 🟡 (15:26) createTgzFiles is only invoked when prebuilt: false (source builds); for the default prebuilt deployment path, tar-fs is never called.
- 🟡 (15:26) The tar-fs vulnerability lives in extract (used by unpack); the @vercel/client flow only uses pack, so even tar-fs@1.16.3's vulnerability is not reachable in this craft target.
- 🟡 (15:26) Agent's next step: check whether a patched 1.x tar-fs release exists — preferred over jumping to the 2.x major version.