Skip to main content

falcon-axi

Read CrowdStrike Falcon from the shell with compact, structured results for agents and the humans running them.

PyPI Python License: MIT Release provenance: PyPI Trusted Publishing

Ask for a severity count without retrieving every detection. Actual output replayed against the repository's synthetic offline fixture:

$ falcon-axi detection summary --severity critical
detections: 0 detections matching critical severity

Quickstart • Use with your agent • Features • Safety • Configuration • Commands

Why this exists

Investigating Falcon often means stitching together API requests, pagination, and product-specific response shapes. falcon-axi exposes those reads as shell commands with small default schemas, structured errors, and next-step suggestions. It runs as a Python CLI without an MCP server process and uses CrowdStrike's FalconPy SDK.

Features

  • Investigation: detections, severity counts, hosts, login and network history, vulnerabilities, and threat intelligence.
  • Inventory: Discover assets and accounts, identities, IoT, cloud assets, containers, images, and serverless findings.
  • Configuration reads: policies, exclusions, firewall and IOA rules, cases, Data Protection, SaaS posture, and Recon.
  • Search: bounded NG-SIEM jobs and fixed account-activity queries, with explicit status and cancellation.
  • Structured output: TOON data and errors on stdout, with optional fields and continuation cursors.
  • Agent integration: local session context for Claude Code, Codex, and OpenCode, plus an installable skill.

Quickstart

Requires Python 3.11 or newer. Install from PyPI with either command:

pip install falcon-axi
# Or install in an isolated tool environment:
uv tool install falcon-axi

For invocation without a permanent install:

uvx falcon-axi setup

Create a Falcon API client with the permissions needed for your reads. Have your secret manager or protected shell environment supply FALCON_AXI_CLIENT_ID and FALCON_AXI_CLIENT_SECRET. Do not put credentials in shell command arguments, shell history, or agent chat.

falcon-axi setup
falcon-axi auth status
falcon-axi detection summary --severity critical

The example above shows the actual empty-result output; your tenant determines the counts. Run falcon-axi for recent detections, or falcon-axi detection list --severity high --since 24h for a filtered page. For persistent profile configuration, see Configuration.

Use with your agent

Install the CLI in a durable location, then opt in to session context:

falcon-axi setup hooks

This installs or repairs integrations for Claude Code, Codex, and OpenCode. At session start they provide local profile status, region, version, and a command hint without contacting Falcon. Ordinary read commands never install hooks. Temporary installations and git worktrees are refused as hook targets.

The generated skill provides on-demand guidance instead of session context:

npx skills add knowttl/falcon-axi --skill falcon-axi

Add -g for a user-wide skill. Choose either integration or use both; setup does not install the skill.

Remove session integrations

Remove only hook entries whose command contains falcon-axi-session from ~/.claude/settings.json and ~/.codex/hooks.json. Delete the managed ~/.config/opencode/plugins/axi-falcon-axi.js file. Setup also enables [features].hooks in ~/.codex/config.toml; leave it enabled if other integrations use hooks. Preserve unrelated settings and hooks.

Safety

falcon-axi reads Falcon data without changing hosts, detections, policies, or identities. It cannot contain endpoints, run response sessions, release quarantined files, update configuration, or send GraphQL mutations. There is no arbitrary API passthrough.

Starting and stopping an NG-SIEM search job are its only tenant-side effects. They require NGSIEM:write; identity activity starts the same kind of job. Set FALCON_AXI_READ_ONLY=1 to block search start, search stop, and identity activity locally. Identity directory, timeline, and assessment reads require a scope Falcon labels write, but send only fixed read-only query documents. They accept no caller-supplied GraphQL.

Credentials and standalone tenant CID fields are redacted from stdout and stderr. Composite detection IDs contain a tenant CID and remain intact so they can be passed to detail commands. Treat output containing detection IDs or security findings as sensitive.

Credentials stay in your environment or referenced local files. API requests send credentials to Falcon's OAuth endpoint and query inputs to the selected Falcon API cloud, through your configured proxy if present. Tokens are held in memory; no persistent token cache is written. The explicit setup installer writes local agent configuration. See read-only enforcement and validation for the mechanics and evidence limits.

