Crimson Falcon - The CrowdStrike Falcon SDK for Ruby
Welcome to Crimson Falcon, the Ruby SDK for the CrowdStrike Falcon Platform. This is where the power of the CrowdStrike Falcon Platform meets the elegance and simplicity of Ruby.
"Why Ruby?" you might ask.
Well, Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. It's unique balance of simplicity, productivity, and just sheer fun, makes coding feel less like a task and more like a hobby. It's like your favorite pair of comfy shoes - familiar, comfortable, and always reliable. :wink:
That's what we aim to achieve with Crimson Falcon - a tool that brings together the robust capabilities of CrowdStrike Falcon with the friendly charm of Ruby.
Ready to bring some fun to your cybersecurity game with Ruby and Crimson Falcon? Let's jump right in!
Installation
From RubyGems (This is the way)
To install from RubyGems, use the following command:
gem install crimson-falcon
Add this to the Gemfile:
gem 'crimson-falcon', '~> 1.3.0'
From Source to Gem: Building the Ruby Code
To build the Ruby code into a gem:
gem build crimson-falcon.gemspec
Then install the gem locally:
gem install ./crimson-falcon-1.3.0.gem
Finally, add this to the Gemfile:
gem 'crimson-falcon', '~> 1.3.0'
Install from Git
If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:
# Example
gem 'crimson-falcon', :git => 'https://github.com/CrowdStrike/crimson-falcon.git'
Getting Started
Samples
We have a collection of sample code that demonstrates how to use the Crimson Falcon SDK. These samples are a great way to get started with the SDK. You can find the samples in the samples directory.
Take Flight
Eager to take flight? Follow the installation process, and then launch into the following code:
# Load the gem
require 'crimson-falcon'
# Setup authorization
Falcon.configure do |config|
config.client_id = ENV["FALCON_CLIENT_ID"]
config.client_secret = ENV["FALCON_CLIENT_SECRET"]
config.cloud = "us-2" # or "us-2", "eu-1", "us-gov1"
end
# Create a new API instance
api_instance = Falcon::SensorDownload.new
begin
# Get CCID to use with sensor installers
result = api_instance.get_sensor_installers_ccidby_query
p result.resources
rescue Falcon::ApiError => e
puts "Error when calling SensorDownload->get_sensor_installers_ccidby_query: #{e}"
end
Welcome aboard the Crimson Falcon! Fly high, code with grace.
Contribute to Crimson Falcon
We are always excited to have contributions from the community! It's what makes open source truly powerful. If you are looking to help out, that's awesome and we thank you in advance.
To get started, please read our Contributing Guide that explains the development process, the project structure, how to propose bugfixes and improvements, and how to build and test your changes to the project. It's a set of directions that will help establish a baseline of expectation for any contributions.
Please make sure you also follow our Code of Conduct. It outlines our expectations for participant behavior as well as the steps for reporting unacceptable behavior.
We appreciate your interest in our project and look forward to collaborating with you!
Crimson Falcon API Docs
For the full list of API operations, models, and usage examples, visit the Crimson Falcon Wiki.
Support
Crimson Falcon is a community-driven, open source project designed to bring together the robust capabilities of CrowdStrike Falcon with the friendly charm of Ruby. While not a formal CrowdStrike product, Crimson Falcon is maintained by CrowdStrike and supported in partnership with the open source developer community.
For additional support, please see the SUPPORT.md file.