Snyk Connector
The following is not supported in Tenable FedRAMP Moderate environments. For more information, see the Tenable FedRAMP Product Offering.
The following steps allow you to configure this connector for use with Tenable Exposure Management from start to finish.
Connector Details
Tenable Exposure Management ingests Snyk code repository and container data, along with associated security findings, through the Snyk REST API.
| Details | Description |
|---|---|
|
Supported products |
|
|
Category |
SAST, SCA, IaC |
| Ingested data | Assets and Findings |
|
Ingested Asset Classes |
Code Repository, Container |
|
Integration type |
UNI directional (data is transferred from the connector to Tenable Exposure Management in one direction) |
|
Supported version and type |
SaaS (latest) |
Prerequisites and User Permissions
Before you begin configuring the connector, make sure to:
Generate a Snyk API Token
The Snyk connector supports two token types, depending on the level of access you need:
-
Group API token: Fetches data for all organizations under a specific group. Requires Group-level permissions.
-
Organization API token: Fetches data for a single, specific organization. Use this option if Group-level permissions are not available.
In Snyk:
-
Determine whether you need a Group or Organization API token based on the scope of data you want to ingest.
-
In the top navigation, go to Settings.
-
Select the Service accounts tab.
-
In the Name text box, type a name for the API token.
-
Select a role based on the access level (Group or Organization) you want to use for data retrieval.
-
Select API KEY, and then click Create service account.
-
Copy the API token to a safe location. You need it to configure the connector.
Add a Connector
To add a new connector:
-
In the left navigation menu, click Connectors.
The Connectors page appears.
-
In the upper-right corner, click
Add new connector.
The Connector Library page appears.
-
In the search box, type the name of the connector.
-
On the tile for the connector, click Connect.
The connector configuration options appear.
Configure the Connector
To configure the connector:
-
(Optional) In the Connector's Name text box, type a descriptive name for the connector.
-
From the Platform URL drop-down, select the region that matches your Snyk account URL. To identify your region, check the URL you use to access Snyk:
-
If your URL starts with https://app.snyk.io, select US-01.
-
If your URL starts with https://app.us.snyk.io, select US-02.
-
If your URL starts with https://app.eu.snyk.io, select EU-01.
-
If your URL starts with https://app.au.snyk.io, select AU-01.
-
-
In the API Token text box, type the Snyk API token you generated in the prerequisites.
-
Data pulling configuration: This configuration has dynamic settings tailored to the specific connector and integration type. Below are the configurations relevant to this connector.
-
For Organizations, select one of the following options:
-
To fetch data for all organizations associated with your API token, select Fetch all organizations.
-
To fetch data for specific organizations only, select Fetch selected Snyk Organizations, and then from the drop-down, select one or more organizations.
-
-
From the Findings Types drop-down, select one or more finding types to ingest. The available options are SAST and SCA.
-
For the Exclude Low severity findings checkbox, select to exclude findings with a Low severity level from the sync. This option is selected by default.
-
In the Asset Retention text box, type the number of days after which you want assets to be removed from Tenable Exposure Management. If an asset has not been detected or updated within the specified number of days, it is automatically removed from the application, ensuring your asset inventory is current and relevant.
Tip: For more information, see Asset Retention.
-
-
In the Test connectivity section, click the Test Connectivity button to verify that Tenable Exposure Management can connect to your connector instance.
-
A successful connectivity test confirms that the platform can connect to the connector instance. It does not, however, guarantee that the synchronization process will succeed, as additional syncing or processing issues may arise.
-
If the connectivity test fails, an error message with details about the issue appears. Click Show tests for more information about the exact error.
-
-
In the Connector scheduling section, configure the time and day(s) on which you want connector syncs to occur.
Tip: For more information, see Connector Scheduling. -
Click Create. Tenable Exposure Management begins syncing the connector. The sync can take some time to complete.
-
To confirm the sync is complete, do the following:
-
Navigate to the Connectors page and monitor the connector's status. Sync is complete once the connector status is Connected.
-
View the sync logs for the connector to monitor the logs for a successful connection.
-
Snyk in Tenable Exposure Management
Locate Connector Assets in Tenable Exposure Management
As the connector discovers assets, Tenable Exposure Management ingests those devices for reporting.
To view assets by connector:
-
In Tenable Exposure Management, navigate to the Assets page.
-
In the Filters section, under 3rd Party Connectors, click the connector name for which you want to view assets.
The asset list updates to show only assets from the selected connector.
-
Click on any asset to view Asset Details.
Locate Connector Findings in Tenable Exposure Management
As the connector discovers individual findings, Tenable Exposure Management ingests those findings for reporting.
To view findings by connector:
-
In Tenable Exposure Management, navigate to the Findings page.
-
In the Filters section, under 3rd Party Connectors, click the connector name for which you want to view findings.
The findings list updates to show only assets from the selected connector.
-
Click on any asset to view Finding Details.
Data Mapping
Exposure Management integrates with the connector via API to retrieve relevant weakness and asset data, which is then mapped into the Exposure Management system. The following tables outline how fields and their values are mapped from the connector to Exposure Management.
Code Repository Mapping
| Tenable Exposure Management UI Field |
Snyk Field |
|---|---|
| Asset Name | attributes.display_name |
|
Asset Class |
targets |
|
Code Repository URL |
attributes.url |
|
Created Date |
attributes.created_at |
|
First Seen |
attributes.created_at |
|
External Tags |
tags lifecycle environment business_criticality |
|
Visibility |
attributes.is_private |
|
Assets > Custom Attributes |
target_reference (branch info) |
Container Mapping
| Tenable Exposure Management UI Field |
Snyk Field |
|---|---|
|
Asset Name |
attributes.name |
|
Created Date |
attributes.created_at |
|
First Observation Date |
attributes.created_at |
|
Container Image Tags |
attributes.tags |
|
External Tags |
tags lifecycle environment business_criticality |
|
Assets > Custom Attributes |
target_reference (branch info) |
Finding Mapping
| Tenable Exposure Management UI Field |
Snyk Field |
|---|---|
|
Finding Type |
code_repository = SOURCE_CODE_ANALYSIS container_image = VULNERABILITY |
|
Finding Name |
attributes.title |
|
CVEs |
attributes.problems |
|
CWEs |
attributes.classes |
|
Severity |
attributes.effective_severity_level |
|
Score |
attributes.effective_severity_level |
|
State |
status |
|
First Seen |
attributes.created_at |
|
Last Seen |
attributes.updated_at |
|
Last Fixed At |
resolution.resolved_at |
Finding Status Mapping
|
Tenable Exposure Management Status |
Snyk Status |
|---|---|
|
Active |
status = open and ignored = false |
|
Fixed |
status = open and ignored = true status = resolved |
Finding Severity Mapping
|
Tenable Exposure Management Severity |
Snyk Score |
|---|---|
|
Critical |
CVSS: 9.0 - 10.0 Severity: critical |
|
High |
CVSS: 7.0 - 8.9 Severity: high |
|
Medium |
CVSS: 4.0 - 6.9 Severity: medium |
|
Low |
CVSS: 0.1 - 3.9 Severity: low |
|
None |
CVSS: 0.0 Severity: info |
Note: For Snyk, Tenable uses the attributes.effective_severity_level field to determine severity.
Status Update Mechanisms
Every day, Tenable Exposure Management syncs with the vendor's platform to receive updates on existing findings and assets and to retrieve new ones (if any were added).
The table below describes how the status update mechanism works in the connector for findings and assets ingested into Tenable Exposure Management.
|
Update Type in Tenable Exposure Management |
Mechanism (When?) |
|---|---|
|
Archiving Assets |
|
|
Change a Finding status from "Active" to "Fixed" |
|
Uniqueness Criteria
Tenable Exposure Management uses defined uniqueness criteria to determine whether an ingested asset or finding should be recognized as a distinct record. These criteria help define how assets and findings are identified and counted from each connector.
Tip: For more information, see Asset Deduplication in Tenable Exposure Management
The uniqueness criteria for this connector are as follows:
|
Data |
Uniqueness Criteria |
|---|---|
|
Asset (Code Repository) |
id (from the Targets API) |
|
Asset (Container) |
id (from the Projects API) |
|
Finding |
id (from the Issues API) |
API Endpoints in Use
The API endpoints used by this connector vary depending on the token type you configure:
-
Group-level access: If you generate a Group API token, the connector fetches data for all organizations under that group.
-
Organization-level access: If you generate an Organization API token, the connector fetches data for a single, specific organization.
|
API |
Use in Tenable Exposure Management |
Permissions required |
|---|---|---|
|
|
Retrieve available Snyk organizations |
Group-level access or Organization-level access |
|
|
Retrieve targets per organization and map to assets |
Group-level access or Organization-level access |
|
|
Retrieve projects per organization |
Group-level access or Organization-level access |
|
|
Retrieve security findings per project and map to vulnerabilities |
Group-level access or Organization-level access |
Data Validation
This section shows how to validate and compare data between Tenable Exposure Management and the Snyk platform.
Asset Data Validation
Objective: Ensure the number of assets in Snyk aligns with the number of assets displayed in Tenable Exposure Management.
In Snyk:
-
Navigate to your organization.
Note the number of targets listed. Each target corresponds to a Code Repository asset in Tenable Exposure Management.
-
To view container assets, navigate to your organization's project list and filter for Dockerfile projects. Each Dockerfile project corresponds to a Container asset in Tenable Exposure Management.
In Tenable Exposure Management:
-
Compare the total number of assets between Snyk and Tenable Exposure Management.
Expected outcome: The total numbers returned in Snyk and Tenable Exposure Management should match.
If an asset is not visible in Tenable Exposure Management, check the following conditions:
-
The asset was archived because it did not return in the connector's last sync.
Tip: To learn more on how assets are archived and findings change status, see Status Update Mechanisms. -
The asset was excluded because it has no associated findings and the connector is configured to exclude assets without findings.
Finding Data Validation
Objective: Ensure the number of issues in Snyk aligns with the number of findings in Tenable Exposure Management.
In Snyk:
-
Navigate to the Issues tab at the Group or Organization level.
Note the total number of issues listed. Each issue corresponds to a finding in Tenable Exposure Management.
In Tenable Exposure Management:
-
Compare the total number of findings between Snyk and Tenable Exposure Management.
Expected outcome: The total numbers returned in Snyk and Tenable Exposure Management should match.
If a finding is missing from Tenable Exposure Management or no longer active, check the following conditions:
-
The finding is marked as Fixed. Findings with a resolved status or marked as ignored in Snyk appear under the Fixed state on the Findings screen.
-
The finding was excluded because it has a Low severity level and the Exclude Low severity findings option is enabled.
-
The finding no longer appears because its related asset was archived.
Tip: To learn more on how assets are archived and findings change status, see Status Update Mechanisms.



