https://github.com/crowdstrike/rusty-falcon

Rust bindings for CrowdStrike Falcon API

https://github.com/crowdstrike/rusty-falcon

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords from Contributors

scripting projection archival interactive generic sequences profiles crowdstrike falcon operator
Last synced: 10 months ago · JSON representation

Repository

Rust bindings for CrowdStrike Falcon API

Basic Info
  • Host: GitHub
  • Owner: CrowdStrike
  • License: mit
  • Language: Rust
  • Default Branch: main
  • Homepage:
  • Size: 4.54 MB
Statistics
  • Stars: 16
  • Watchers: 7
  • Forks: 12
  • Open Issues: 6
  • Releases: 2
Created almost 5 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codeowners Security

README.md

CrowdStrike Falcon Twitter URL

rusty_falcon

Build CI Latest version Documentation

Rust-based SDK to CrowdStrike's Falcon APIs

rustyfalcon documentation is available on docs.rs. Users are advised to consult this rustyfalcon documentation together with the comprehensive CrowdStrike API documentation published on Developer Center. The easiest way to learn about the SDK is to consult the set of examples built on top of the SDK.

Quick Start

To get you started quickly, the easiest and highest-level way to establish API client is to instantiate easy::client::FalconHandle. The most convenient way is to use easy::client::FalconHandle::from_env function that will read the following environment variables to authenticate with falcon cloud: FALCON_CLIENT_ID, FALCON_CLIENT_SECRET, and FALCON_CLOUD. Unless you already have a CrowdStrike key pair you can establish a new one in Falcon Portal.

```rust use rustyfalcon::apis::sensordownloadapi; use rustyfalcon::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)

} ```

Examples

Ready-made examples can be found in git repo.

There's a handy script that can be used to (sequentially) run and test the examples. This script will show the status (pass / fail) of each example.

```sh

Run all examples

./scripts/run-examples.sh

Run a single example

./scripts/run-examples.sh falconcustomioas ```

[WIP] Project Documentation

This project uses mdbook to serve its documentation, to run it locally:

bash cd docs mdbook build mdbook serve

Generating models from OpenApi Specification

This api model is generated from OpenApi specification using OpenApi Generator for Rust language.

Note: In the OpenApi specification please update version to rolling`, if required and update version on the list below. This will prevent crazy long PRs with updates.

An example command to generate api and model:

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

OpenApi Specification Version

2025-07-08T00:00:04Z

Getting Help

rusty_falcon is an open source project, not a CrowdStrike product. As such it carries no formal support, expressed or implied.

If you encounter any issues while using rusty_falcon, you can create an issue on our Github repo for bugs, enhancements, or other requests.

rusty_falcon project is periodically refreshed to reflect the newest additions to the CrowdStrike API. Users of the SDK are advised to track the latest releases rather closely to ensure proper function in the unlikely event of an incompatible change to a CrowdStrike API.

Owner

  • Name: CrowdStrike
  • Login: CrowdStrike
  • Kind: organization
  • Email: github@crowdstrike.com
  • Location: United States of America

GitHub Events

Total
  • Issues event: 4
  • Watch event: 2
  • Delete event: 1
  • Issue comment event: 6
  • Push event: 11
  • Pull request review event: 13
  • Pull request event: 21
  • Fork event: 2
  • Create event: 2
Last Year
  • Issues event: 4
  • Watch event: 2
  • Delete event: 1
  • Issue comment event: 6
  • Push event: 11
  • Pull request review event: 13
  • Pull request event: 21
  • Fork event: 2
  • Create event: 2

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 210
  • Total Committers: 9
  • Avg Commits per committer: 23.333
  • Development Distribution Score (DDS): 0.429
Past Year
  • Commits: 43
  • Committers: 6
  • Avg Commits per committer: 7.167
  • Development Distribution Score (DDS): 0.674
Top Committers
Name Email Commits
Simon Lukasik s****k@c****m 120
Lukasz Woznicki l****i@c****m 38
Michael Madden m****2@i****m 17
davidc6 d****a@g****m 14
dependabot[bot] 4****] 11
Joshua Hiller j****r@c****m 6
Shawn Wells s****n@s****o 2
Tomasz Jonak 1****k 1
Matt Raible m****e@c****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 6
  • Total pull requests: 154
  • Average time to close issues: 14 days
  • Average time to close pull requests: 6 days
  • Total issue authors: 5
  • Total pull request authors: 9
  • Average comments per issue: 1.67
  • Average comments per pull request: 0.17
  • Merged pull requests: 141
  • Bot issues: 0
  • Bot pull requests: 16
Past Year
  • Issues: 2
  • Pull requests: 18
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 days
  • Issue authors: 2
  • Pull request authors: 5
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.22
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 7
Top Authors
Issue Authors
  • mikemadden42 (3)
  • davidc6 (3)
  • mccormickt (2)
  • westdt (1)
  • EnricoMucelli (1)
  • dependabot[bot] (1)
Pull Request Authors
  • isimluk (88)
  • makr11st (29)
  • dependabot[bot] (26)
  • davidc6 (20)
  • mikemadden42 (17)
  • tomaszjonak (4)
  • shawndwells (2)
  • mccormickt (1)
  • mraible (1)
  • jshcodes (1)
Top Labels
Issue Labels
dependencies (1) rust (1)
Pull Request Labels
dependencies (26) github_actions (12) rust (5)

Packages

  • Total packages: 1
  • Total downloads:
    • cargo 14,708 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 13
  • Total maintainers: 3
crates.io: rusty_falcon

Rust bindings for CrowdStrike Falcon API

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 14,708 Total
Rankings
Forks count: 20.3%
Dependent repos count: 29.3%
Stargazers count: 32.1%
Dependent packages count: 33.8%
Average: 34.1%
Downloads: 55.1%
Maintainers (3)
Last synced: 10 months ago

Dependencies

Cargo.toml cargo
  • reqwest ^0.11
  • serde >=1.0.130, <1.1.0
  • serde_derive >=1.0.130, <1.1.0
  • serde_json >=1.0.68, <1.1.0
  • url ^2.2
.github/workflows/ci.yaml actions
  • actions/checkout v3 composite
  • dtolnay/rust-toolchain master composite
  • dtolnay/rust-toolchain nightly composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • gaurav-nelson/github-action-markdown-link-check v1 composite