Learn-skills.dev php-crypto-audit

PHP Web 源码加密与密钥安全审计工具。识别弱哈希/弱加密/硬编码密钥/签名校验缺陷,输出分级、PoC 与修复建议(禁止省略)。

install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/0xshe/php-code-audit-skill/php-crypto-audit" ~/.claude/skills/neversight-learn-skills-dev-php-crypto-audit && rm -rf "$T"
manifest: data/skills-md/0xshe/php-code-audit-skill/php-crypto-audit/SKILL.md
source content

PHP 加密与密钥安全审计(php-crypto-audit)

分析 PHP 项目源码中密码/令牌/敏感数据的加密与哈希实现,检测:

  • 弱哈希(MD5/SHA1/无 salt)
  • 不安全的对称/非对称加密使用(ECB、固定 IV、错误模式)
  • 签名校验缺陷(JWT 未验证、HMAC 用错、算法选择可控)
  • 硬编码密钥/明文 key 泄露

分级与编号

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

必检 Sink(强制)

必须搜索并分析以下实现点(按项目实际替换):

  • 密码哈希:
    md5/sha1/hash
    (非 password_hash)、
    crypt
    参数误用
  • 安全哈希:
    password_hash
    /
    password_verify
    (检查是否参数正确)
  • 对称加密:
    openssl_encrypt/decrypt
    (检查 mode/iv)
  • 签名:
    hash_hmac
    openssl_sign
    、JWT verify/签名比较实现

必检要求(强制)

  • 必须定位“密钥来源”:硬编码/环境变量/配置文件/请求参数
  • 必须判断“校验是否可靠”:是否存在算法可控或比较时序泄露
  • 必须输出修复建议与迁移方案(例如升级哈希算法、强制使用参数化模式)

PoC(强制框架)

由于加密类漏洞可能依赖环境,PoC 至少要给出:

  • 可执行的“验证框架”(例如构造 JWT payload 并解释应当发生的验证失败/绕过)
  • 或给出可观测的证据(例如日志泄露、错误模式产生可逆结果)

报告输出

{output_path}/vuln_audit/crypto_{timestamp}.md