Veracode

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

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 [email protected] 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.

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. Click Add configuration.

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

  4. Click Save.

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 overview, Veracode findings will appear the Code and Security block.

When viewing an entity, click Code & security > 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

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 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?