Skip to main content

Infrastructure as code for CrowdStrike NGSIEM

Project description

talonctl

Infrastructure as code for CrowdStrike. Manage detections, workflows, saved searches, and more with a Terraform-like lifecycle.

What This Is

A pip-installable CLI tool for managing CrowdStrike NGSIEM resources as code. It started as the deployment engine behind an AI-assisted SOC project and works just as well standalone. If you use CrowdStrike NG-SIEM and want version-controlled, CI/CD-deployed resources -- this is it.

What you get:

  • Terraform-like deployment -- plan/apply/import/drift/sync for CrowdStrike NGSIEM resources
  • Seven resource types -- detections, saved searches, dashboards, workflows, lookup files, RTR scripts, RTR put files
  • State management -- tracks deployed resources, content hashes, and CrowdStrike API IDs
  • Dependency resolution -- DAG-based ordering so resources deploy in the right sequence
  • Drift detection -- catch manual console changes that diverge from your templates
  • Project scaffolding -- talonctl init creates new projects with the correct directory structure

Getting Started

# Install
python3 -m venv .venv
source .venv/bin/activate
pip install talonctl

# Scaffold a new project
talonctl init myproject
cd myproject

# Configure credentials
talonctl auth setup

# Import your existing detections
talonctl import --plan              # preview what would be imported
talonctl import --resources=detection  # import detection rules

# Plan and deploy
talonctl plan    # preview changes
talonctl apply   # deploy

For a working example project, see talonctl-demo.

Commands

IaC Lifecycle

talonctl validate                    # Check templates (no API calls)
talonctl plan                        # Preview changes
talonctl apply                       # Deploy changes
talonctl import                      # Onboard existing resources
talonctl import --plan               # Preview import
talonctl sync                        # Reconcile state with tenant
talonctl drift                       # Detect manual console changes
talonctl show                        # Display current state
talonctl find QUERY                  # Resolve UUID / resource_id / glob / composite ID
talonctl init                        # Scaffold a new project
talonctl validate-query              # Validate CQL syntax
talonctl publish                     # Activate inactive detection rules
talonctl discover                    # Find new detection templates

Credential Management

talonctl auth setup                  # Interactive credential setup wizard
talonctl auth check                  # Verify stored credentials

Operational

talonctl health                      # Detection health check
talonctl health --format json -o r.json  # Export health report
talonctl metrics update-detections --report r.json  # Update detection metrics CSV
talonctl metrics update-kpis --report r.json        # Update KPI CSV
talonctl backup create               # Create state backup (GitHub Release)
talonctl backup list                 # List available backups
talonctl backup restore <tag>        # Restore from backup

What It Manages

Resource Type Template Dir Description
Detection resources/detections/ Correlation rules (CQL queries with severity, MITRE mapping)
Saved Search resources/saved_searches/ Reusable CQL functions called with $function_name()
Dashboard resources/dashboards/ LogScale dashboards with sections and widgets
Workflow resources/workflows/ Falcon Fusion automation workflows
Lookup File resources/lookup_files/ CSV lookup tables for enrichment
RTR Script resources/rtr_scripts/ Real Time Response scripts
RTR Put File resources/rtr_put_files/ Files pushed to endpoints via RTR

Prerequisites

  • CrowdStrike Falcon tenant with NG-SIEM (LogScale)
  • Python 3.11+
  • CrowdStrike API credentials (Falcon Console > Support & Resources > API Clients and Keys)

Required API Scopes

By Resource Type

Resource Type Read (plan/sync/drift/import) Write (apply)
Detection correlation-rules:read correlation-rules:write
Saved Search ngsiem:read ngsiem:write
Dashboard ngsiem:read ngsiem:write
Lookup File ngsiem:read ngsiem:write
Workflow workflow:read workflow:write
RTR Script real-time-response-admin:write real-time-response-admin:write
RTR Put File real-time-response-admin:write real-time-response-admin:write

Minimum Scopes by Workflow

Workflow Scopes
Just detections (plan/apply) correlation-rules:read, correlation-rules:write
Detections + saved searches Above + ngsiem:read, ngsiem:write
Full IaC (all resource types) All read + write scopes above
Import only (onboarding) Read scopes for target resource types

Ecosystem

talonctl was built alongside a set of AI-assisted security skills and a CrowdStrike MCP server. Together they form a detection engineering and SOC operations toolkit:

  • talonctl-demo -- Working example project with saved searches, lookup files, knowledge base, and CI/CD workflows
  • agent-skills -- Claude Code plugins for SOC triage, detection engineering, threat hunting, and more
  • crowdstrike-mcp -- MCP server for querying alerts, running CQL, host lookup, and case management

Development

git clone https://github.com/willwebster5/talonctl.git
cd talonctl
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
pytest tests/ -v

Format reference templates are in examples/resources/ -- annotated YAML examples for every resource type.

License

MIT -- do whatever you want, no warranty, no liability. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

talonctl-0.4.0.tar.gz (213.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

talonctl-0.4.0-py3-none-any.whl (186.9 kB view details)

Uploaded Python 3

File details

Details for the file talonctl-0.4.0.tar.gz.

File metadata

  • Download URL: talonctl-0.4.0.tar.gz
  • Upload date:
  • Size: 213.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for talonctl-0.4.0.tar.gz
Algorithm Hash digest
SHA256 cf2680f8be2d4bd3f105eb10766f66827a641482c2ce7a8754620f20faeb63b8
MD5 a21944d65422e7a9df4293ef25c2cb3d
BLAKE2b-256 ac4db82b1c1158506382d0e6c082108e5d3f04d4aad570cdbf422d37c4dedef4

See more details on using hashes here.

Provenance

The following attestation bundles were made for talonctl-0.4.0.tar.gz:

Publisher: release.yml on willwebster5/talonctl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file talonctl-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: talonctl-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 186.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for talonctl-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f826598ca0628a0861833f70cd0353d67d6f8b6f21e426c24f5c10acbe772c7
MD5 cdd919c3b09f27d4ac8153148884ddb1
BLAKE2b-256 290012a623be153876ef73855ac1ee9ea770f879a0e53407b6b955e1e0702477

See more details on using hashes here.

Provenance

The following attestation bundles were made for talonctl-0.4.0-py3-none-any.whl:

Publisher: release.yml on willwebster5/talonctl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page