Zion44719/Zionhilt_Threat_Scanner

GitHub: Zion44719/Zionhilt_Threat_Scanner

一款结合哈希签名、YARA 风格规则引擎和启发式检测的轻量级文件与 URL 安全扫描器,支持 CLI 和 JSON 输出,便于集成到自动化流程中。

Stars: 0 | Forks: 0

# Zionhilt Threat Scanner 一个结合了文件与 URL 的安全扫描器:基于哈希的签名匹配、小型的 YARA 风格规则引擎、内容/文件名启发式检测,以及 URL 黑名单 + 钓鱼模式启发式检查器。 本包包含**引擎** (`internal/engine`)、**报告格式化** (`internal/report`) 以及 **CLI** (`cmd/zionhilt-cli`)。GUI 层(Wails 桌面应用)是下一步的独立计划——引擎已经为此暴露了 `NewEngineFromBytes`,因此 GUI 可以通过 `go:embed` 直接将其数据文件嵌入到二进制文件中,而无需从磁盘读取。 ## 环境要求 - Go 1.22 或更高版本 ## 构建 ``` go build -o zionhilt-cli ./cmd/zionhilt-cli ``` ## 运行 ``` # 扫描单个文件(默认使用 ./data/{signatures.db,rules.yar,blacklist.csv}) ./zionhilt-cli file -path /path/to/file # 递归扫描目录 ./zionhilt-cli folder -path /path/to/folder # 检查 URL ./zionhilt-cli url -u "http://example.com/path" # JSON 输出(用于 scripting/CI) ./zionhilt-cli file -path /path/to/file -json # 指向不同的数据目录 ./zionhilt-cli file -path /path/to/file -data-dir /custom/data/path ``` ### 退出代码 | 代码 | 含义 | |------|----------------------| | 0 | 安全 (Clean) | | 1 | 用法/运行时错误 | | 2 | 恶意 (Malicious) | | 3 | 可疑 (Suspicious) | ## 数据文件 (`data/`) - **`signatures.db`** — `hash,threat-name`(哈希、威胁名称)键值对(SHA-256 或 MD5,每行一条)。内置了标准的 EICAR 防病毒测试文件签名,用于安全的端到端测试。 - **`rules.yar`** — YARA 风格规则。支持带引号的文本字符串(`nocase`、`*` 通配符)和十六进制字节模式(`{ 4D 5A ?? ?? }`),条件语句支持 `and`/`or`/`not`、括号、`N of (...)` 以及 `any`/`all of them`。 - **`blacklist.csv`** — `host,reason`(主机、原因)键值对。已列出主机的子域名也会匹配(例如,列出 `evil.tk` 也会拦截 `login.evil.tk`)。 直接编辑这些文件即可自定义检测规则——CLI 无需重新编译。 ## 安全测试 该仓库包含**真实的 EICAR 测试字符串**(这是行业标准,所有防病毒厂商都使用这一无害文件来验证检测流程)。 要自行生成它: ``` echo -n 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > eicar.com ./zionhilt-cli file -path eicar.com ``` 这应该会报告 `MALICIOUS`,同时命中哈希签名和 `EICAR_Test_String` 规则,并退出且返回代码 `2`。 ## 运行测试套件 ``` go test ./... ``` ## 项目结构 ``` cmd/zionhilt-cli/ CLI entry point internal/engine/ Detection engine (hashing, rules, heuristics, URL checks) internal/report/ Text/JSON report rendering + shared ASCII banner data/ Signature DB, rule set, URL blacklist (CLI loads these from disk) ```
标签:EVTX分析, Go, Ruby工具, URL扫描, YARA, 云资产可视化, 威胁扫描, 文档结构分析, 日志审计, 防病毒