CVE-2026-44220ciguard 是一款用于 CI/CD 流水线的静态安全审计工具。在 0.8.0 至 0.8.1 版本中,src/ciguard/discovery.py 文件的 discover_pipeline_files() 函数存在安全缺陷。该函数在遍历目录树时会跟随符号链接,尽管具备循环保护机制,但未限制解析路径必须在根目录内。攻击者可在被扫描目录中植入恶意符号链接,诱导程序读取根目录之外的文件路径。
该漏洞的核心问题在于目录遍历逻辑中对符号链接的处理不当。受影响函数 discover_pipeline_files() 旨在递归查找潜在的 CI/CD 配置文件。虽然代码通过跟踪已解析路径 (visited resolved paths) 实现了循环保护,防止无限递归,但它未验证解析后的符号链接目标路径是否位于用户请求的扫描根目录范围内。当低权限攻击者在用户或 AI 代理即将扫描的目录内创建指向敏感目录(如 /etc 或其他包含机密的路径)的符号链接时,ciguard 执行扫描时会跟随该链接。这导致工具突破目录边界,将外部目录中的文件路径纳入扫描结果,从而造成信息泄露。由于利用需要攻击者具备写入目录的权限并诱导用户进行扫描,攻击难度较高。