Snyk
Snyk is a cybersecurity platform that scans for and surfaces vulnerabilities across your codebase.
Integrating Snyk with Cortex allows you to:
View vulnerabilities on entity pages in Cortex, quickly connecting issues to entities and their owners
Enhance the Snyk experience by aggregating issues into an entity's event timeline so they can be understood in the context of other events, like deploys and on-call incidents
Use Scorecards to measure entity quality based on Snyk data and drive quality improvements to your security practices
How to configure Snyk with Cortex
Prerequisites
Before getting started:
Create a Snyk API token. The token will need the following read permissions:
View Organization Reports
: Lists reporting issue counts.View Organization
: Allows Cortex to get a flattened list of all projects across all orgs.View Project History
: Allows Cortex to get project history.View Project
: Lists issues for a project.
Configure the integration in Cortex
Once you've created an API token in Snyk, you can create a configuration from Snyk settings.
In Cortex, navigate to the Snyk settings page:
In Cortex, click your avatar in the lower left corner, then click Settings.
Under "Integrations," click Snyk.
Click Add configuration.
Configure the integration form:
API token: Enter the API token you generated in Snyk.
Region: Enter the Snyk region where your data is hosted. The default region is USA.
Click Save.
After saving your configuration, you are redirected to the Snyk integration settings page in Cortex. In the upper right corner of the page, click Test configuration to ensure Snyk was configured properly.
On this page, you'll also see a list of detected organizations pulled from Snyk, along with the unique Snyk ID and internal name associated with each organization.
How to connect Cortex entities to Snyk projects
Discovery
Cortex uses the Git repository as the "best guess" for the corresponding Snyk project since Snyk projects are connected to repositories. Cortex will search for all Snyk projects across all Snyk organizations and pull in projects associated with the same repository. For example, if the GitHub repo associated with your Snyk instance is my-org/repo
, then the entities in Cortex should also be associated with my-org/repo
.
Editing the entity descriptor
You can define projects under the x-cortex-snyk
block:
x-cortex-snyk:
projects:
- organization: org-name
projectId: 01234567-e65f-4b7b-a8b1-5b642894ec37
source: CODE
organization
The organizationID
or organizationSlug
in Snyk
✓
projectId
The projectID
defined in Snyk
✓
source
Enum field that can be set to either CODE
or OPEN_SOURCE
to indicate the Snyk product type; defaults to OPEN_SOURCE
when not set
You can define organization
with the organization ID or its slug in Snyk.
Using the Snyk integration
Viewing Snyk vulnerabilities on an entity
Once the Snyk integration is set up, you'll be able to find information about vulnerabilities for each entity linked to a discovered repo.
Entity page overview
On an entity details page overview, see vulnerabilities listed under the Code & security block. Within this block, issues and vulnerabilities are grouped by severity: Critical
, High
, Medium
, and Low
. Click into any of these to open a list of all applicable issues and vulnerabilities.
Entity code & security sidebar
In an entity's sidebar, click Code & security > Snyk to view detected issues and vulnerabilities from Snyk, including the associated organization name and project name.
Because Snyk aggregates problems as "issues," data pulled in from Snyk will be listed as issues, while data pulled in from a Git source will be listed as vulnerabilities.
Vulnerabilities pulled from Git sources display the project name and a severity tag. Each issue pulled from Snyk displays the following information, when available:
Title
Issue ID (linked to the issue in Snyk)
Publish date
Severity tag
Priority score tag
Event timeline
Issues from Snyk and vulnerabilities detected in Git appear in the entity's event timeline, which you can find from the Events link in the entity's sidebar. Issues and vulnerabilities display alongside other events, such as K8s changes, Git commits, and on-call incidents.
Scorecards and CQL
With the Snyk integration, you can create Scorecard rules and write CQL queries based on Snyk projects.
See more examples in the CQL Explorer in Cortex.
Snyk does not currently support aggregated issues in regions outside of the U.S.A. Please use .issues()
rather than .numOfIssues()
if in a non-U.S.A. region.
Background sync
Cortex fetches issues and vulnerabilities from Snyk and Git sources in real time. Depending on the volume of data, it may take additional time for the data to load on an entity page.
Projects from Snyk are synced every 6 hours.
Still need help?
The following options are available to get assistance from the Cortex Customer Engineering team:
Email: [email protected], or open a support ticket in the in app Resource Center
Chat: Available in the Resource Center
Slack: Users with a connected Slack channel will have a workflow added to their account. From here, you can either @CortexTechnicalSupport or add a
:ticket:
reaction to a question in Slack, and the team will respond directly.
Don’t have a Slack channel? Talk with your Customer Success Manager.
Last updated
Was this helpful?