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 地址批量处理, 云安全监控, 安全扫描器, 静态分析