HomeGuidesChangelog
Guides

CLI Configuration File

Configuration File

Once the Command Line Interface (CLI) is installed, run regscale init to create a file called init.yaml containing the configuration settings. These settings are enumerated below.

Editing a Setting

See Config for details on viewing and updating individual settings.

Configuration Sources

The CLI loads configuration from multiple sources in the following priority order:

  1. Environment variables — Any init.yaml key can be overridden by setting an environment variable with the same name
  2. Remote RegScale API — Configuration fetched from your RegScale instance (/api/tenants/getDetailedCliConfig)
  3. Local init.yaml file — The primary configuration file
  4. Default template values — Built-in defaults for all settings

Environment variables always take precedence over file-based configuration.

Running regscale init

FlagDescription
(no flags)Merges new settings into your existing init.yaml without overwriting values you've already customized
--resetReplaces init.yaml entirely with fresh defaults (backs up the old file first)
--skip-promptsSkips interactive prompts for domain and credentials; uses environment variables or parameter values instead

Core Configuration

KeyDescriptionUsed By / WhyValue TypeDefault
domainRegScale instance URLEvery CLI command — this is the base URL for all API calls to your RegScale platformURIhttps://regscale.yourcompany.com/
tokenRegScale API bearer tokenEvery CLI command — authenticates all API requests. Populated automatically after regscale login or via environment variablestring(populated by CLI)
userIdRegScale user ID (UUID format)All integrations — identifies who created issues, assessments, and assets. Found on your RegScale home page under user profilestring(required)
maxThreadsMaximum concurrent threads for bulk processingAll sync_* commands — controls how many parallel API calls are made during batch operations. Higher values speed up large syncs but increase server loadinteger1000
timeoutDefault HTTP request timeout in secondsAll API calls — increase this if you experience timeouts on slow networks or when syncing large datasetsinteger60
sslVerifyVerify SSL/TLS certificates for API callsAll API calls — set to false only in development environments with self-signed certificates. Keep true for productionbooleantrue
disableCacheDisable response cachingAll API calls — enable this when debugging stale data issues. Caching improves performance for repeated lookups during sync operationsbooleanfalse
evidenceFolderDirectory to store evidence filescollect_evidence commands (AWS, GCP, CrowdStrike) — evidence attachments are downloaded and stored here before uploading to RegScalepath./evidence
passScoreMinimum score (0-100) for an assessment to passAssessment scoring — controls the threshold displayed on RegScale scorecards for passing compliance assessmentsinteger80
failScoreScore threshold (0-100) for an assessment to failAssessment scoring — scores below this value are flagged as failures on RegScale scorecardsinteger30

Vulnerability & Issue Management

These settings control how the CLI handles findings from scanner integrations. They apply globally to all sync_findings, sync_vulnerabilities, and sync_compliance commands.

KeyDescriptionUsed By / WhyOptionsDefault
vulnerabilityCreationHow to handle vulnerabilities from scansAll scanner integrations (sync_findings, sync_vulnerabilities) — controls whether the CLI creates RegScale issues from scan results. Set to IssueCreation if you want issues auto-created, or leave as NoIssue to let the server handle POAMs from the vulnerability batch endpointNoIssue — don't create issues (server handles via POAMs); IssueCreation — create issues from vulnerabilities; PoamCreation — create issues as POA&MsNoIssue
issueCreationHow to group findings into issuesAll scanner integrations — determines issue granularity. PerAsset creates more issues but gives per-device tracking; Consolidated reduces noise by grouping the same vulnerability across assetsConsolidated — one issue per unique vulnerability; PerAsset — one issue per vulnerability/asset pairConsolidated
complianceCreationHow to create compliance itemssync_compliance commands (GCP, AWS, Wiz, CrowdStrike) — controls what RegScale records are created from compliance scan resultsAssessment, Issue, or POAMAssessment
poamTitleTypeTitle format for POAMs created from scansAll integrations when creating POAMs — affects how POAMs appear in RegScale lists and reportsCve — use CVE number; PluginId — use scanner plugin IDCve
assessmentDaysNumber of days to add to today for planned assessment finish datesync_compliance commands — sets the planned completion date when creating new assessments in RegScaleinteger10

