Skip to main content

Rapid7 Nexpose Data Warehouse

Rapid7 Nexpose is an on-premises vulnerability scanner, which allows you to export data to an external data warehouse. You can use the Rapid7 Nexpose Data Warehouse connector to bring host and security data from your data warehouse into Brinqa to construct a unified view of your attack surface and strengthen your cybersecurity posture.

This document details the information you must provide for the connector to authenticate with Rapid7 Nexpose and how to obtain that information from Rapid7. See create a data integration for step-by-step instructions on setting up the integration.

Required connection settings

When setting up a data integration, select Rapid7 Nexpose Data Warehouse from the Connector drop-down. If you cannot find the connector in the drop-down, make sure you have installed it first. You must provide the following information to authenticate Rapid7 Nexpose Data Warehouse with Brinqa:

  • Server name: The URL of your PostgreSQL server.

  • Server port: The TCP/IP port of your PostgreSQL server. The server port defaults to 5432.

  • Database name: The name of your Nexpose data warehouse database.

  • User and Password: The login credentials for the PostgreSQL Server. The user must have read access to the database.

Additional settings

The Rapid7 Nexpose Data Warehouse connector contains additional options for specific configuration:

  • Fetch size: Set the number of rows per batch during query processing. The default is 1000.

  • Use SSL: Use a SSL connection to the target database during the data import process. This ensures that all data transmitted from the warehouse is encrypted in transit.

  • Skip certificate verification: Select this option to allow for untrusted certificates.

Types of data to retrieve

The Rapid7 Nexpose Data Warehouse connector can retrieve the following types of data from the data warehouse:

Table 1: Data retrieved from Rapid7 Nexpose

Connector ObjectRequiredMaps to Data Model
AssetYesHost
Remediated VulnerabilityNoNot mapped
VulnerabilityYesVulnerability
Vulnerability DefinitionYesVulnerability Definition
Vulnerability ExceptionNoNot mapped
info

The Rapid7 Nexpose Data Warehouse connector does not currently support operation options for the types of data it retrieves.

For detailed steps on how to view the data retrieved from Rapid7 Nexpose Data Warehouse in the Brinqa Platform, see How to view your data.

Attribute mappings

Click the tabs below to view the mappings between the source and the Brinqa data model attributes.

Asset

Table 2: Asset attribute mappings

Source Field NameMaps to Attribute
address.getIpAddressipAddresses, privateIpAddresses
address.getMacAddressmacAddresses
assessed_for_policiesLocal variable
assessed_for_vulnerabilitiesLocal variable
assetIduid
associatedValues.assetGroups.getLocal variable
associatedValues.tags.gettags
categoriescategories
credential_statusLocal variable
descriptiondescription
hostnamehostnames, publicDnsName, privateDnsName
instance idcloudInstanceId
last_assessed_for_vulnerabilitieslastSeen, lastScanned
namename
os_architectureLocal variable
os_cpeLocal variable
os_descriptionos
os_familyLocal variable
os_nameLocal variable
os_systemLocal variable
os_typeLocal variable
os_vendorLocal variable
os_versionLocal variable
publicIpAddress.getpublicIpAddress
risk_modifierLocal variable
sitesLocal variable
statusstatus
Vulnerability

Table 3: Vulnerability attribute mappings

Source Field NameMaps to Attribute
asset_idtargets
first_foundfirstFound
host_namehostnames
ip_addressipAddresses
keyLocal variable
last_fixedlastFixed
last_foundlastFound
nexpose_idtype
portport
proofresults
protocolprotocol
reintroduced_datereintroducedDate
serviceservice
severitysourceSeverity
severityScoreseverity
statusstatus, statusCategory
typecategories
uiduid
Vulnerability Definition

Table 4: Vulnerability Definition attribute mappings

