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.

Tip: For more information on how third-party integrations work, see Connectors.

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

Snyk Code (SAST)

Snyk Open Source (SCA)

Snyk Container

Snyk Infrastructure as Code (IaC)

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:

  1. Generate a Snyk API Token.

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:

  1. Determine whether you need a Group or Organization API token based on the scope of data you want to ingest.

  2. In the top navigation, go to Settings.

  3. Select the Service accounts tab.

  4. In the Name text box, type a name for the API token.

  5. Select a role based on the access level (Group or Organization) you want to use for data retrieval.

  6. Select API KEY, and then click Create service account.

  7. Copy the API token to a safe location. You need it to configure the connector.

Add a Connector

To add a new connector:

  1. In the left navigation menu, click Connectors.

    The Connectors page appears.

  2. In the upper-right corner, click Add new connector.

    The Connector Library page appears.

  3. In the search box, type the name of the connector.

  4. On the tile for the connector, click Connect.

    The connector configuration options appear.

Configure the Connector

To configure the connector:

  1. (Optional) In the Connector's Name text box, type a descriptive name for the connector.

  2. 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.

  3. In the API Token text box, type the Snyk API token you generated in the prerequisites.

  4. 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.
  5. 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.

  6. 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.
  7. Click Create. Tenable Exposure Management begins syncing the connector. The sync can take some time to complete.

  8. To confirm the sync is complete, do the following:

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:

  1. In Tenable Exposure Management, navigate to the Assets page.

  2. 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.

  3. 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:

  1. In Tenable Exposure Management, navigate to the Findings page.

  2. 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.

  3. 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

CVSS4.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

  • Asset that appears in Tenable Exposure Management and isn't returned on the next connector's sync.

  • Asset not seen for X days according to "Last Seen". See Asset Retention.

Change a Finding status from "Active" to "Fixed"

  • Finding status changes to resolved on the vendor's side.

  • Finding is marked as ignored on the vendor's side.

Note: Updates on the vendor side are reflected in Tenable Exposure Management only when the next scheduled connector sync time is complete (once a day).

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

/rest/orgs

Retrieve available Snyk organizations

Group-level access or Organization-level access

/rest/orgs/{org_id}/targets

Retrieve targets per organization and map to assets

Group-level access or Organization-level access

/rest/orgs/{org_id}/projects

Retrieve projects per organization

Group-level access or Organization-level access

/rest/orgs/{org_id}/issues?scan_item.id={project_id}&scan_item.type=project

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:

  1. Navigate to your organization.

    Note the number of targets listed. Each target corresponds to a Code Repository asset in Tenable Exposure Management.

  2. 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:

  1. Locate your connector assets.

  2. 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:

  1. 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:

  1. Locate your connector findings.

  2. 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.