Integration Credentials

Azure Active Directory

Used by: regscale ad commands (authenticate, sync_admins, sync_general, sync_readonly, list_groups)

KeyDescriptionWhyValue Type
adAccessTokenBearer token (populated by the CLI)Auto-populated after regscale ad authenticate — do not set manuallystring
adAuthUrlAzure AD authentication endpointRequired for OAuth2 token exchange with Azure ADURI (default: https://login.microsoftonline.com/)
adClientIdApplication (client) ID from Active DirectoryIdentifies your registered Azure AD app — found in Azure Portal > App Registrationsstring
adClientSecretClient secret from Active DirectoryAuthenticates your Azure AD app — generate in Azure Portal > App Registrations > Certificates & Secretsstring
adGraphUrlMicrosoft Graph API scopeDefines the API permissions scope — typically leave as default unless using a custom scopeURI (default: https://graph.microsoft.com/.default)
adTenantIdDirectory (tenant) ID from Active DirectoryIdentifies your Azure AD tenant — found in Azure Portal > Azure Active Directory > Overviewstring

Microsoft Defender 365

Used by: regscale defender sync_365_alerts, sync_365_recommendations

KeyDescriptionWhyValue Type
azure365AccessTokenBearer token (populated by the CLI)Auto-populated after regscale defender authenticatestring
azure365ClientIdAzure AD application client IDIdentifies the app registered for Defender 365 API accessstring
azure365SecretAzure AD application secretAuthenticates the registered appstring
azure365TenantIdAzure AD tenant IDScopes API access to your organization's tenantstring

Microsoft Defender for Cloud

Used by: regscale defender sync_cloud_resources, sync_cloud_alerts, sync_cloud_recommendations

KeyDescriptionWhyValue Type
azureCloudAccessTokenBearer token (populated by the CLI)Auto-populated after authenticationstring
azureCloudClientIdAzure AD application client IDIdentifies the app registered for Defender for Cloud API accessstring
azureCloudSecretAzure AD application secretAuthenticates the registered appstring
azureCloudSubscriptionIdAzure subscription IDScopes scanning to a specific Azure subscription's resourcesstring
azureCloudTenantIdAzure AD tenant IDScopes API access to your organization's tenantstring

Azure Entra

Used by: regscale defender collect_entra_evidence, show_entra_mappings

KeyDescriptionWhyValue Type
azureEntraAccessTokenBearer token (populated by the CLI)Auto-populated after authenticationstring
azureEntraClientIdAzure AD application client IDIdentifies the app registered for Entra ID accessstring
azureEntraSecretAzure AD application secretAuthenticates the registered appstring
azureEntraTenantIdAzure AD tenant IDScopes access to your organization's Entra ID directorystring

AWS

Used by: regscale aws commands (sync_assets, sync_findings, sync_compliance, inventory, etc.)

KeyDescriptionWhyValue Type
awsAccessKeyIdAWS access key IDAuthenticates API calls to AWS services (Security Hub, Inspector, GuardDuty, etc.). Can also use AWS CLI profiles or IAM roles insteadstring
awsSecretAccessKeyAWS secret access keyPaired with the access key ID for AWS API authenticationstring

The CLI also supports AWS service inventory configuration under aws.inventory.enabled_services with toggles for individual services across compute, containers, database, integration, networking, security, and storage categories. This controls which AWS services are inventoried during regscale aws inventory.

CrowdStrike

Used by: regscale crowdstrike commands (sync_incidents, sync_vulnerabilities, sync_assets, sync_compliance)

KeyDescriptionWhyValue Type
crowdstrikeClientIdCrowdStrike API client IDRequired for Falcon API authentication — create in CrowdStrike Console > API Clients & Keysstring
crowdstrikeClientSecretCrowdStrike API client secretPaired with client ID for OAuth2 authenticationstring
crowdstrikeBaseUrlCrowdStrike API base URLVaries by your CrowdStrike cloud region (US-1, US-2, EU-1, US-GOV-1)URI (e.g., https://api.crowdstrike.com)

GCP

Used by: regscale gcp commands (sync_assets, sync_findings, sync_compliance, collect_evidence)

KeyDescriptionWhyValue Type
gcpCredentialsPath to GCP service account JSON credentials fileAuthenticates with Google Cloud APIs — download from GCP Console > IAM > Service Accountspath
gcpOrganizationIdGCP organization IDRequired when gcpScanType is organization — scans all projects under this orgstring
gcpProjectIdGCP project IDRequired when gcpScanType is project — scans only this specific projectstring
gcpScanTypeScan scopeDetermines whether SCC findings are fetched at organization or project levelorganization or project

Qualys

Used by: regscale qualys commands (import_scans, sync_qualys, import_total_cloud, etc.)

KeyDescriptionWhyValue Type
qualysUrlQualys API base URLYour Qualys platform URL — varies by subscription (e.g., https://qualysapi.qualys.com/api/2.0/fo/scan/)URI
qualysUserNameQualys usernameAPI authentication — must have API access enabled in Qualysstring
qualysPasswordQualys passwordPaired with username for basic authenticationstring

Tenable

Used by: regscale tenable commands (io, sc, nessus, was, sync_vulns)

KeyDescriptionWhyValue TypeDefault
tenableAccessKeyTenable access keyAPI authentication for Tenable.io or Tenable.sc — generate in Tenable Settings > API Keysstring
tenableSecretKeyTenable secret keyPaired with access key for authenticationstring
tenableUrlTenable Security Center base URLOnly needed for Tenable.sc (on-prem) — Tenable.io uses a fixed URLURI
tenableMinimumSeverityFilterMinimum severity to processFilters out low-priority findings before syncing to RegScale, reducing noiselow, medium, high, criticallow
tenableGroupByPluginGroup findings by plugin instead of vulnerabilityWhen true, creates one POA&M per plugin ID rather than per CVE — useful for findings without CVEsbooleanfalse

Wiz

Used by: regscale wiz commands (inventory, issues, vulnerabilities, sync_compliance, etc.)

KeyDescriptionWhyValue TypeDefault
wizAccessTokenBearer token (populated by the CLI)Auto-populated after regscale wiz authenticatestring
wizAuthUrlWiz OAuth token endpointRequired for OAuth2 client credentials flowURIhttps://auth.wiz.io/oauth/token
wizClientIdWiz OAuth client IDCreate in Wiz Settings > Service Accountsstring
wizClientSecretWiz OAuth client secretPaired with client ID for authenticationstring
wizUrlWiz GraphQL API endpointYour Wiz tenant's API URL — provided during service account setupURI
wizScopeWiz OAuth scopeAuto-populated based on your tenant — do not modify unless directed by Wiz supportstring
wizExcludesComma-separated asset names to exclude from syncingFilters out specific assets (by name) that should not be synced to RegScale — useful for test or dev resourcesstring
wizReportAgeDays back to fetch reportsControls how far back to look for Wiz reports when collecting evidenceinteger15
wizLastInventoryPullTimestamp of last inventory syncUsed internally for delta syncs — the CLI updates this automatically after each inventory runstring
wizInventoryFilterByGraphQL filter for inventory queriesCustom Wiz GraphQL filter to scope which assets are synced (e.g., filter by subscription, tag, or type)string
wizIssueFilterByGraphQL filter for issue queriesCustom Wiz GraphQL filter to scope which issues are syncedstring
wizVulnerabilitiesFilterByGraphQL filter for vulnerability queriesCustom Wiz GraphQL filter to scope which vulnerabilities are syncedstring
wizFullPullLimitHoursMaximum hours between full data syncsAfter this many hours since the last full pull, the CLI performs a full resync instead of a delta. Lower values increase data freshness but take longerinteger8

Prisma Cloud

Used by: regscale prisma commands (sync_hosts, sync_images, sync_sbom)

KeyDescriptionWhyValue TypeDefault
prismaConsoleUrlPrisma Cloud console base URLYour Prisma Cloud Compute console URL — found in Prisma Cloud > Compute > Manage > SystemURI
prismaUsernamePrisma Cloud console usernameAPI authentication — must have CI User or higher rolestring
prismaPasswordPrisma Cloud console passwordPaired with username for basic authenticationstring
prismaPageSizeAPI pagination page sizeControls how many results are fetched per API call. Increase for faster syncs on large deployments; decrease if experiencing timeoutsinteger50
prismaApiTimeoutAPI request timeout in secondsIncrease if Prisma Cloud responses are slow due to large datasetsinteger30
prismaApiRetriesNumber of API retry attemptsHow many times to retry failed API calls before giving upinteger3
prismaVerifySslVerify SSL certificatesSet to false only for on-prem Prisma Cloud Compute with self-signed certsbooleantrue
prismaDeduplicateFindingsDeduplicate findings across scansWhen true, prevents duplicate vulnerabilities when the same finding appears across multiple scan sourcesbooleantrue
prismaDeduplicationModeDeduplication strategyHow to identify duplicate findings — by_asset deduplicates within each assetstringby_asset
prismaEnableSoftwareInventoryEnable software inventory syncingWhen true, syncs installed packages and libraries as software inventory records in RegScalebooleanfalse
prismaDefaultFiltersDefault API filter JSONPre-filter Prisma API queries by collection — reduces data volume for multi-tenant deploymentsstring{"collections": []}

Jira

Used by: regscale jira commands (issues, tasks)

KeyDescriptionWhyValue Type
jiraApiTokenJira API token for authenticationGenerate in Atlassian Account Settings > Security > API Tokensstring
jiraUrlJira instance base URLYour Jira Cloud or Server URL (e.g., https://yourorg.atlassian.net)URI
jiraUserNameJira usernameThe email address associated with the API tokenstring

ServiceNow

Used by: regscale servicenow commands (issues, issues_and_attachments, sync_work_notes, sync_changes)

KeyDescriptionWhyValue Type
snowUrlServiceNow instance base URLYour ServiceNow instance URL (e.g., https://yourorg.service-now.com)URI
snowUserNameServiceNow usernameMust have read access to incident and change tablesstring
snowPasswordServiceNow passwordPaired with username for basic authenticationstring

Salesforce

Used by: regscale salesforce sync

KeyDescriptionWhyValue Type
salesforceUserNameSalesforce usernameCan also use environment variable SF_USERNAME for containerized deploymentsstring
salesforcePasswordSalesforce passwordCan also use environment variable SF_PASSWORDstring
salesforceTokenSalesforce security tokenAppended to password for API authentication. Can also use environment variable SF_TOKENstring

Okta

Used by: regscale okta commands (get_active_users, get_admin_users, etc.)

KeyDescriptionWhyValue Type
oktaApiTokenOkta API token (SSWS or OAuth)Authenticates API access — generate in Okta Admin Console > Security > API > Tokensstring
oktaClientIdOkta OAuth2 client IDOnly needed if using OAuth2 instead of SSWS token authenticationstring
oktaUrlOkta organization base URLYour Okta org URL (e.g., https://yourorg.okta.com)URI

SonarCloud

Used by: regscale sonarcloud sync_alerts, import_gitlab_sast

KeyDescriptionWhyValue TypeDefault
sonarUrlSonarCloud API base URLChange only if using SonarQube on-prem instead of SonarCloudURIhttps://sonarcloud.io
sonarTokenSonarCloud API tokenGenerate in SonarCloud > My Account > Security > Tokensstring

Dependabot / GitHub

Used by: regscale dependabot sync_alerts

KeyDescriptionWhyValue TypeDefault
dependabotIdGitHub user IDIdentifies the user for API attributionstring
dependabotOwnerGitHub repository ownerThe organization or user that owns the repo being scannedstring
dependabotRepoGitHub repository nameThe specific repo to fetch Dependabot alerts fromstring
dependabotTokenGitHub personal access tokenMust have security_events scope to read Dependabot alertsstring
githubDomainGitHub API domainChange only for GitHub Enterprise Server — leave as default for GitHub.comURIapi.github.com

Databricks

Used by: regscale bigquery sync_assets_bq

KeyDescriptionWhyValue Type
databricksHostnameDatabricks SQL endpoint hostnameFound in Databricks workspace > SQL Warehouses > Connection detailsstring
databricksPathHTTP path for Databricks SQL clusterThe compute resource path from your SQL warehouse connection detailsstring
databricksAccessTokenDatabricks personal access tokenGenerate in Databricks > User Settings > Developer > Access Tokensstring

Axonius

Used by: regscale axonius and regscale axonius_v2 commands

KeyDescriptionWhyValue TypeDefault
axoniusUrlAxonius API base URLYour Axonius instance URLURI
axoniusAccessTokenAxonius V1 API access tokenUsed by V1 integration (regscale axonius) — generate in Axonius Settingsstring
axoniusSecretTokenAxonius V1 secret tokenPaired with V1 access tokenstring
axoniusApiKeyAxonius V2 API keyUsed by V2 integration (regscale axonius_v2) — uses the Axonius SDKstring
axoniusApiSecretAxonius V2 API secretPaired with V2 API keystring
axoniusPageSizePage size for API paginationControls how many assets are fetched per API call. Increase for faster syncs; decrease if hitting memory limitsinteger2000
axoniusTimeoutAPI request timeout in secondsIncrease if Axonius queries time out on large datasetsinteger120
axoniusVerifySslVerify SSL certificatesSet to false only for on-prem Axonius with self-signed certsbooleantrue

Sicura

Used by: regscale sicura commands (sync_assets, sync_findings)

KeyDescriptionWhyValue Type
sicuraUrlSicura API base URLYour Sicura instance URLURI
sicuraTokenSicura API tokenAPI authentication token from Sicurastring

Scanner Variables

These settings fine-tune scanner behavior across all integrations. They can be set in init.yaml or overridden by the RegScale server configuration.

KeyDescriptionUsed By / WhyOptions / TypeDefault
threadMaxWorkersMax worker threads per integration taskAll sync_* commands — limits parallel API calls within each integration. Lower values (1-2) reduce server load; higher values (4-8) speed up large syncs184
ingestClosedIssuesImport closed/resolved findingsAll scanner integrations — when true, findings with a "closed" or "resolved" status from the scanner are still synced to RegScale. Useful for audit trailsbooleanfalse
incrementPoamIdentifierAuto-increment POAM IDs (V-0001, V-0002, etc.)POA&M creation — when true, assigns sequential identifiers to new POAMs for compliance reportingbooleanfalse
closeFindingsNotInScanClose findings not present in the latest scanAll scanner integrations — when true, issues and vulnerabilities from previous scans that no longer appear are automatically marked as closed. Disable if scanners don't return complete datasets each runbooleantrue
findingChunkSizeBatch size for finding ingestionAll scanner integrations — controls how many findings are sent per batch API call. Increase for faster ingestion; decrease if hitting server payload limits1500005000
maxRetriesAPI retry attemptsAll API calls — how many times to retry failed requests (e.g., 429 rate limits, 503 timeouts) before giving up0103
useMilestonesEnable milestone tracking for issuesIssue creation — when true, adds milestone records to issues for tracking remediation progress over timebooleanfalse
preventAutoClosePrevent automatic issue closureIssue management — when true, issues are never auto-closed by the CLI, even when the underlying finding is resolved. Useful when manual review is required before closurebooleanfalse
customCaCertPath to custom CA certificate bundleAll API calls — required when behind a corporate proxy that uses SSL inspection with a custom CA. Set to the path of your CA bundle (.pem file)path(none)
stigBatchSizeBatch size for STIG processingregscale stig commands — controls how many STIG checklist items are processed per batchinteger100

Other Settings

KeyDescriptionUsed By / WhyValue TypeDefault
cisaKevCISA Known Exploited Vulnerabilities feed URLAll integrations with useKev: true — the CLI downloads this feed to check if vulnerabilities are in the KEV catalog and applies accelerated due datesURIhttps://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json
nistCpeApiKeyNIST CPE database API keyCPE lookups — an API key removes rate limits when querying the NIST National Vulnerability Database for CPE datastring
oscalLocationPath to OSCAL catalog directoryOSCAL import/export — directory containing OSCAL JSON catalog files for control framework mappingpath/opt/OSCAL
pwshPathPath to PowerShell executableSTIG processing — some STIG operations use PowerShell scripts for checklist parsingpath/opt/microsoft/powershell/7/pwsh

Issue Due Date Configuration

Issue due dates are configured per integration under the issues key. Each integration defines the number of days from today to set as the due date for each severity level. These due dates determine when issues appear as overdue in RegScale dashboards and compliance reports.

YAML Structure

issues:
  kevDueDate: 14           # Accelerated due date for CISA KEV vulnerabilities
  aws:
    high: 30               # High severity issues due in 30 days
    moderate: 90            # Moderate severity issues due in 90 days
    low: 365               # Low severity issues due in 365 days
    status: Open            # Initial issue status
    minimumSeverity: low    # Create issues for low severity and above
    useKev: true            # Apply KEV due dates when applicable
  tenable:
    critical: 30
    high: 30
    moderate: 90
    low: 180
    status: Open
    useKev: false
  wiz:
    critical: 30
    high: 90
    medium: 90
    low: 365
    status: Open
    minimumSeverity: low

Supported Integrations

IntegrationSeverity LevelsAdditional Options
aquacritical, high, moderate, lowminimumSeverity, useKev, status
awshigh, moderate, lowminimumSeverity, useKev, status
axoniuscritical, high, moderate, low
defender365high, moderate, lowstatus
defenderCloudhigh, moderate, lowstatus
defenderFilehigh, moderate, lowuseKev, status
ecrcritical, high, moderate, lowminimumSeverity, useKev, status
jirahighest, high, medium, low, loweststatus
nexposecritical, high, moderate, lowminimumSeverity, useKev, status
prismacritical, high, moderate, lowminimumSeverity, useKev, status
qualyshigh, moderate, lowuseKev, status
salesforcecritical, high, medium, lowstatus
snykcritical, high, moderate, lowminimumSeverity, useKev, status
sonarcloudblocker, critical, major, minorstatus
tanium_cloudcritical, high, moderate, low
tenablecritical, high, moderate, lowuseKev, status
veracodecritical, high, moderate, lowminimumSeverity, useKev, status
wizcritical, high, medium, lowminimumSeverity, status
xraycritical, high, moderate, lowminimumSeverity, useKev, status

Issue Options

OptionDescriptionUsed By / WhyValues
statusInitial status for created issuesSets the starting workflow state for new issues in RegScale. Most integrations default to OpenDraft, Open, Pending Decommission, Supply Chain/Procurement Dependency, Vendor Dependency for Fix, Delayed, Exception/Waiver
minimumSeverityMinimum severity to create issues forFilters out low-priority findings to reduce noise. Set to high or critical if you only want to track significant vulnerabilitieslow, medium, high, critical
useKevApply CISA KEV due dates when applicableWhen true, vulnerabilities found in the CISA KEV catalog get an accelerated due date (kevDueDate) instead of the standard severity-based due datetrue / false
kevDueDateDays until due date for KEV vulnerabilitiesSet at the issues level (not per-integration). Applies to all integrations where useKev is true. FedRAMP requires 14 days for KEV vulnerabilitiesinteger (default: 14)

Finding Field Mapping

Customize which fields are used for finding titles, descriptions, and remediation per integration. This is useful when scanner output includes multiple fields and you want to control which one appears in RegScale.

findingFromMapping:
  aqua:
    remediation: default    # Use the standard remediation field
    title: default          # Use the standard title field
    description: default    # Use the standard description field
  tenable_sc:
    remediation: default
    title: default
    description: default

Set a value to default to use the standard mapping, or specify a custom field name from the scanner's output.


Environment Variable Overrides

Any init.yaml key can be overridden by setting an environment variable with the same name:

export domain="https://my-regscale.com/"
export token="Bearer eyJhbGc..."
export maxThreads="500"
export vulnerabilityCreation="IssueCreation"

This is useful for:

  • Containerized deployments — inject secrets at runtime without storing them on disk
  • CI/CD pipelines — override settings per pipeline run (e.g., different RegScale instances for staging vs production)
  • AWS Secrets Manager — load credentials from secrets manager into environment variables before running the CLI