HomeGuidesChangelog
Guides

Overview

The Tanium integration syncs endpoints (assets), vulnerabilities, and compliance findings from Tanium into RegScale. It supports both on-premises (REST API v2) and Tanium Cloud (GraphQL API Gateway) deployments with automatic detection.


Prerequisites

  • RegScale CLI installed and configured (regscale init)
  • A Tanium API token (generated from the Tanium Console)
  • Network access to your Tanium server
  • An existing RegScale Security Plan or Component to sync into

Configuration

Add the following variables to your init.yaml file (created by regscale init):

VariableTypeDefaultDescription
taniumUrlstringBase URL of your Tanium server
taniumTokenstringAPI token for authentication
taniumTimeoutint30Request timeout in seconds
taniumVerifySslbooltrueVerify SSL certificates
taniumApiTypestring"auto"API type: "auto", "rest", or "gateway"
taniumIsCloudboolfalseForce Cloud GraphQL API mode

Example Configuration

On-Premises Tanium:

taniumUrl: "https://tanium.mycompany.com"
taniumToken: "token-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
taniumTimeout: 30
taniumVerifySsl: true
taniumApiType: "auto"
taniumIsCloud: false

Tanium Cloud:

taniumUrl: "https://mycompany-api.cloud.tanium.com"
taniumToken: "token-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
taniumTimeout: 30
taniumVerifySsl: true
taniumApiType: "auto"
taniumIsCloud: true

Note: For Tanium Cloud, use the -api subdomain (e.g., mycompany-api.cloud.tanium.com), not the UI subdomain.

API Type Detection

When taniumApiType is set to "auto" (default), the CLI automatically determines which API to use:

  1. If taniumIsCloud is true → GraphQL API Gateway
  2. If the URL hostname ends with .cloud.tanium.com → GraphQL API Gateway
  3. Otherwise → REST API v2

You can override this by setting taniumApiType to "rest" or "gateway" explicitly.


Commands

Test Connection

Verify that your Tanium credentials and URL are configured correctly.

regscale tanium test_connection

Example output:

Successfully connected to Tanium server (version 7.5.x.xxxx)

Sync Assets

Sync Tanium endpoints into RegScale as assets.

regscale tanium sync_assets --regscale_id <ID> --regscale_module <MODULE>

Parameters:

ParameterRequiredDescription
--regscale_idYesID of the RegScale Security Plan or Component
--regscale_moduleYes"securityplans" or "components"
--dry-run / -drNoPreview counts without syncing data
--offsetNoSkip N items (for parallel orchestration)
--limitNoProcess at most N items

Examples:

# Sync all Tanium endpoints to a Security Plan
regscale tanium sync_assets --regscale_id 42 --regscale_module securityplans

# Sync to a Component
regscale tanium sync_assets --regscale_id 100 --regscale_module components

# Preview how many assets would be synced
regscale tanium sync_assets --regscale_id 42 --regscale_module securityplans --dry-run

What gets synced:

Each Tanium endpoint is mapped to a RegScale asset with the following fields:

Tanium FieldRegScale Asset Field
Computer NameAsset Name
IP AddressIP Address
MAC AddressMAC Address
Serial NumberSerial Number
OS Name + VersionOperating System
Manufacturer + ModelDescription
Chassis Type / OS hintsAsset Type
Domain + Computer NameFQDN

Asset type detection is automatic based on device metadata:

ConditionAsset Type
is_virtual = trueVirtual Machine (VM)
Chassis = server/rack/bladePhysical Server
Chassis = desktop/towerDesktop
Chassis = laptop/notebookLaptop
Chassis = tabletTablet
OS contains "server"Physical Server
DefaultDesktop

Sync Findings

Sync vulnerabilities and (optionally) compliance findings from Tanium into RegScale.

regscale tanium sync_findings --regscale_id <ID> --regscale_module <MODULE>

Parameters:

ParameterRequiredDefaultDescription
--regscale_idYesID of the RegScale Security Plan or Component
--regscale_moduleYes"securityplans" or "components"
--include_compliance / --no-include_complianceNotrueInclude compliance findings
--dry-run / -drNofalsePreview counts without syncing
--offsetNoSkip N items
--limitNoProcess at most N items

Examples:

# Sync vulnerabilities + compliance findings
regscale tanium sync_findings --regscale_id 42 --regscale_module securityplans

# Sync vulnerabilities only (no compliance)
regscale tanium sync_findings --regscale_id 42 --regscale_module securityplans --no-include_compliance

# Preview finding counts
regscale tanium sync_findings --regscale_id 42 --regscale_module securityplans --dry-run

Vulnerability Mapping

