nurazhardotcom/aur-audit

GitHub: nurazhardotcom/aur-audit

一款基于 Babashka 的 AUR PKGBUILD 静态安全审计工具,用于在安装前检测恶意包中的后门、持久化机制和混淆行为。

Stars: 0 | Forks: 0

# aur-audit 一个轻量级的 Clojure (Babashka) 静态分析工具,用于检查 Arch User Repository (AUR) 的 `PKGBUILD` 和 `.install` 脚本,以发现潜在的危害指标 和后门。 针对 2026 年 6 月发生的活跃 AUR 恶意软件包事件而开发。 ## 检测能力 审计器会根据以下规则评估软件包的安装和编译文件: - **外部连接 (NET-01)**:在安装 hook 中进行动态下载(`curl`、`wget`、`fetch`)或创建 socket。 - **混淆 (OBF-01)**:Base64 解码(`base64 -d`)、加密工具或动态脚本执行。 - **直接管道执行 (EXEC-01)**:将远程数据直接通过管道传递给 shell 解释器(`sh <(curl ...)`)。 - **服务持久化 (PERS-01)**:在软件包配置之外创建 systemd unit 文件或 cron 条目。 - **环境劫持 (ENV-01)**:探测或写入 shell 配置文件(`.bashrc`、`.zshrc`、`/etc/profile`)。 - **任意主机修改 (WRITE-01)**:在软件包构建命名空间之外追加或修改关键系统目录。 ## 安装与要求 需要 [Babashka](https://babashka.org/)(一个原生 Clojure 脚本引擎)。 ### 通过 AUR 安装: ``` paru -S babashka-bin ``` ### 安装该工具: ``` # Clone repository git clone https://github.com/nurazhardotcom/aur-audit.git cd aur-audit chmod +x aur-audit.clj ``` ## 用法 ### 1. 审计本地目录 审计一个 AUR 软件包目录(例如来自你的 AUR helper 缓存): ``` ./aur-audit.clj ~/.cache/paru/clone/google-chrome ``` 审计单个文件: ``` ./aur-audit.clj /path/to/PKGBUILD ``` ### 2. 威胁源监控 审计来自官方 AUR RSS feed 中最近更新的软件包: ``` ./aur-monitor.clj ``` 这会将最近的软件包克隆到 `/tmp/` 目录中,运行审计规则,报告发现的问题,并清理沙箱工作区。 ## 与 AUR Helper(`paru`)集成 你可以设置 `paru`,以便在执行构建之前轻松地通过审计器传递软件包。 在你的 shell 配置文件(`~/.zshrc` 或 `~/.bashrc`)中添加一个别名: ``` # 在 paru 安装前进行 Audit alias paru-audit='paru -G && for dir in ~/.cache/paru/clone/*/; do /path/to/aur-audit.clj "$dir" || break; done' ```
标签:Arch Linux, Babashka, Clojure, Cutter, DNS 反向解析, GraphQL安全矩阵, IP 地址批量处理, 云安全监控, 安全扫描器, 静态分析