Skip to main content

CrowdStrike

Pulls every host CrowdStrike Falcon has an agent on, with the full host record — hardware, OS, network identity, agent state and grouping.

Type namecrowdstrike_integration
CreatesEndpoints
Runs onA sensor with outbound reach to the Falcon API
Presence flagcs_exits
Field prefixcs_

What it contributes

CrowdStrike is usually one of the strongest sources in the inventory, because an EDR agent reports from inside the host. Expect it to be authoritative for:

  • Identity — hostname, machine domain, OU, site name, CrowdStrike device ID
  • Network — local IP, external IP, MAC, connection IP and MAC, default gateway
  • Platform — OS version, build, kernel version, product type, service pack
  • Hardware — system manufacturer and product, BIOS manufacturer and version, serial number, chassis type, CPU vendor and signature
  • Agent state — agent version, first and last seen, last reboot, RTR state, reduced functionality mode, provision status, host groups and tags

Alongside its own cs_* fields it writes the shared asset fields, so its hosts correlate against every other source. See Exported fields for the complete list.

Requirements

The integration is outbound-only: it is a scheduled API client, so nothing is installed on the CrowdStrike side, nothing runs on the endpoints themselves, and nothing has to reach into the deployment.

Network access

FromToProtocolPort
The sensor running the integrationThe Falcon API host for your region, e.g. api.us-2.crowdstrike.comHTTPS over TCP443

Both the token request and every page of device records go to that same host, so one egress rule covers the whole integration. Open it for your region's host — see the region warning under Configuration — and if the sensor reaches the internet through a proxy, point Proxy settings at it rather than opening direct egress.

Access in CrowdStrike

NeedWhy
An account that can create API clients in the Falcon consoleThe credential is created under Support and resources → API clients and keys, which is admin-gated. See Creating the API client
The Hosts: Read scope on that clientThe only scope the integration uses — it enumerates hosts and reads nothing else

No Falcon console user is created or consumed at run time; the integration authenticates as the API client only.

In this deployment

NeedWhy
A registered, healthy sensorThe integration runs on a sensor, on the platform's schedule — see Sensors

There are no special host requirements beyond a sensor that is checking in. The work is a handful of HTTPS calls per run, so it adds no meaningful load and needs no local storage.

Configuration

FieldRequiredNotes
NameYesLabel for this instance
API URLYesThe Base URL shown when the API client was created, e.g. https://api.us-2.crowdstrike.com
Client IDYesThe Client ID of the Falcon API client
Client secretYesThe Secret shown once at creation
Proxy settingsNohttp://host:port if the sensor egresses through a proxy
SensorYesSensor that will run the integration
Ignore SSLNoSkips certificate validation — leave off against the real API
The API URL is region-specific

api.crowdstrike.com, api.us-2.crowdstrike.com, api.eu-1.crowdstrike.com and api.laggar.gcw.crowdstrike.com are different clouds. Credentials issued in one region will not authenticate against another, and the failure looks like a bad secret rather than a wrong host.

Creating the API client in CrowdStrike

In the Falcon console, go to Support and resources → API clients and keys and choose Create API client. Give it a name that identifies this integration, and grant it exactly one permission:

ScopeAccess
HostsRead

Nothing else is needed — the integration only enumerates hosts.

On save, CrowdStrike shows three values. Copy all three; they are what you enter when creating the integration instance:

Falcon showsEnter it asExample
Client IDClient ID1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d
SecretClient secretshown once, at creation
Base URLAPI URLhttps://api.us-2.crowdstrike.com
Record the secret at creation

CrowdStrike shows the secret exactly once, on this screen. If it is lost, reset it on the existing client rather than creating a second one — one credential per integration keeps the audit trail readable.

The Base URL on that screen is the cloud your tenant lives in — use it verbatim as the API URL rather than assuming api.crowdstrike.com.

The integration then authenticates with the OAuth2 client-credentials flow against /oauth2/token and pages /devices/combined/devices/v1.

Exported fields

Each host returned by /devices/combined/devices/v1 becomes one asset record. The integration copies the Falcon device attributes into fields prefixed cs_, keeping the CrowdStrike name so a value in the platform can always be traced back to the device record it came from, and additionally writes the shared fields that make the host correlate with other sources.

Two records are dropped before anything is written: a host with no agent_version, and a host whose cs_last_seen is older than the Ignore if host is offline window configured in the instance's advanced settings.

Identity

