Security tooling and processes

This page contains information on tools and processes we run within the Security team.

If you want to document sensitive information, you can either:

Processes

Terraform Cloud

We use Terraform Cloud to manage the deployment of cloud infrastructure across Sourcegraph. You can find more information on using the platform here.

Notifications for changes to Terraform in folders of interest to the Security team go to #security-terraform. The configuration of notification settings can be found in infrastructure/terraform-cloud.

SAST scanning

We use a combination of tools within the team to cover a number of different types of vulnerability.

  • We use Checkov to scan our Terraform infrastructure.
  • We use Trivy to scan containers for issues with dependencies.
  • We use Semgrep OSS to scan our code in sourcegraph/sourcegraph and sourcegraph/cody for vulnerabilities & bad patterns

Additionally, we have enabled push protection for all public repositories for secret scanning.

Entitle

We use Entitle as our permission management system.

Cloudflare Token

We use Cloudflare tokens to manage access to our Cloudflare account.

The token is used by our Terraform code to manage DNS records and other Cloudflare services

Update the token here, here and in the Terraform Cloud varset.

We typically set a 1 year expiry on the token.

Make sure to test that the token works by running terraform plan in the infrastructure repository on the relevant code