PicasoTheDeal/AUR-scanner

GitHub: PicasoTheDeal/AUR-scanner

一款零依赖的 Arch Linux AUR 包离线安全扫描工具,通过静态分析检测 PKGBUILD 脚本中的恶意代码模式。

Stars: 10 | Forks: 1

# AUR-scanner 一款轻量级的离线静态分析工具,用于扫描本地 ALPM 元数据和 AUR helper 构建缓存,以检测受感染的软件包和可疑的代码模式。 ## 功能特性 - **软件包验证**:通过离线威胁清单对本地外部软件包进行交叉比对。 - **深度缓存扫描**:全面扫描 `yay`、`paru`、`aurutils` 和 `/var/cache/aur` 目录。 - **静态内容分析**:采用优化的正则表达式匹配,捕获 `PKGBUILD` 和 `install` 脚本中常见的混淆技术和带外执行钩子。 - **零网络足迹**:完全在本地运行,不包含任何遥测或动态网络查询。 ## 追踪的启发式特征 - 远程执行管道(通过管道将 `curl`、`wget` 传递给 `sh`、`bash`、`node`、`python`) - Base64 编码管道(`base64 -d`、`openssl enc -base64`、`echo | base64`) - 直接的交互式反向 shell 和网络套接字(`/dev/tcp/`、`/dev/udp/`) - 可疑的 helper 或原生网络工具(`netcat`、`nc`、`socat`) - 十六进制编码的字符串布局混淆(`\xHEX`) - 未授权的构建时软件包执行(`npm install`) ## 免责声明与局限性 `aur-scanner` 是一款静态签名和启发式审计工具,**而非**内核级的 EDR 或完整的防病毒解决方案。 - **绕过检测**:静态正则表达式追踪可能会被高级的 runtime 混淆、编译二进制文件(`.so` 或可执行文件)内部的动态 payload 获取,或自定义加密(例如,非标准的 OpenSSL 标志)所绕过。它旨在捕获易于识别的显著目标和粗糙的、未经混淆的脚本注入。 - **误报**:由于它会标记结构性异常,因此使用复杂 shell 循环或原始十六进制数组的良性构建脚本也可能触发警报。应对检查结果进行人工审计。 ## 要求 - Python 3.x - Arch Linux 环境(`pacman` 二进制文件) ## 安装与使用 1. 克隆仓库: git clone https://github.com/PicasoTheDealer/AUR-scanner.git cd aur-scanner 2. 将您已知的受感染软件包名称列表放置在名为 `packages.txt` 的文件中(每行一个软件包名称),并与脚本位于同一目录下。 3. 执行扫描: python3 aur-audit.py ## 输出目标与判定结果 [+] Found nothing (Green, Exit Code 0):未匹配到任何签名。环境符合当前的基线配置阈值。 [!] [Path]: Trigger [Pattern] (Red, Exit Code 1):检测到代码层面的异常。 **注意**:如果在已安装的软件包元数据或本地缓存中确认了启发式触发器,请假定主机环境已遭到入侵。如果在构建/安装阶段发生了带外执行,标准的 pacman -R 卸载操作可能是不够的。建议立即进行取证分类或重新安装系统。 ## 鸣谢与感谢 - Gemini (Google AI) - EndeavourOS、CachyOS 和 Arch Linux 社区的成员,感谢他们提供的技术反馈
标签:Arch Linux, DNS 反向解析, Python, 云安全监控, 威胁情报, 开发者工具, 无后门, 网络信息收集, 逆向工具, 静态分析