Wiz Connector

Wiz is a cloud security platform that scans every layer of cloud environments without agents to provide complete visibility into every technology running in the cloud. 

What is the Wiz API Connector?

The Wiz API Connector creates a secure bridge between your Wiz cloud security platform and Qualys ETM. When configured, it automatically transfers asset inventory and security findings through scheduled API calls. Qualys ETM then processes this data by:

  • Deduplicating redundant entries
  • Normalizing data formats
  • Enriching findings with additional context
  • Calculating risk scores using TruRisk
Category  Supported Asset Type Supported Finding Type
API Connector Host Asset Vulnerability

Prerequisites

These are the required configurations to successfully create a Wiz connection with Qualys ETM.

User Roles and Permissions

You need the following Wiz API Access information to configure the connection:

Refer https://docs.wiz.io/wiz-docs/docs/qualys-integration for the detailed steps to generate the required information.

For quick reference on how to obtain the required values, follow the steps below.

API Endpoint URL

Your Wiz API Endpoint URL follows the format below.

https://api.<TENANT_DATA_CENTER>.<ENVIRONMENT>

Where,

  • The <TENANT_DATA_CENTER> is the regional data center of your wiz account(e.g., us1, us2, or eu1)
  • The <ENVIRONMENT> is one of the following three - app.wiz.io, app.wiz.us, or gov.wiz.io.
Type of Environment Value Example

Commercial (Standard)

app.wiz.io

https://api.us17.app.wiz.io

Gov (FedRAMP)

app.wiz.us

https://api.us17.app.wiz.us

Commercial AWS GovCloud

gov.wiz.io

https://api.us17.gov.wiz.io

The above values are samples. Use the appropriate Tenant Data Center for your purpose.

How to obtain the Tenant Data Center

At the top right of your Wiz portal, click the User icon > Tenant Info (here). 

At the left side, click Data Center and Regions (here). Copy the Tenant Data Center.

Client ID and Client Secret

To obtain the Client ID and Client Secret values, you need to create a service account with the required permissions.

Log in to your Wiz account with the Project Admin role.

  1. Navigate to Settings > Service Accounts
  2. Click Add Service Accounts
  3. Provide a Service Account Name
  4. Select the Type as Custom Integration - GraphQL
  5. Select the projects to limit access to
  6. Select the read:vulnerabilities permission in the API Scopes 
  7. Click Add Service Account
  8. The page displays a Client ID and Client Secret. Securely store these values for later use

Token URL

Provide the Token URL based on the type of your Wiz Tenant:

Tenant

Endpoint

Wiz Commercial

https://auth.app.wiz.io/oauth/token

Wiz for Gov (FedRAMP)

https://auth.app.wiz.us/oauth/token

Wiz Commercial hosted on AWS GovCloud

https://auth.gov.wiz.io/oauth/token

Connector Configuration

Let's create our first Wiz connection. Follow the steps below to get started.

Basic DetailsBasic Details

  1. Provide the Connector's Name and Description.
  2. Select the type of findings you want to import or export - currently, we support Vulnerability.
  3. Select the Asset Type - currently we support Host Asset.
    The following screenshot displays the Basic Details fields.
  4. Next, provide the API authentication details of the Wiz environment. You need to provide the following.

    1. Token URL

    2. API Endpoint URL

    3. Client ID

    4. Client Secret

These values can be obtained by following the steps laid out in the User Roles and Permissions section.

Data ModelData Model

The Wiz API Connector offers an out-of-box data model mapping for you to map with Qualys ETM schema. You can view the schema to understand the attributes in the data model.

Transform MapsTransform Maps

Transform Maps ensure the data is transformed correctly during the import or export process.

The Wiz API Connector offers an out-of-box transform map for you to proceed without further configuration. View the map to understand the data transformation or clone the map to edit its configurations.

Click Create New for a new Transform Map.

Perform the following steps to configure a Transform Model:

  1. Transform Map Name: Enter a unique name for the Transform Map. This name helps identify the specific transformation configuration within this connector.
  2. Source Data Model: Select the data model that serves as the input for the transformation. This is the model from which data will be extracted.
  3. Target Data Model: Choose the data model that receives the transformed data. This model defines how the data will be structured after the transformation.

    Refer the following Transform Map screenshot:

To learn more about the data mapping from Wiz to Qualys ETM, refer to Data Model Mapping.

Fields Mapping

The Fields Mapping section maps fields from the Source Data Model to the Target Data Model.

  1. Source Field: Specify the field in the Source Data Model containing the transformed data.
  2. Data Type: Indicate the data type of the Source Field (e.g., string, integer, date).
  3. Target Field: Designate the corresponding field where the transformed data will be placed in the Target Data Model.

Click Add to create and display the mapping for the Source Field, Data Type, and Target Field below the section. This visual helps ensure that all necessary fields are mapped correctly and allows easy verification and adjustments.

ProfileProfile

Create a profile for your connector. A profile decides the connector status, execution schedule and transform map to choose. The connector follows the configurations of this profile for all future executions.

Click the "+" to create a new profile.

In the Add Profile screen, provide the necessary inputs for your new profile.

Provide a Name and Description.

Select the required Transform Map for the data mapping.

The Detection of DataTypes determine which findings to select for the profile. The Asset Types determine the required resource whose findings should be ingested by Qualys ETM.

The Filter field let's you add snippets of code to further determine what data should be parsed. The filter query uses GraphQL queries to filter the data. 

Sample Filter:

{"assetId": ["xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]}

{"vendorSeverity": ["LOW"],"status": ["OPEN"],"detectionMethod": ["PACKAGE"]}

Click here to learn more about using filters.

The Status field determines whether the connector should be in Active or Inactive state after creation. 

Lastly, the Schedule section lets you either create a Single Occurrence schedule or a Recurring schedule. Provide the exact date and time for the Single Occurence execution and provide the Start and End date/time for the Recurring schedule.

ScoringScoring

The Scoring screen lets you map non-CVE vulnerability scores from your vendors to Qualys Detection Score (QDS) system.

Score mapping screen.

You have two columns with 5 input fields in each of them. These fields correspond to a specific severity starting from the least severe (1), to the most severe (5).

Fill out all 5 rows to create a comprehensive score mapping. This allows for translation between Wiz scoring systems and Qualys' Detection Score.

The specifics of the mapping is explained below.

Expected Wiz Values - Enter the Wiz “vendor severity” for non-CVE vulnerabilities.
This can be alphanumeric values. (e.g., "NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL").

Severity - This column is pre-populated with severity levels from 1-5. These represent the severity levels in Qualys. The Source Value must be mapped such that it utilizes these 5 severity levels.

QDS - Enter the corresponding Qualys Detection Score. Use values from 0-100, where higher numbers indicate higher severity.

Default Severity

Below the scoring map, find the 'Default Severity' dropdown menu.

Select a default severity level from 1-5, this is applied when a vendor's score for a non-CVE vulnerability doesn't match any 'Expected Source Value' in your mapping table.

Select Identification RulesSelect Identification Rules

The Identification Rules are a set of out-of-the-box precedence rules set by Qualys CSAM. The connector discovers findings based on the order set by the selected Identification Rules.

You can proceed to the next step without making any changes to this screen.

Select Identification Rules screen.

If you don't want to choose a specific rule, turn off the toggle next to it. But, ensure that at least one rule is selected.

To learn more about the different rules and options present in this screen, refer to the CSAM Online Help.

Once you are done with all the configuration, review the configurations provided in the previous steps. Ensure all details are correct and complete. Confirm the setup to finalize the configuration of the API connector.

Save and run the connector to process the data accordingly, transforming and importing it as per the configurations set.

How Does a Connection Work?

The Wiz connector functions through configured profiles that determine what data gets synchronized and when.

A Connection usually involves creating a profile that defines which vulnerabilities to import based on detection data types and asset types. The connector then automatically executes according to the schedule (or on-demand), pulling vulnerability data from Wiz into Qualys ETM where it can be viewed alongside other security findings.

With the Wiz API Connector successfully configured, you are almost ready to view all the assets and findings of your Wiz environment.

In the Connector screen, you can find your newly configured connector listed and marked in the Processed state.

Connector States

A successfully configured connector goes through 4 states.

  1. Registered - The connector is successfully created and registered to fetch data from the vendor.
  2. Scheduled - The connector is scheduled to execute a connection with the vendor.
  3. Processing - A connection is executed and the connector is fetching the asset and findings data.
  4. Processed - The connector has successfully fetched the assets, it may still be under process of fetching the findings. Wait for some more time for the connector to fetch the findings completely.

The Processed state indicates that the Connector is successfully configured but it is under the process of importing all your assets and findings. This process (specifically for findings) may take some time.

This entire process may take up to 2 hours for completion. Once, it is done. You can find the imported data in Enterprise TruRisk Management (ETM).

View Assets and Findings in ETM

Navigate to Enterprise TruRisk Management to get started with analyzing your Connector's vulnerability findings.

You can view the assets imported from the Wiz connection by navigating to Inventory tab of ETM.

Go to Assets > Host to find all of your imported assets.

Use the token, inventory: (source: `Wiz`) to view all the imported Wiz assets.

Here, you can learn about the criticality of your assets and their Risk Scores. Click any of the asset to find more details about them.

Next, you can navigate to the Risk Management tab to view your vulnerability findings.

Go to Findings > Vulnerability to view all the discovered vulnerabilities.

Use the token, finding.vendorProductName: `Wiz` to view all the discovered Wiz vulnerabilities.

The imported vulnerability findings from Wiz provide rich context and it integrates seamlessly with Qualys' native TruRisk scoring system. Use these findings in the Qualys ETM to enhance your Risk Prioritization workflows and make informed business decisions.

To know more about ETM, refer to the Qualys ETM Documentation.

Additional Information

Additional Information related to Wiz Connector.

API Reference

Here are the APIs executed for the Wiz connection.

Name

Filters

Endpoint

Auth API

N/A

https://auth.app.wiz.io/oauth/token

GraphQL 

Finding Type:

VULNERABILITIES

Asset Type:

VIRTUAL_MACHINE

https://api.us17.app.wiz.io/graphql 

Data Model Mapping

This section explains the attribute mappings of the values from Wiz and Qualys ETM.

Wiz Vulnerability Transformation Mapping

Wiz Attribute Name Qualys Attribute Name
vulnerableAsset.name assetName
vulnerableAsset.id externalAssetId
name findingName
id sourceFindingId
vendorSeverity findingSeverity
CVEDescription findingDescription
description detectionResult
detectionMethod detectectionMethod
firstDetectedAt findingFirstFoundOn
hasCisaKevExploit isExploitAvailable
lastDetectedAt findingLastFoundOn
link references
name cveId
portalUrl sourceFindingURL
remediation recommendation
score detectionScore

status

Available values:
Open | Resolved | Rejected

findingStatus

Available values:
Active | Fixed | Ignored

vulnerableAsset.ipAddresses[] ipAddress
vulnerableAsset.operatingSystem OperatingSystem

vulnerableAsset.cloudPlatform

Available values:

AWS | GCP | Azure | OCI | Alibaba

cloudPlatform

Available values:

EC2 | GCP | AZURE | OCI | ALIBABA
vulnerableAsset.providerUniqueId cloudInstanceId

Related Topics

Function Picker