FieldTypeHolds
cs_exitsBooleanAlways true — the presence flag marking this asset as CrowdStrike-covered
cs_device_idTextFalcon device ID (AID). The primary key used to match the host on later runs
cs_cidTextCustomer ID of the Falcon tenant the sensor is enrolled in
cs_hostnameTextHostname as the sensor reports it
cs_machine_domainTextDomain the machine is joined to
cs_ouTextOrganisational unit path — an array in the source record
cs_site_nameTextActive Directory site name
cs_serial_numberTextChassis serial number

Agent state

FieldTypeHolds
cs_agent_versionTextFull sensor version
cs_agent_version_majorTextDerived — the first two components of the version, e.g. 7.14 from 7.14.18110. Use it to group an estate by sensor generation
cs_agent_load_flagsTextSensor load flags
cs_agent_local_timeDate/timeHost's local clock at the time the sensor last reported
cs_statusTextHost status, e.g. normal, containment_pending, contained
cs_provision_statusTextProvisioning state of the sensor
cs_reduced_functionality_modeTextWhether the sensor is running degraded
cs_rtr_stateTextReal Time Response availability on the host
cs_config_id_baseTextSensor configuration base ID
cs_config_id_buildTextSensor configuration build ID
cs_config_id_platformTextSensor configuration platform ID

Network

FieldTypeHolds
cs_local_ipIPLocal address of the host
cs_external_ipIPAddress the host is seen from on the internet
cs_connection_ipIPAddress the sensor connected to Falcon from
cs_default_gateway_ipIPDefault gateway on the host's network
cs_mac_addressTextMAC of the host's primary adapter
cs_connection_mac_addressTextMAC of the adapter used for the Falcon connection

Operating system

FieldTypeHolds
cs_platform_idTextNumeric platform code
cs_platform_nameTextPlatform name — Windows, Mac, Linux
cs_os_versionTextOS version string
cs_os_product_nameTextOS product name
cs_os_buildTextOS build
cs_build_numberTextBuild number
cs_major_versionTextMajor OS version
cs_minor_versionTextMinor OS version
cs_kernel_versionTextKernel version
cs_service_pack_minorTextService pack minor version
cs_product_typeTextWindows product type code — workstation, domain controller or server
cs_product_type_descTextThe same product type, in words
cs_pointer_sizeTextPointer width — distinguishes 32-bit from 64-bit hosts

Hardware

FieldTypeHolds
cs_system_manufacturerTextSystem manufacturer
cs_system_product_nameTextSystem model
cs_bios_manufacturerTextBIOS manufacturer
cs_bios_versionTextBIOS version
cs_cpu_vendorTextCPU vendor
cs_cpu_signatureTextCPU signature
cs_chassis_typeTextChassis type code
cs_chassis_type_descTextChassis type in words — often the quickest way to separate laptops from servers

Grouping and tags

FieldTypeHolds
cs_groupsTextFalcon host group IDs the host belongs to — an array in the source record
cs_group_hashTextHash of the host's group membership
cs_tagsTextFalcon sensor and grouping tags — an array in the source record

Timestamps

FieldTypeHolds
cs_first_seenDate/timeWhen the host first reported to Falcon
cs_last_seenDate/timeWhen the host last reported. Also drives the offline drop rule above
cs_last_rebootDate/timeLast reboot of the host
cs_modified_timestampDate/timeLast change to the device record
cs_slow_changing_modified_timestampDate/timeLast change to the rarely-changing part of the device record

Shared fields it writes

These are the normalised, source-independent fields. They are what other integrations correlate against, so their values are cleaned up rather than copied verbatim:

Shared fieldDerived from
namescs_hostname
private_ipcs_local_ip — only written when the host reports one
last_public_ipcs_external_ip
maccs_mac_address
oscs_os_version, normalised to a canonical name such as Windows 11 or Ubuntu 20.04
os_vendorcs_platform_name, normalised to Windows, Linux or MacOS
typeInferred from the normalised osEndpoint, Server, Hypervisor and similar
hw_vendorcs_system_manufacturer
hw_productcs_system_product_name
updated_atTime of the run that produced the record
Prefixed and shared fields can disagree — deliberately

os is a normalised value and cs_os_version is what CrowdStrike literally reported. When a host looks wrong in a report built on os, compare it against the cs_* field to tell a normalisation gap from a genuine reporting difference.

All three can share one API client if you would rather manage a single credential, but each needs its own scopes.

See also