Static Application Security Testing (SAST) checks your source code for known vulnerabilities.
Find a file
2025-05-27 22:55:51 -04:00
src/ruby_gem Add .gitlab-ci.yml and test Ruby app 2023-05-03 17:02:09 +01:00
templates renamed iac-sast file, removed disabled flag. Added more description in readme and adjusted table for SAST and IaC 2025-05-26 12:05:24 -04:00
.gitlab-ci.yml Run a couple of jobs only on Gitlab.com 2024-06-25 18:22:33 +02:00
LICENSE Add LICENSE 2025-01-27 10:26:44 +01:00
logo.png Update file logo.png 2023-12-12 15:08:09 +00:00
README.md component separation 2025-05-27 22:55:51 -04:00

This project provides componnets for the use of Static Application Security Testing as well as Infrastructure as Code testing.

[[TOC]]

Static Application Security Testing (SAST)

Documentation References

Configuration for SAST can be performed through CI/CD Variables (https://docs.gitlab.com/ee/ci/variables/index.html) or via the definition of Inputs (https://docs.gitlab.com/ci/inputs/).

More information about GitLab SAST is available within GitLab documentation (https://docs.gitlab.com/ee/user/application_security/sast/), along with the available variables (https://docs.gitlab.com/ee/user/application_security/sast/index.html#available-cicd-variables).

Usage

You should add this component to an existing .gitlab-ci.yml file by using the include: keyword.

include:
  - component: gitlab.com/components/sast/sast@<VERSION> # To include SAST Scanning

where <VERSION> is the latest released tag or main.

If you are converting the configuration to use components and want to leverage the existing variable $SAST_DISABLED you could conditionally include the component using the variable:

include:
  - component: gitlab.com/components/sast/sast@main
    rules:
      - if: $SAST_DISABLED == "true" || $SAST_DISABLED == "1"
        when: never
      - when: always

Otherwise all SAST jobs will always run when applicable.

This assumes SAST_DISABLED variable is already defined in .gitlab-ci.yml with either 'true' or '1' as the value.

Inputs

Input Default value Description
stage test The stage where you want the job to be added
image_prefix $CI_TEMPLATE_REGISTRY_HOST/security-products Define where all Docker image are pulled from
image_tag 4 Tag of the Docker image to use
image_suffix "" Suffix added to image. If set to -fips, FIPS-enabled images are used for scan. Only used by semgrep analyzer
excluded_analyzers "" Comma separated list of analyzers that should not run
excluded_paths "spec, test, tests, tmp" Comma separated list of paths to exclude
search_max_depth 4 Defines how many directory levels the search for programming languages should span
run_kubesec_sast "false" Set it to "true" to run kubesec-sast job
run_advanced_sast false Set it to true to enable GitLab Advanced SAST
include_experimental "false" Set it to "true" to enable experimental analyzers

Infrastructure as Code (IaC) Scanning

Documentation References

Configuration for IaC scanning can be performed through CI/CD Variables (https://docs.gitlab.com/ee/ci/variables/index.html) or via the definition of Inputs (https://docs.gitlab.com/ci/inputs/).

More information about GitLab Infrastructure as Code scanning is available within GitLab documentation (https://docs.gitlab.com/user/application_security/iac_scanning/).

Usage

You should add this component to an existing .gitlab-ci.yml file by using the include: keyword.

include:
  - component: gitlab.com/components/sast/kics-iac-sast@<VERSION> # To include IaC Scanning

where <VERSION> is the latest released tag or main.

Inputs

Input Default value Description
stage test The stage where you want the job to be added
image_prefix $CI_TEMPLATE_REGISTRY_HOST/security-products Define where all Docker image are pulled from
image_tag 4 Tag of the Docker image to use
image_suffix "" Suffix added to image.
excluded_paths "spec, test, tests, tmp" Comma separated list of paths to exclude
search_max_depth 4 Defines how many directory levels the search for programming languages should span

Contribute

Please read about CI/CD components and best practices at: https://docs.gitlab.com/ee/ci/components