Skip to main content

Veracode

CatalogScorecards

Overview

Veracode is an automated security platform that identifies and remediates vulnerabilities in software applications. DAST, SAST, and SCA are supported. Integrate Veracode with Cortex to drive insights into vulnerabilities on entities.

How to configure Veracode with Cortex

Prerequisite

Before getting started:

  • Create an API ID in Veracode.
    • If using XML, configure the ID with the following permissions:
      • get Detailed report
      • get Build list
      • get sandbox list
      • get application list
    • If using REST, configure the ID with the following permissions:
      • get application
      • get findings
  • Create a secret key in Veracode with the following roles:
    • Creator or Security Lead
    • Reviewer or Security Lead
    • Results API

Configure the integration in Cortex

  1. In Cortex, navigate to the Veracode settings page:
    1. In Cortex, click your avatar in the lower left corner, then click Settings.
    2. Under "Integrations", click Veracode.
  2. Configure the Veracode integration form:
    • Key ID: Enter your Veracode API ID.
    • Secret key: Enter the secret key associated with your API ID.
    • Region: Enter your Veracode instance region.
  3. Click Save.
caution

If you do not see the settings page you're looking for, you may not have permission to access that page. Please contact your admin for assistance.

caution

If you're using a self-hosted instance of Veracode, you'll need to verify that your Cortex instance is able to reach the Veracode instance.

We route our requests through a static IP address. Reach out to support at help@cortex.io to receive details about our static IP. If you're unable to directly allowlist our static IP, you can route requests through a secondary proxy in your network that has this IP allowlisted and have that proxy route traffic to your Veracode instance.

Advanced configuration

If you’re unable to expose your Veracode instance to be reachable by Cortex, you can set up a custom integration webhook.

How to connect Cortex entities to Veracode

Editing the entity descriptor

You can set up the Veracode integration for an entity by specifying its Veracode application names or sandboxes in the x-cortex-static-analysis section of the entity descriptor. For example:

x-cortex-static-analysis:
veracode:
applicationNames:
- My Application
- Second Application
sandboxes:
- applicationName: My Application
sandboxName: My Sandbox
- applicationName: Second Application
sandboxName: Second Sandbox

The application and sandbox names must appear exactly as they are in Veracode.

Expected results

Entity pages

On an entity details page, Veracode findings will appear under the Overview tab in the Code and Security block.

When viewing an entity, click Integrations > Veracode to see the DAST findings count, SAST findings count, SCA findings count, and a list of findings that can be filtered by severity and source. The data syncs automatically every hour, or you can click Sync findings in the upper right side of the entity's Veracode page to trigger a sync.

Scorecards and CQL

With the Veracode integration, you can create Scorecard rules and write CQL queries based on Veracode findings.

See more examples in the CQL Explorer in Cortex.

Check if Veracode application is set

Check if entity has Veracode application or sandbox specified in its entity descriptor.

Definition: veracode (==/!= null): Boolean

Example

In a Scorecard, you can write a rule to verify that an entity has a Veracode application or sandbox specified:

veracode != null
Findings

List of findings, filterable on risk and source

Definition: veracode.findings(): List<VeracodeFinding>

Example

In a Scorecard, you can write a rule to verify that an entity has fewer than 10 Veracode findings from two of the sources:

veracode.findings(source = ["STATIC", "SCA"]).length < 10

You can write a rule to verify that an entity has fewer than 3 findings with a risk level of 0 or 2:

veracode.findings(risk = ["0", "2"]).length <= 3

Background sync

Cortex conducts an entity sync for Veracode every hour.

Still need help?

The following are all the ways to get assistance from our customer engineering team. Please use the option that is best for your users:

  • Email: help@cortex.io, 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.