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 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.3.0.tar.gz (197.5 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.3.0-py3-none-any.whl (179.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for talonctl-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9a84a577133f2ce36056bb146b69cc65e3a33e2c6e204ebc47861cdedda0b3a8
MD5 61e733c82d73759b406cb9ae0462c772
BLAKE2b-256 8534a94c4cf484bbea660d857e8b76162775daf1736ad209e6228447521a2dae

See more details on using hashes here.

Provenance

The following attestation bundles were made for talonctl-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: talonctl-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 179.6 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e731cc2dafe2c63878813bf2a32f474f23364d39db865e40f7cf6d4b91241bd
MD5 3c9e3e32de8fadbb0e45adee44dd59aa
BLAKE2b-256 fa94b3403d56dfb18a7c930624e0152304fac5e49c56fe8f4aba758c67a79f24

See more details on using hashes here.

Provenance

The following attestation bundles were made for talonctl-0.3.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