API client permissions

Create an API client under Support and resources > API clients and keys in Falcon. Grant only the domains you use; available scopes depend on product licensing.

Required scopes by command
Scope Commands Requirement
Alerts:read detection summary, detection list, detection show yes
Hosts:read host list, host show, host logins, host network yes
Assets:read account list, account show, asset list, asset show, application list, login list yes
Falcon Discover IoT:read iot list yes
Vulnerabilities:read vuln show, vuln list yes
Vulnerabilities (Falcon Intelligence):read cve list, cve show yes
Actors (Falcon Intelligence):read actor list, actor show yes
Reports (Falcon Intelligence):read report list, report show yes
Malware Families (Falcon Intelligence):read malware list, malware show yes
Indicators (Falcon Intelligence):read indicator list, indicator show yes
Falcon Container Image:read container list, image list, image vulnerabilities, serverless list yes
Data Protection:read classification list, classification show, data-policy list, data-policy show yes
NGSIEM:write identity activity, search start, search stop yes
NGSIEM:read search status yes
Identity Protection GraphQL:write identity list, identity show, identity timeline, identity assessment yes
Identity Protection Entities:read identity list, identity show, identity sensor list, identity sensor show yes
Identity Protection Timeline:read identity timeline yes
Identity Protection Assessment:read identity assessment yes
Identity Protection Policy Rules:read identity rule list, identity rule show yes
IOC Management:read ioc list, ioc show yes
IOCs (Indicators of Compromise):read ioc hosts, ioc processes yes
Host Groups:read host-group list, host-group members yes
Prevention Policies:read policy list, policy members selected --type
Sensor Update Policies:read policy list, policy members selected --type
Firewall Management:read policy list, policy members, firewall rule list, firewall rule show, firewall group list yes
Device Control Policies:read policy list, policy members selected --type
Response Policies:read policy list, policy members selected --type
Content Update Policies:read policy list, policy members selected --type
Cloud Security API Assets:read cloud-asset list, cloud-asset show yes
Cloud Security API Detections:read iom list, iom show yes
Cloud Security API Risks:read cloud-risk list yes
SaaS Security:read shield list, shield show yes
Machine Learning Exclusions:read exclusion list, exclusion show selected --type
IOA Exclusions:read exclusion list, exclusion show selected --type
Sensor Visibility Exclusions:read exclusion list, exclusion show selected --type
Quarantined Files:read quarantine list, quarantine show yes
Custom IOA Rules:read ioa group list yes
Correlation Rules:read correlation-rule list yes
Cases:read case list, case show yes
Sensor Usage:read sensor-usage list yes
Monitoring rules (Falcon Intelligence Recon):read recon-rule list, recon-rule show, recon-notification list, recon-notification show, recon-record list, recon-record show yes

falcon-axi scopes prints the complete per-command matrix offline, including all product and policy scopes. The full permissions table is generated from the same registry. No other write scope is needed. Missing permissions produce SCOPE_DENIED; leaving optional scopes ungranted is supported.

Configuration

falcon-axi config path reports configuration paths. On Linux and macOS, config defaults to ~/.config/falcon-axi/config.json, respecting an absolute XDG_CONFIG_HOME. Windows uses %APPDATA%\falcon-axi\config.json.

Flag Environment variable Profile key / purpose
--profile <name> FALCON_AXI_PROFILE Select a named profile
--config <path> FALCON_AXI_CONFIG Override config path
--region <region> FALCON_AXI_REGION region: us-1 (default), us-2, eu-1, us-gov-1, or base URL
--member-cid <cid> FALCON_AXI_MEMBER_CID memberCid: select one Flight Control child tenant
--no-member-cid Clear inherited child-tenant selection
FALCON_AXI_CLIENT_ID clientId: environment profile client ID
FALCON_AXI_CLIENT_SECRET Default secret reference
FALCON_AXI_PROXY_URL HTTPS proxy URL
FALCON_AXI_READ_ONLY 1 / true blocks search lifecycle; 0 / false allows it
--help Per-command flags, arguments, limits, and examples
--version, -v, -V Bare installed version
Named profiles and secret files
{
  "version": 1,
  "defaultProfile": "production",
  "profiles": {
    "production": {
      "region": "us-1",
      "clientId": "<client-id>",
      "clientSecret": {"env": "FALCON_AXI_CLIENT_SECRET"}
    }
  }
}

