#漏洞 #falcon #安全 #API 绑定 #crowdstrike #API

rusty_falcon

CrowdStrike Falcon API 的 Rust 绑定

10 个版本

0.3.2 2023年9月1日
0.2.8 2023年8月18日
0.2.6 2022年12月5日
0.2.5 2022年8月19日
0.0.1 2021年11月14日

#1281 in 异步

自定义许可证

3.5MB
61K SLoC

CrowdStrike Falcon Twitter URL

rusty_falcon

Build CI Latest version Documentation

基于 Rust 的 CrowdStrike Falcon API 的 SDK

rusty_falcon 文档可在 docs.rs 上找到。用户建议与在 开发者门户 上发布的全面 CrowdStrike API 文档一起查阅此 rusty_falcon 文档。了解 SDK 的最简单方法是查阅基于 SDK 构建的示例

快速入门

为了快速开始,最简单、最高级别的方法是实例化 easy::client::FalconHandle。最便捷的方法是使用 easy::client::FalconHandle::from_env 函数,该函数将读取以下环境变量以使用 falcon 云进行身份验证:FALCON_CLIENT_IDFALCON_CLIENT_SECRETFALCON_CLOUD。除非您已经有了 CrowdStrike 密钥对,否则您可以在 Falcon Portal 上创建一个新的密钥对。

use rusty_falcon::apis::sensor_download_api;
use rusty_falcon::easy::client::FalconHandle;

#[tokio::main]
async fn main() {
    // Fetch credentials from environment variables and establish OAuth2 connection
    let falcon = FalconHandle::from_env()
        .await
        .expect("Could not authenticate with CrowdStrike API");

    // Call one particular API end-point using the authenticated client
    let response = sensor_download_api::get_sensor_installers_ccidby_query(&falcon.cfg)
        .await
        .expect("Could not fetch CCID");

    // Response objects returned from APIs usually follow the same pattern of having
    // 'errors', 'meta', and 'resources' fields. It is recommended to check for possible
    // application errors:
    if !response.errors.is_empty() {
        eprintln!("Errors occurred while getting Falcon CCID: {:?}", response.errors);
    }

    // Print response from the API:
    println!("{:?}", response.resources)
}

示例

现成的示例可在 git 仓库 中找到。

从 OpenApi 规范生成模型

此 API 模型是通过使用 Rust 语言的 OpenApi 生成器从 OpenApi 规范生成的。

注意:在 OpenApi 规范中,如果需要,请将版本更新为 `rolling`,并更新以下列表中的版本。这将防止出现更新过长的 PR。

生成 apimodel 的示例命令

openapi-generator generate -g rust -i swagger.json -o ./new

OpenApi 规范版本

2023-08-23T23:00:01Z

获取帮助

rusty_falcon 是一个开源项目,不是CrowdStrike的产品。因此,它没有正式的支持,无论是明示的还是暗示的。

如果您在使用 rusty_falcon 时遇到任何问题,您可以在我们的Github仓库上创建一个问题,用于报告错误、增强或其他请求。

rusty_falcon 项目会定期更新,以反映CrowdStrike API的最新添加。SDK用户建议密切关注最新版本,以确保在CrowdStrike API发生不兼容变更的情况下,功能仍然正常。

依赖项

~5–20MB
~282K SLoC