Skip to content
Sign in

Qualys

File Upload

Export software inventory from Qualys (the Global AssetView and Vulnerability Management modules) and upload it with the SIM template.

Qualys aggregates application and asset data through its scanning infrastructure and cloud inventory. The relevant sources for this export are:

  • Global AssetView, Centralized inventory of endpoints and applications.
  • Applications / Installed Software View, Lists all detected software, versions, and publishers.
  • Qualys API (KnowledgeBase and Host List Detection endpoints), Enables programmatic access to the same data.
  • Access to Qualys Cloud Platform → AssetView / Global IT Asset Inventory.
  • User role with Read/Download permissions for Inventory and Applications modules.
  • Asset data synchronized from recent vulnerability or inventory scans.
  • Valid Qualys API credentials (username and password or token).
  • Network access to the Qualys API endpoint (e.g. https://qualysapi.qualys.com).
  • API access enabled in your subscription.
  • A working environment with PowerShell, curl, or Postman for REST API requests.

Pick a method by the access you have and how much you need to automate.

Option 1: Qualys AssetView / Global IT Asset Inventory (UI export)

Section titled “Option 1: Qualys AssetView / Global IT Asset Inventory (UI export)”

This is the most straightforward approach for manual exports.

  1. Log in to Qualys Cloud Platform.
  2. Navigate to Global AssetView → Applications.
  3. Use filters to include all desired assets (e.g. all sites or specific tags).
  4. Click Export → CSV.
  5. Choose the fields:
  • Host Name / Asset Name
  • Software Name
  • Version
  • Vendor
  1. Save the file as Qualys_SIM_Export.csv.

Note: Depending on your module setup, this data may appear under Inventory → Applications or Software views.

Section titled “Option 2: Qualys API (recommended for automation)”

The Qualys API provides a scalable way to extract application inventory data across multiple endpoints.

Step 1: Retrieve host list and application data

Section titled “Step 1: Retrieve host list and application data”

Use the Host List Detection API, which includes installed software and version information.

Replace <YOUR_QUALYS_API_BASE_URL> with your Qualys platform’s API URL. The base URL depends on your Qualys environment (e.g., US, EU, APJ). You can find the correct API endpoint in the Qualys UI under Help → About. Ensure the ExportPath exists.

Example PowerShell Script

Terminal window
# Qualys SIM Template Export Script
# Requires Qualys API credentials and access rights
# IMPORTANT:
# Replace the base URL below with the correct API endpoint for your Qualys platform
# e.g. https://qualysapi.qualys.com, https://qualysapi.eu.qualys.com, etc.
$QualysUrl = <YOUR_QUALYS_API_BASE_URL>
$Username = "api_user"
$Password = "api_password"
$ExportPath = "C:\Exports\Qualys_SIM_Export.csv"
# Ensure export directory exists
$ExportDir = Split-Path -Path $ExportPath -Parent
if (-not (Test-Path -Path $ExportDir)) {
New-Item -ItemType Directory -Path $ExportDir -Force | Out-Null
}
# Basic Auth header
$EncodedAuth = [Convert]::ToBase64String(
[Text.Encoding]::ASCII.GetBytes("${Username}:${Password}")
)
$Headers = @{ "Authorization" = "Basic $EncodedAuth" }
# Qualys endpoint and parameters
$Endpoint = "$QualysUrl/api/2.0/fo/asset/host/vm/detection/"
$Body = @{
action = "list"
show_software = "1"
truncation_limit = "0" # 0 = no truncation (return all results)
}
try {
# Request installed software data (Qualys FO APIs typically use POST + form body)
$Response = Invoke-RestMethod -Uri $Endpoint -Headers $Headers -Method Post -Body $Body
# Parse XML response
$ExportData = @()
# Handle case where HOST might be array or single object
$Hosts = @($Response.HOST_LIST.HOST)
foreach ($Host in $Hosts) {
$DeviceName = $Host.NETBIOS_NAME
# Check if SOFTWARE_LIST exists and has SOFTWARE
if ($Host.SOFTWARE_LIST -and $Host.SOFTWARE_LIST.SOFTWARE) {
$SoftwareItems = @($Host.SOFTWARE_LIST.SOFTWARE)
foreach ($App in $SoftwareItems) {
$ExportData += [PSCustomObject]@{
"Device Name" = $DeviceName
"Software Name" = $App.NAME
"Software Version" = $App.VERSION
"Software Publisher" = $App.VENDOR
}
}
}
}
# Export to CSV
if ($ExportData.Count -gt 0) {
$ExportData | Export-Csv -Path $ExportPath -NoTypeInformation -Encoding UTF8
Write-Host "Export complete: $ExportPath ($($ExportData.Count) records)" -ForegroundColor Green
} else {
Write-Host "No data to export" -ForegroundColor Yellow
}
} catch {
Write-Host "Error: $($_.Exception.Message)" -ForegroundColor Red
exit 1
}

This script connects to Qualys, queries all scanned hosts, extracts their software lists, and exports the result to CSV in the format required for the Licenseware SIM Template.

The CSV header row must be exactly Device Name,Software Name,Software Version,Software Publisher.

  1. Open the Licenseware SIM Template.
  2. Go to the Software Inventory tab.
  3. Paste the CSV data into the template

Remove blank or extraneous rows before saving.

Then upload it on the SIM - Template data source. See SIM template.

IssueCauseResolution
Empty exportNo recent scan data availableRun a new inventory scan in Qualys and retry.
API authentication errorInvalid credentials or API not enabledVerify username/password and API access in Qualys admin settings.
Missing publisher dataSome software entries may lack vendor metadataLeave blank or fill manually before SIM import.
Partial results from APIPagination not handledUse &page= parameters or loop through paginated responses.
CSV encoding errorsFile saved in ANSISave file as UTF-8 before SIM import.
Device Name,Software Name,Software Version,Software Publisher
LAPTOP-001,Google Chrome,129.0.6668.90,Google LLC
SERVER-02,Microsoft SQL Server 2022,16.0.432,Microsoft Corporation
LAPTOP-004,Slack,4.39.95,Slack Technologies
SERVER-05,Adobe Acrobat DC,24.002.20933,Adobe Inc.