Replace the client ID locally, never in chat. Use {"file":"/absolute/local/path"} to reference a UTF-8 secret file instead. Inline secrets are rejected. On POSIX, secret files must have mode 0400 or 0600; config files must not be group/world writable, and both must be owned by you. On Windows, links and reparse points are rejected; auth status also checks the protected user/SYSTEM/Administrators DACL.

Selection order is an explicit --profile, FALCON_AXI_PROFILE, a complete environment profile, defaultProfile, then the only configured profile. A partial environment credential pair fails rather than falling back. An explicitly selected profile ignores environment credential fields except its named SecretRefs. Region and member-CID flags override profile fields.

falcon-axi profile list
falcon-axi auth status --profile production

Commands

Names below omit the falcon-axi prefix. This table and the full command and permissions reference are generated from the CLI registry and checked locally for drift. Run any command with --help for its arguments and examples.

Complete command table
Command Purpose
detection summary counts of detections by severity
detection list list detections from the Falcon Alerts collection
detection show the full detail for one detection
host list list hosts from the Falcon Hosts collection
host show the full detail for one host
host logins recent interactive logins on one host
host network IP and MAC address history for one host
account list list Discover accounts observed on endpoints
account show the full detail for one account
asset list list Discover managed and unmanaged assets
asset show details for one Discover asset
application list list Discover applications
login list list Discover-observed logins across assets
iot list list Discover IoT assets
vuln show details for one Spotlight vulnerability record
vuln list list Spotlight vulnerabilities; a filter is required
cve list list Falcon Intelligence CVEs
cve show Falcon Intelligence detail for one CVE
actor list list Falcon Intelligence actors
actor show the detail for one intelligence actor
report list list Falcon Intelligence reports
report show the detail for one intelligence report
malware list list intelligence malware families
malware show the full malware family record
indicator list list Falcon Intelligence indicators
indicator show detail for one intelligence indicator
container list list Kubernetes containers
image list list container image assessments
image vulnerabilities list container image vulnerabilities
serverless list read serverless vulnerability SARIF
classification list list Data Protection classifications
classification show full Data Protection classification
data-policy list list Data Protection policies
data-policy show full Data Protection policy
identity activity start a search for one account's identity events
search start start an NG-SIEM CQL search job
search status poll one search job and read its events
search stop cancel one search job
identity list list Identity Protection users and endpoints with their risk
identity show one identity's risk, accounts, associations, and open incidents
identity timeline one identity's recent activity
identity assessment security assessment score and risk factors
identity sensor list list Identity Protection sensors
identity sensor show one Identity Protection sensor's details
identity rule list list Identity Protection policy rules
identity rule show the full Identity Protection policy rule
ioc list list custom indicators
ioc show read one custom indicator
ioc hosts type:value list observed hosts for a custom IOC
ioc processes type:value list observed processes for a custom IOC
host-group list list host-group list
host-group members list host-group members
policy list list policies of one required type
policy members list hosts assigned to a policy
cloud-asset list list CSPM cloud assets
cloud-asset show inspect one cloud-asset
iom list list cloud Indicators of Misconfiguration
iom show inspect one iom
cloud-risk list list aggregated cloud risks
shield list list SaaS security posture checks
shield show detail for one SaaS security posture check
exclusion list list ML, IOA, sensor-visibility, or certificate exclusions
exclusion show the full exclusion record for a required --type
quarantine list list quarantined file metadata
quarantine show the full quarantined file record
firewall rule list read firewall_rules
firewall rule show read one record
firewall group list read firewall_groups
ioa group list read ioa_groups
correlation-rule list read correlation_rules
case list read cases
case show read one record
auth status whether a credential resolved, and where to
profile list configured profile names, without reading secrets
config path config and write-journal paths
scopes the command-to-scope matrix, with no request made
sensor-usage list weekly sensor usage reports
recon-rule list list Recon monitoring rules
recon-rule show full record detail
recon-notification list list Recon notifications
recon-notification show full record detail
recon-record list list Recon exposed-data records
recon-record show full record detail
setup offline installation and credential guidance
setup hooks install or repair all three session integrations

