1 个不稳定版本

0.1.4 2024年5月9日
0.1.3 2024年5月9日
0.1.2 2024年5月4日
0.1.1 2022年3月2日
0.1.0 2022年3月2日

#1264网络编程

MIT/Apache

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

链接

Osquery GitHub 仓库

Osquery Go 绑定

Clap

依赖

~1.8–2.4MB
~46K SLoC