php-archive-extract-audit

Installation
SKILL.md

PHP 归档解压路径穿越审计(php-archive-extract-audit)

分析 PHP 项目中“解压/提取归档文件到磁盘目录”的实现逻辑。重点审计 Zip Slip 类问题:攻击者可通过精心构造归档条目名(entry name/path)使最终写入落点逃逸目标目录。

分级与编号

  • 详见:shared/SEVERITY_RATING.md
  • 漏洞编号:{C/H/M/L}-ARCHIVE-{序号}

ARCHIVE Sink(必做)

识别并追踪归档提取调用点,至少包括:

  • ZipArchive->extractTo($destination, {value})
  • ZipArchive->extract($destination, {value})(若项目使用封装)
  • PharData->extractTo($destination, {value})
  • Archive_Tar->extractTo($destination, {value})(若项目使用 PEAR/等价封装)
  • Archive_Tar->extract($destination, {value})(若项目使用封装)
  • 自定义解压封装:最终仍对每个 entry name 做“拼接到 destination 目录并落盘”

必检证据点(强制:trace 契约对齐)

每条 ARCHIVE 疑似漏洞必须逐项引用 php-route-tracer trace 输出中 ## 9) Sink Evidence Type ChecklistARCHIVE 行对应证据要点(允许状态为待验证,但证据引用必须存在):

Related skills

More from 0xshe/php-code-audit-skill

Installs
23
GitHub Stars
310
First Seen
Mar 25, 2026