Source Field NameMaps to Attribute
categoriescategories
cvescveIds, cveRecords
cvss_scorecvssV2BaseScore
cvss_vectorcvssV2Vector
cvss_v3_scorecvssV3BaseScore
cvss_v3_vectorcvssV3Vector
cvssv2.getAttackComplexitycvssV2Ac
cvssv2.getAttackVectorcvssV2Av
cvssv2.getAuthenticationcvssV2Au
cvssv2.getAvailabilitycvssV2Ai
cvssv2.getConfidentialitycvssV2Ci
cvssv2.getExploitabilitycvssV2E
cvssv2.getIntegritycvssV2Ii
cvssv2.getRemediationLevelcvssV2Rl
cvssv2.getReportConfidencecvssV2Rc
cvssv2.getSeveritycvssV2Severity
date_addedsourceCreatedDate
date_modifiedsourceLastModified
date_publishedpublishedDate
denial_of_serviceLocal variable
descriptiondescription
exploitsexploits
exploit_skill_levelLocal variable
malwareKitsmalware
malware_popularityLocal variable
patch_availablepatchAvailable
pci_severityLocal variable
pci_statusLocal variable
recommendationrecommendation
risk_scoreLocal variable
score.getBaseScorecvssV2BaseScore, cvssV3BaseScore
severitysourceSeverity, severity
titlename, summary
uiduid
urlsreferences
vulnerability_idLocal variable
info

Local variable indicates that the field is processed within a specific context, such as a particular workflow or calculation. Unlike other attributes, local variables aren't mapped to the unified data models. They only exist on the source data model.

Operation options

The Rapid7 Nexpose Data Warehouse connector supports the following operation options:

Table 5: Rapid7 Nexpose Data Warehouse connector operation options

Connector ObjectOptionAll Possible ValuesDescriptionExample
Vulnerabilityasset_idAny Rapid7 Nexpose asset ID(s)A comma-separated list of asset IDs. You can use this option to filter vulnerabilities by their associated asset IDs.Key: asset_id, Value: 12345,67890. This key and value combination only retrieves vulnerabilities associated with the specified asset IDs.
nexpose_idAny Rapid7 Nexpose vulnerability ID(s)A comma-separated list of Nexpose IDs. You can use this option to filter vulnerabilities by their associated nexpose IDs.Key: nexpose_id, Value: CVE-2021-34527,CVE-2022-12345. This key and value combination only retrieves vulnerabilities with the specified Nexpose IDs.
titleAny Rapid7 Nexpose vulnerability title(s)A comma-separated list of vulnerability titles. You can use this option to filter vulnerabilities by their associated titles.Key: title, Value: certificate-common-name-mismatch,insecure-http-methods. This key and value combination only retrieves vulnerabilities with the specified titles.

APIs

The Rapid7 Nexpose Data Warehouse connector connects directly to an external data warehouse using a PostgreSQL connection and runs SQL queries against the data warehouse schema to retrieve data. Specifically, it uses the following queries:

Asset
SELECT
asset_id,
host_name,
host_type,
os_type,
os_vendor,
os_family,
os_name,
os_version,
os_architecture,
os_description,
os_system,
os_cpe,
risk_modifier,
assessed_for_vulnerabilities,
assessed_for_policies,
credential_status,
sites,
last_assessed_for_vulnerabilities
FROM
dim_asset
{% if syncToken %}
WHERE
last_assessed_for_vulnerabilities >= TO_TIMESTAMP(?::double precision / 1000)
{% endif %}
Remediated Vulnerability
SELECT
rdate.asset_id,
rdate.vulnerability_id,
rdate.day AS last_fixed
FROM
fact_asset_vulnerability_remediation_date AS rdate
{% if syncToken %}
WHERE
rdate.day >= TO_TIMESTAMP(?::double precision / 1000)
{% endif %}
Vulnerability
SELECT
vuln.nexpose_id AS nexpose_id,
vuln.vulnerability_id AS vulnerability_id,
asset.asset_id AS asset_id,
asset.host_name AS host_name,
host(asset.ip_address) AS ip_address,
inst.proof AS raw,
htmltotext(inst.proof, false) AS proof,
inst.status AS type,
inst.key AS key,
inst.service AS service,
inst.port AS port,
inst.protocol AS protocol,
vuln.severity AS severity,
vuln.severity_score AS severity_score,
inst.date AS date_tested,
fdate.date AS first_found,
asset.last_assessed_for_vulnerabilities AS last_found
FROM
fact_asset_vulnerability_instance AS inst
JOIN fact_asset_vulnerability_finding AS fdate USING (asset_id, vulnerability_id)
JOIN dim_vulnerability AS vuln USING (vulnerability_id)
JOIN dim_asset AS asset USING (asset_id)
{% if whereCondition %}
WHERE
{% if syncToken %}
asset.last_assessed_for_vulnerabilities >= TO_TIMESTAMP(?::double precision / 1000)
{% endif %}
{% if syncToken and title %}
AND
{% endif %}
{% if title %}
vuln.title LIKE ?
{% endif %}
{% if (syncToken or title) and nexposeId %}
AND
{% endif %}
{% if nexposeId %}
vuln.nexpose_id = ?
{% endif %}
{% if (syncToken or title or nexposeId) and assetId %}
AND
{% endif %}
{% if assetId %}
asset.asset_id = ?
{% endif %}
{% endif %}
Vulnerability Exception
SELECT
vulnerability_exception_id,
vulnerability_id,
scope,
scope_description,
reason,
COALESCE(additional_comments, '') AS additional_comments,
submitted_date,
submitted_by,
review_date,
reviewed_by,
review_comment,
expiration_date,
status,
site_id,
asset_id,
port,
key,
group_id
FROM
dim_vulnerability_exception
{% if syncToken %}
WHERE
expiration_date >= TO_TIMESTAMP(?::double precision / 1000)
{% endif %}
Vulnerability Definition
SELECT
nexpose_id,
vulnerability_id,
htmltotext(title, false) AS title,
htmltotext(description, false) AS description,
severity_score AS severity,
pci_severity_score AS pci_severity,
pci_status,
pci_adjusted_cvss_score,
risk_score,
cvss_vector,
ROUND(cvss_score::numeric, 1) AS cvss_score,
cvss_v3_vector,
ROUND(cvss_v3_score::numeric, 1) AS cvss_v3_score,
denial_of_service,
exploit_skill_level,
malware_popularity,
date_published,
date_added,
date_modified
FROM
dim_vulnerability
{% if syncToken %}
WHERE
date_modified >= TO_TIMESTAMP(?::double precision / 1000)
{% endif %}

