zig-utils/zig-injection

GitHub: zig-utils/zig-injection

用原生 Zig 实现的零内存分配 SQL 注入和 XSS 检测库,在行为上兼容 libinjection 4 并提供 C 接口供现有系统集成。

Stars: 1 | Forks: 0

# zig-injection `zig-injection` 是一个原生 Zig 编写的 SQL 注入和 XSS 检测器,目标是 在行为上与 libinjection 4 保持兼容。它专为有界、 无内存分配的请求检查而设计,并提供了既符合 Zig 惯用法又 稳定的 C 接口。 该项目正在积极开发中。兼容性是基于固定的上游语料库来衡量的; 而不是通过 API 的相似性来推断的。 ## 环境要求 - Zig 0.17-dev,通过 [Pantry](https://github.com/oven-sh/pantry) 解析 - 无需 Git 子模块 ``` pantry install zig build test ``` ## 原生 API 可重用的状态使得检查过程无需进行内存分配: ``` const injection = @import("injection"); var state: injection.sqli.State = .{}; const result = injection.sqli.detect("1 UNION SELECT secret", &state); if (result.is_sqli) { // result.reason and result.fingerprintBytes() are valid immediately. } ``` 输入数据的所有权仍归调用者所有。Token 偏移量指的是输入中的字节位置, 固定容量耗尽的情况会通过 `Result.truncated` 来报告。该 API 目前已可使用,但与 libinjection 4 的完全兼容性取决于固定的 差分语料库以及 INJECT-04 的折叠/指纹识别工作。 ## 路线图 具体的实现与兼容性工作由 [INJECT 路线图](https://github.com/zig-utils/zig-injection/issues/1) 负责跟踪。 ## 许可证 MIT。上游测试固件保留了其原始的声明和许可证。
标签:CISA项目, DOE合作, libinjection, SQL注入检测, URL发现, WAF引擎, XSS检测, Zig, 云安全监控, 安全检测, 静态分析