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.5.8.tar.gz (270.4 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.5.8-py3-none-any.whl (217.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for talonctl-0.5.8.tar.gz
Algorithm Hash digest
SHA256 1c6dfd551a3609c21da663eae9e3cf33d0b0616d741a8e9e7876d7fbd5fc147f
MD5 2caffee6bd88e9bab97e38bc978de22c
BLAKE2b-256 3eb0d113cb9bcc257cbc83824ca03c1c8b4d4a14c6c2d602d3900ad62d73bd74

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: talonctl-0.5.8-py3-none-any.whl
  • Upload date:
  • Size: 217.5 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.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 9d411327610c812db69dbb82691b6dc2b826c189cf0b20ea8dbc57a2f6139cc9
MD5 54445a381ec73c408201183bf32936bc
BLAKE2b-256 0a1358d91bb5f0879ef51bf4d4c53edca4e2586f88101e90e2f758c924c29505

See more details on using hashes here.

Provenance

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