Tanium Cloud vulnerability sync no longer creates duplicate findings when the same CVE affects multiple endpoints; one finding is now created per CVE and mapped to all affected assets
Asset MAC addresses are now normalized to uppercase before submission to prevent validation failures caused by case-sensitive platform checks
Control implementation single-record fetches now request the non-deprecated v2.0 API version via the header to avoid hitting the obsolete v1 handler
Control implementation create and update requests now target the non-deprecated v2.0 API handler via the header
Stakeholder create and update requests now target the non-deprecated v2.0 API handler via the header
Wiz asset type mapping now routes cloud resource types to specific RegScale asset types (Container, Database, Cloud Storage, Load Balancer, Serverless Function, Kubernetes Cluster, Application) instead of collapsing everything to "Other"
AssetType now supports Container, Database, Cloud Storage, Load Balancer, Serverless Function, Kubernetes Cluster, Application, Operating System, Firmware, and Utility as valid values alongside the existing hardware form factors
Wiz resources now map to the RegScale "Database" asset type instead of "Physical Server"; existing records will update on next sync
Wiz asset and software names now display human-readable short names and product names (e.g. "Azure Database for PostgreSQL") instead of long internal identifiers
Wiz compliance report sync now matches existing assets on any of their identifier fields (otherTrackingNumber, awsIdentifier, azureIdentifier, googleIdentifier, providerUniqueId, and related) instead of only otherTrackingNumber
Fixed
Issue-to-asset mapping for all scanner integrations now works reliably; the RegScale server receives the configured asset identifier field on every batch path (both the default and custom fields like Nessus , Qualys , and STIG ), so issues and POAMs are linked to their assets instead of being silently dropped
Issue payloads no longer strip the field before sending to the server, which was preventing all server-side issue→asset mapping
Queued issues from the final chunk of a sync run are now flushed to the server instead of being left behind, eliminating missing records and duplicate ingestion on re-run
Duplicate findings no longer accumulate across chunk boundaries in large scanner syncs; server-side mop-up now runs on every batch (scoped by the per-run ) instead of only the final chunk
Newline-separated consolidated asset identifiers (from multi-asset findings) are now split correctly for client-side issue→asset mapping
Legacy Qualys VM report import now creates issues and vulnerabilities linked to their assets via the identifier
FedRAMP POAM import now creates issues linked to their assets via
Vulnerability plugin ID is no longer silently nulled when the RegScale version endpoint is unreachable, restoring deduplication for every scanner integration (Tanium, Wiz, Qualys, Tenable, Nessus)
Wiz compliance report sync no longer creates duplicate stub assets for entities that already match an inventoried asset
Wiz asset RAM capacity and cloud provider identifier fields are now populated from Wiz entity properties that were previously being dropped
Compliance sync no longer silently creates duplicate stub assets when the existing-asset lookup fails; a transient asset-fetch failure now logs a warning with plan context and the run completes with degraded deduplication instead of reproducing the bug it was meant to prevent
Non-Wiz compliance integrations (Qualys CIS, SARIF, QRadar, CrowdStrike, AWS ECR/Config/GuardDuty) no longer risk misattributing compliance findings to unrelated assets that happen to share a or with the compliance item's resource ID
Malformed Wiz JSON on an entity is now surfaced as a warning log instead of being silently swallowed, so users can see when source data is broken rather than wondering why RAM values appear inconsistent
AWS now filters to Active Critical/High/Medium findings by default and fetches each severity bucket in parallel, dramatically reducing run time in GovCloud
AWS prints per-page progress while fetching Inspector data so long runs no longer appear to hang
AWS no longer loops for hours when Inspector findings have no resolvable IP address; invalid IPs are dropped client-side and a run-end summary reports how many findings were skipped
Vulnerability batch submission no longer retries 400 validation errors, which previously cascaded into a multi-hour per-item retry loop
AWS now creates a RegScale asset for each real EC2 instance, Lambda function, and ECR image returned by Inspector instead of a single synthetic per-account placeholder, so vulnerabilities link to the actual affected resource
AWS collapses Inspector findings that share a CVE or plugin across multiple resources into a single vulnerability/issue with every affected asset linked, replacing the previous one-duplicate-per-instance behavior
Rapid7 InsightVM Console (v3) throughput for environments with many assets; per-asset vulnerability listings and definition lookups now run in parallel
Added
OpenSCAP integration for ingesting ARF, XCCDF results, and CSV export files as RegScale findings and assets, with optional NIST 800-53 Rev 5 compliance assessment support via CCE-to-control mapping
command composes vulnerability import and compliance sync in a single invocation; pass , , or both to run the corresponding phases against one input file
AWS and flags to override the new default severity/status filters
AWS now accepts in addition to the snake_case form for consistency with
eMASS PPSM workbook importer now saves custom field values (boundaries, source/destination device names, IPs, FQDNs, VPN metadata) to the PortsProtocol module after each batch import
Rapid7 InsightVM configuration variable to tune concurrency of the Console v3 vulnerability fetch (default 20)
Tanium integration now uses server-side pagination to reduce memory usage and network traffic when using --offset and --limit
Tanium command now supports --dry-run, --offset, and --limit for Orchestration Hub parallel execution
Fixed
Jira Issues sync now populates Severity Level with simple values (Critical/High/Medium/Low) and sets Identification to "Other" so both fields render correctly in the RegScale UI; handles Jira issues with no priority assigned
Tanium compliance findings on REST (on-prem) now fetches all pages instead of only the first 100 results
AWS now creates issues and vulnerabilities by default, with a warning when a run produces none so empty results are easier to diagnose
AWS vulnerabilities and issues now carry unique Plugin ID and Plugin Name values (CVE for package vulnerabilities, detector ID for code vulnerabilities, finding title for network reachability) instead of the generic finding type
Tanium vulnerability sync now creates a single issue per vulnerability with all affected endpoints linked as asset mappings instead of one duplicate issue per asset
Tanium asset and compliance sync now dedupe entries surfaced by overlapping pagination so each endpoint and each rule/endpoint pair is processed once
Tanium vulnerability findings now carry a unique Plugin ID per vulnerability instead of all defaulting to "Tanium Comply", restoring per-vulnerability deduplication
Scanner progress bars no longer have log messages bleeding into the bar line; console logging is routed through tqdm while a progress bar is active so output stays readable
Multi-batch scanner syncs now skip the redundant mop-up re-send; the final batch carries the mop-up flag so the server performs mop-up inline, shortening large imports by one batch round-trip
Scanner finding progress bar no longer double-counts advances, so the "Processing N findings" bar reaches exactly N instead of 2×N (e.g. a 2,000-finding run now ends at 2000/2000 rather than 4000/unknown)
Tanium vulnerability sync reports the finding total to the progress bar up front instead of leaving it indeterminate until the run finishes
Tanium findings now carry the per-vulnerability or per-rule name as their Plugin Name (e.g. the CVE title or STIG rule title) instead of all reading "Tanium Comply", so issue titles and plugin fields are meaningful
Tanium vulnerability Plugin ID now uses the CVE when available (falling back to Tanium's internal ID only for non-CVE advisories), so the identifier is externally meaningful and collapses duplicate Tanium records for the same CVE onto a single RegScale issue
Added
Tanium command group to the RegScale Orchestration Hub subcommand for scheduled sync of assets, findings, and compliance
Vulnerability-to-asset mapping for scanner integrations using a custom asset identifier field (e.g. Nessus ); the server-side asset lookup now receives the configured field name on all batch paths
Consolidated vulnerability findings with newline-joined asset identifiers now split correctly into individual entries for server-side asset matching
GCP , , , and commands available as a command group in the Orchestration Hub
eMASS system export importer now captures SSP custom fields (Owning Organization, DITPR DON ID, VRAM ID, Cloud Computing type/model), expanded POAM fields (predisposing conditions, likelihood, impact, threat description, risk mitigations), control implementation responsibility and SLCM data, and actual test results (Assessment, ControlTest, ControlTestResult) from SystemExport XML
eMASS Control Test Results workbook importer now populates AP Acronym, Assessment Procedures summary, lead assessor from Tested By column, and inherited implementation text from Inherited/Remote Inheritance columns
eMASS Control Information / SLCM workbook importer () to update control implementation status, assessment frequency, narrative, responsible entities, layer information, and SLCM monitoring data from TR5 ControlInfoExport workbooks
Upgraded Apache Airflow from 3.1.8 to 3.2.0, resolving CVE-2025-57735 (CRITICAL) and CVE-2026-34538 (MEDIUM)
Migrated all Airflow imports to use the namespace to eliminate deprecation warnings
Fixed
CLI descriptions for , , and now correctly reference STIG instead of GCP
CLI descriptions for , , , and command groups now correctly describe their respective integrations instead of referencing unrelated vendors
Removed duplicate registration that caused the command to appear twice in internal CLI wiring
SARIF compliance sync not updating control implementation status when the SSP uses an OWASP ASVS catalog; CWE-to-control mapping now targets ASVS verification requirement IDs instead of OWASP Top 10 category IDs
SARIF compliance sync setting passing controls to "Fully Implemented" instead of the intended "Planned" status
burp integration mapping issue
Added
CrowdStrike , , , and commands now support , , and for parallel job splitting via the Orchestration Hub
SARIF and commands now support , , and for parallel job splitting via the Orchestration Hub
GCP , , , , , and commands now support , , and for parallel job splitting via the Orchestration Hub
CCI model now exposes and foreign key fields for direct traceability to control objectives and test plans
eMASS Control Test Results workbook import via , aligned with the POAM workbook importer pattern
eMASS PPSM (Ports, Protocols, Services & Mgmt) workbook import via ; supports both Standard DoD and USN template formats with auto-detection
eMASS Hardware/Software inventory workbook import via ; processes Hardware and Software sheets in two phases with software-to-hardware parent linking
eMASS workbook type auto-detection via ; identifies PPSM, HWSW, POAM, Control Test Results, Control Info, and Security Categorization workbooks from sheet names and column signatures
eMASS Security Categorization Form import via ; updates SecurityPlan categorization fields and creates SystemRole records for RMF team members
eMASS importers (POAM, PPSM, HWSW, SecCat) now populate custom fields on RegScale records using field definitions from the target instance, maximizing data coverage beyond native model fields
eMASS importers auto-discover the correct API app scope when the current token cannot see the target SSP; supports (pre-scoped JWT), / credential probing, and aborts with a clear error if the SSP cannot be located
Prisma Cloud , , and commands now support (preview counts without writing), (skip N items), and (process at most N items) for parallel job splitting via the Orchestration Hub
Fixed
AWS silently dropping all queued issues; issues are now flushed to RegScale after findings processing completes
Qualys sync skipping vulnerability processing entirely due to defaulting to false; findings are now synced by default
Qualys vulnerability sync failing with StreamReset errors on air-gapped or slow networks; added config (default 50) to send smaller batches per request
Component creation failing with 400 "Compliance Setting is required" on RegScale installations that enforce complianceSettingsId; scanner integration now falls back to the tenant's first available compliance setting when the security plan lookup returns none
Prisma Cloud SBOMs not appearing in the Security Plan SBOM tab; records are now linked to the security plan instead of individual assets so they populate the SSP-level SBOM view
Prisma Cloud vulnerability sync creating duplicate records on consecutive runs for non-CVE identifiers (GHSA-, PRISMA-); client-side deduplication now checks existing SSP vulnerabilities before submission
Nessus asset naming now uses FQDN or hostname instead of IP address when available, with priority: FQDN > hostname > NetBIOS > IP
Axonius endpoint calls for 6.30.0.0 additions
Tanium no longer includes compliance data by default; use for proper control assessments
Tanium now runs asset sync, vulnerability sync, and compliance assessment sync as three separate steps
Added
Tanium command to sync compliance/benchmark data as control assessments instead of vulnerabilities
Opt-in scan-level assessment creation for vulnerability scanners via init.yaml setting, linking issues to assessments and updating control implementation statuses from aggregated scan findings
sync_compliance now maps Issues to created Assets if they exist in the SSP
Fixed
AWS Inspector CSV import failing with "can only concatenate str (not int) to str" when processing findings
AWS Inspector CRITICAL severity findings now correctly mapped to Critical instead of being downgraded to High
AWS Inspector now uses real public/private IP addresses from scan data instead of hardcoding 0.0.0.0
AWS Security Hub creating duplicate issues on successive runs by switching to server-side deduplication keyed on stable plugin IDs instead of per-resource SecurityHub ARNs
Qualys creating duplicate vulnerability records on successive runs by adding to so the server can locate existing records; now correctly enables server-side POAM/finding creation from each vulnerability
Qualys now correctly defaults to instead of the deprecated mode when no vulnerability creation setting is provided
s3 file downloader now allows for customer local filename
AWS integration missing f-string causing PatchSummary installed count to display as literal text
AWS integration performance improvements: severity filtering moved before expensive computations, CVE data extracted once per finding instead of per resource, and class-level constant maps to avoid per-call allocation
Tenable CIS checklist sync commands ( and ) not creating checklists, vulnerabilities, or issues in RegScale
Axonius sync_compliance no longer crashed on SSPs with no controls
AWS GuardDuty sync creating duplicate issues by processing findings through both compliance framework and individual finding paths
Vulnerability deduplication across consecutive scanner imports caused by missing parentModule in the uniqueKeys lookup
Stale vulnerabilities from previous scans not being closed when a subsequent scan produces fewer findings
Duplicate issues created per vulnerability when retry logic re-queued the same vulnerability for batch submission
Azure Entra access review evidence collection for Government cloud environments where incorrect URL construction caused a 404 "Invalid version" error
Nessus asset naming now uses FQDN or hostname instead of IP address when available, with priority: FQDN > hostname > NetBIOS > IP
Axonius endpoint calls for 6.30.0.0 additions
Tanium no longer includes compliance data by default; use for proper control assessments
Tanium now runs asset sync, vulnerability sync, and compliance assessment sync as three separate steps
Added
Tanium command to sync compliance/benchmark data as control assessments instead of vulnerabilities
Opt-in scan-level assessment creation for vulnerability scanners via init.yaml setting, linking issues to assessments and updating control implementation statuses from aggregated scan findings
sync_compliance now maps Issues to created Assets if they exist in the SSP
Fixed
AWS Inspector CSV import failing with "can only concatenate str (not int) to str" when processing findings
AWS Inspector CRITICAL severity findings now correctly mapped to Critical instead of being downgraded to High
AWS Inspector now uses real public/private IP addresses from scan data instead of hardcoding 0.0.0.0
AWS Security Hub creating duplicate issues on successive runs by switching to server-side deduplication keyed on stable plugin IDs instead of per-resource SecurityHub ARNs
Qualys creating duplicate vulnerability records on successive runs by adding to so the server can locate existing records; now correctly enables server-side POAM/finding creation from each vulnerability
Qualys now correctly defaults to instead of the deprecated mode when no vulnerability creation setting is provided
s3 file downloader now allows for customer local filename
AWS integration missing f-string causing PatchSummary installed count to display as literal text
AWS integration performance improvements: severity filtering moved before expensive computations, CVE data extracted once per finding instead of per resource, and class-level constant maps to avoid per-call allocation
Tenable CIS checklist sync commands ( and ) not creating checklists, vulnerabilities, or issues in RegScale
Axonius sync_compliance no longer crashed on SSPs with no controls
AWS GuardDuty sync creating duplicate issues by processing findings through both compliance framework and individual finding paths
Vulnerability deduplication across consecutive scanner imports caused by missing parentModule in the uniqueKeys lookup
Stale vulnerabilities from previous scans not being closed when a subsequent scan produces fewer findings
Duplicate issues created per vulnerability when retry logic re-queued the same vulnerability for batch submission
Azure Entra access review evidence collection for Government cloud environments where incorrect URL construction caused a 404 "Invalid version" error