Changelog

The Rapid7 Nexpose Data Warehouse connector has undergone the following changes:

Table 6: Rapid7 Nexpose Data Warehouse connector changelog

VersionDescriptionDate Published
3.0.17- Fixed an issue where vulnerability statuses were not getting updated despite successful syncs.
- Added the REINTRODUCED_DATE attribute to the Vulnerability object. If there is a reintroduced date present on a vulnerability, it is treated as reopened.
- Renamed the following attributes on the Host object:
    - HOSTNAME → HOSTNAMES
    - PRIVATE_DNS_NAME → PRIVATE_DNS_NAMES
    - PUBLIC_DNS_NAME → PUBLIC_DNS_NAMES
    - PUBLIC_IP_ADDRESS → PUBLIC_IP_ADDRESSES
- Renamed the HOSTNAME attribute to HOSTNAMES on the Vulnerability object.
- Renamed the PATCH_AVAILABLE attribute to PATCHABLE on the Vulnerability Definition object.
May 28th, 2025
3.0.16Changed the VULNERABILITY_ID attribute type on the Vulnerability Definition object from string to integer.June 3rd, 2024
3.0.15Changed the ASSESSED_FOR_VULNERABILITIES attribute type on the Host object from string to boolean.May 15th, 2024
3.0.14Fixed an issue where the CREDENTIAL_STATUS attribute on the Host object was incorrectly set to the boolean type.March 27th, 2024
3.0.13Code clean up and general maintenance.March 26th, 2024
3.0.12Fixed an issue where the connector was not pulling in data.March 21st, 2024
3.0.11Updated to fetch azure_vmid as the Instance ID for Azure assets.March 4th, 2024
3.0.10Added a 'fixed' status if the remediation_date is set in the source.February 15th, 2024
3.0.9Added the CATEGORIES attribute to the Vulnerability object to store information about the vulnerability type.February 12th, 2024
3.0.8Enhanced to normalize hostnames retrieved from Rapid7 Nexpose Data Warehouse.November 26th, 2023
3.0.7Segregated local process files to avoid conflicts between multiple syncs.October 24th, 2024
3.0.6Code clean up and general maintenance.January 30th, 2023
3.0.5.Code clean up and general maintenance.January 28th, 2023
3.0.4Code clean up and general maintenance.December 18th, 2022
3.0.3Improved how the connector generates asset names.December 18th, 2022
3.0.2Code clean up and general maintenance.December 16th, 2022
3.0.1Added missing descriptions to assets.December 15th, 2022
3.0.0Initial Integration+ release.December 15th, 2022