Tanium FieldRegScale Field
CVE IDCVE
TitleTitle
DescriptionDescription
Severity / CVSS ScoreSeverity
CVSS ScoreCVSS Score
CVSS VectorCVSS Vector
SolutionRemediation
Affected EndpointsLinked Assets

Severity mapping uses a multi-tier approach:

Tanium SeverityRegScale Severity
CriticalCritical
HighHigh
MediumModerate
LowLow
InformationalLow

If no explicit severity is provided, CVSS score is used as a fallback:

CVSS ScoreRegScale Severity
> = 9.0Critical
> = 7.0High
> = 4.0Medium
> 0Low
0 or N/AModerate (default)

Compliance Finding Mapping

Only failing compliance findings are synced (passing checks are skipped).

Tanium FieldRegScale Field
Rule IDFinding ID
Rule TitleTitle
Rule DescriptionDescription
Benchmark + VersionCategory context
Fix TextRemediation
NIST ControlsControl mappings
CCI ReferencesCCI mappings
DISA STIG CategorySeverity

DISA STIG severity mapping:

STIG CategoryRegScale Severity
CAT ICritical
CAT IIHigh
CAT IIIMedium

Sync All

Run both asset sync and findings sync in sequence with a single command.

regscale tanium sync_all --regscale_id <ID> --regscale_module <MODULE>

Parameters: Same as sync_findings.

Examples:

# Full sync: assets first, then findings
regscale tanium sync_all --regscale_id 42 --regscale_module securityplans

# Full sync to a component, compliance included
regscale tanium sync_all --regscale_id 100 --regscale_module components

# Full sync, skip compliance
regscale tanium sync_all --regscale_id 42 --regscale_module securityplans --no-include_compliance

Execution order:

  1. sync_assets — creates/updates all Tanium endpoints as RegScale assets
  2. sync_findings — creates vulnerabilities and compliance findings linked to those assets

Automation manager DAG Support

The Tanium integration includes pre-built Automation manager DAGs for scheduled automation.

Available DAGs

DAGDescription
tanium_sync_assetsSync Tanium endpoints on a schedule
tanium_sync_findingsSync vulnerabilities and compliance findings
tanium_sync_assets_and_findingsRun both syncs in sequence (assets then findings)

DAG Parameters

ParameterRequiredDefaultDescription
regscale_idYesRegScale Security Plan or Component ID
regscale_moduleNo"securityplans"Target module type
include_complianceNotrueInclude compliance findings (findings DAGs only)

Architecture

┌──────────────────────────┐
│  regscale tanium <cmd>   │
└────────────┬─────────────┘
             │
             v
┌──────────────────────────┐
│     TaniumScanner        │
│  (ScannerIntegration)    │
└────────────┬─────────────┘
             │
             v
┌──────────────────────────┐
│    TaniumAPIClient       │
│  REST v2  or  GraphQL    │
│  (auto-detected)         │
└────────────┬─────────────┘
             │
             v
┌──────────────────────────┐     ┌──────────────────────────┐
│    Tanium Server         │────>│    Data Models            │
│  - Endpoints             │     │  - TaniumEndpoint         │
│  - Vulnerabilities       │     │  - TaniumVulnerability    │
│  - Compliance Findings   │     │  - TaniumComplianceFinding│
└──────────────────────────┘     └────────────┬─────────────┘
                                              │
                                              v
                                 ┌──────────────────────────┐
                                 │  RegScale API            │
                                 │  - Assets                │
                                 │  - Vulnerabilities       │
                                 │  - Issues                │
                                 └──────────────────────────┘

Troubleshooting

IssueCauseSolution
test_connection fails with HTML responseURL points to Tanium UI, not APIUse the correct API URL. For Cloud, use the -api subdomain
"Invalid object route" errorCloud deployment using REST instead of GraphQLSet taniumApiType: "gateway" or taniumIsCloud: true
SSL certificate errorsSelf-signed or internal certificatesSet taniumVerifySsl: false (not recommended for production)
No assets returnedTanium Discover module not enabledEnsure Tanium Discover (TDS) is active on the server
No vulnerabilities returnedTanium Comply module not configuredEnsure Tanium Comply is installed and has completed scans
Timeout errors on large environmentsDefault timeout too lowIncrease taniumTimeout to 60 or 120
Rate limit errors (429)Too many requestsThe CLI retries automatically with exponential backoff (3 retries)

Quick Start

# 1. Configure your Tanium credentials
regscale init
# Edit init.yaml with your Tanium URL and token

# 2. Verify connectivity
regscale tanium test_connection

# 3. Preview what will be synced
regscale tanium sync_all --regscale_id 42 --regscale_module securityplans --dry-run

# 4. Run the full sync
regscale tanium sync_all --regscale_id 42 --regscale_module securityplans