1 个不稳定版本
0.1.4 | 2024年5月9日 |
---|---|
0.1.3 |
|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#1264 在 网络编程 中
120KB
3K SLoC
该 Crates 便于在 Rust 中开发 Osquery 扩展。Osquery 通过基于 Apache Thrift 的接口与其扩展进行通信。所以简单来说,osquery-rust
是该接口的包装,并将其转换为强大的 API。
该 Crates 仍处于早期阶段。然而,它已经在 2024 年初开始工作并获得了一些关注。如果您发现它不符合预期,缺少某些内容或对改进 API 有任何想法,请不要犹豫在 GitHub 上创建一个问题。
为了激发您的灵感,请查看 示例。
路线图
📝 扩展可能提供多个插件。不清楚如何使用 osquery-rust
来实现。
📝 目前,osquery-rust
仅限于表插件。Osquery 还知道其他插件,例如配置和记录器。
📝 重新思考 API 并与 Rust API 指南保持一致。
📝 改进文档并提供教程。
✅ 发布第一个示例。
✅ 在 thrift 0.17 中基于合并的 PR 在 crates.io 上发布 osquery-rust
的可工作版本。
✅ MVP,通过套接字与 Osquery 通信,并提供了包含 /proc/meminfo 数据的表。
✅ 向 Thrift 提交 PR 以贡献对 Unix 域套接字的支持。这是此项目的初步。
此 Crates 的命名
我们不遵循 Rust 的 Crates 命名约定,因为包和 Crates 名称中使用 '-' 和 '_' 的用法并不完全清楚。所以我们遵循 Osquery 的命名约定。Go 绑定被称为 osquery-go
。因此,我们将其命名为 osquery-rust
。
工具
感谢所有构建或为此工具做出贡献的人,因为它们使我们能够构建此工具。
- Osquery
- Thrift
- Rust 和 Cargo
- Clap(Rust 库,用于定义和解析 CLI)
- Manjaro Linux
- git
- IntelliJ IDEA 和 RustRover
链接
依赖
~1.8–2.4MB
~46K SLoC