fix(tar): classify traversal tar listing errors as blocked entries

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-04-03 17:25:48 +09:00
parent 2288988f28
commit a4f436c116
+4
View File
@@ -116,6 +116,10 @@ async function listTarEntries(archivePath: string, cwd?: string): Promise<Archiv
}
if (exitCode !== 0) {
if (/Member name contains '\.\.'/i.test(stderr) || /Removing leading [`']\.\.\//i.test(stderr)) {
throw new Error(`tar archive contains path traversal entries: ${stderr}`)
}
throw new Error(`tar entry listing failed (exit ${exitCode}): ${stderr}`)
}