summaryrefslogtreecommitdiff
path: root/lib/gitlab/ci/templates/Security/API-Fuzzing.latest.gitlab-ci.yml
blob: b6e811aa84f5d5270fefb4313ad8c43380901f1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/API-Fuzzing.latest.gitlab-ci.yml

# To use this template, add the following to your .gitlab-ci.yml file:
#
# include:
#   template: API-Fuzzing.latest.gitlab-ci.yml
#
# You also need to add a `fuzz` stage to your `stages:` configuration. A sample configuration for API Fuzzing:
#
# stages:
#   - build
#   - test
#   - deploy
#   - fuzz

# Read more about this feature here: https://docs.gitlab.com/ee/user/application_security/api_fuzzing/
#
# Configure API Fuzzing with CI/CD variables (https://docs.gitlab.com/ee/ci/variables/index.html).
# List of available variables: https://docs.gitlab.com/ee/user/application_security/api_fuzzing/#available-cicd-variables

variables:
    # Setting this variable affects all Security templates
    # (SAST, Dependency Scanning, ...)
    SECURE_ANALYZERS_PREFIX: "registry.gitlab.com/security-products"
    #
    FUZZAPI_VERSION: "1"
    FUZZAPI_IMAGE_SUFFIX: ""
    FUZZAPI_IMAGE: api-fuzzing

apifuzzer_fuzz:
    stage: fuzz
    image: $SECURE_ANALYZERS_PREFIX/$FUZZAPI_IMAGE:$FUZZAPI_VERSION$FUZZAPI_IMAGE_SUFFIX
    allow_failure: true
    rules:
        - if: $API_FUZZING_DISABLED
          when: never
        - if: $API_FUZZING_DISABLED_FOR_DEFAULT_BRANCH &&
                $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
          when: never
        - if: $CI_COMMIT_BRANCH &&
              $CI_GITLAB_FIPS_MODE == "true"
          variables:
              FUZZAPI_IMAGE_SUFFIX: "-fips"
        - if: $CI_COMMIT_BRANCH
    script:
        - /peach/analyzer-fuzz-api
    artifacts:
        when: always
        paths:
            - gl-assets
            - gl-api-fuzzing-report.json
            - gl-*.log
        reports:
            api_fuzzing: gl-api-fuzzing-report.json

# end