Output and errors

Data and structured errors use TOON on stdout; diagnostics use stderr. List results use compact columns, explicit empty states, and next-step hints. Detection, host, and vulnerability lists accept --fields to append selected columns; invalid field names are refused. Detail commands that support --full use it to expand truncated content.

Exit status is 0 for success, 2 for VALIDATION_ERROR, CONFIG_INVALID, or FQL_INVALID, and 1 for other failures. Errors carry a stable code and actionable help. Unknown flags and commands fail loudly.

Pagination

One invocation reads one page by default. Use --limit N where supported, then pass the emitted continuation_cursor back as --cursor <token>, preserving query and credential context. Cursors are opaque and cannot be moved between queries or tenants.

Detection, host, account, and vulnerability lists support --all --max-rows N (default cap 1000). An incomplete walk keeps its rows, exits successfully, and prints partial: true with a stop_reason. Detection walks stop at 10000 query rows; host walks stop at 9999. Narrow the filter at these boundaries; a cursor is emitted only if the next page is reachable. Run the selected list with --help for its own limits.

NG-SIEM jobs have no cursor or limit flags. Bound results in CQL with a command such as head(200), poll with search status <id>, and cancel unfinished jobs with search stop <id>. Check parsed_query in status output: NG-SIEM can interpret unknown words as free text.

Troubleshooting

Symptom Action
PROFILE_REQUIRED / AUTH_REQUIRED Supply an environment credential pair or configure an env/file SecretRef; run auth status
AUTH_FAILED Check that the client is enabled and its credential is current
CONFIG_INSECURE Fix file ownership, permissions, or Windows DACL as indicated by the error
SCOPE_DENIED Compare falcon-axi scopes with the client's grants and product licenses
TENANT_DENIED for a child CID Check Flight Control access in Falcon; tenant discovery is not provided
ORIGIN_NOT_ALLOWED / region mismatch Check --region; known Falcon region discovery is automatic
FQL_INVALID Use the selected command's documented fields; Spotlight requires a filter and rejects wildcards
RATE_LIMITED Follow the structured error's retry guidance
Hook installation refused Use a durable CLI installation and repair malformed agent configuration

Contributing

See CONTRIBUTING.md for the offline verification commands, synthetic fixtures, and documentation generation. API shapes follow official CrowdStrike sources and offline fixtures; no live-tenant validation is claimed.

License

MIT.

If this project saved you time or helped your workflow, please consider giving it a ⭐ on GitHub to help others find it!

Metadata

Release files for falcon-axi 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for falcon-axi 0.5.0
File Size Uploaded
falcon_axi-0.5.0.tar.gz 111.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for falcon-axi 0.5.0
File Interpreter ABI Platform
falcon_axi-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 263.7 kB

Release files / falcon_axi-0.5.0.tar.gz

Download URL falcon_axi-0.5.0.tar.gz
Size 111.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a6cf6ef7aaa40a7eb4e2a375f31c93ce824c8f464635135ff681b3aee7ce5b65
BLAKE2b-256 checksum
How to use checksums
914d31aa5002c2cf0786ed34f9d98127e458b0ae7c8ecb17e7f529101d107dc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / falcon_axi-0.5.0-py3-none-any.whl

Download URL falcon_axi-0.5.0-py3-none-any.whl
Size 152.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ba6b6219bfec2d0fd435d97019a277989e867ce54378741c3fd612a4bf09814e
BLAKE2b-256 checksum
How to use checksums
d1e0581c7c8b4aab195acfa89c2b41b06a84fb2c85a875988982d2beeac86909
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page