[Security] Fix XSS Vulnerability where content-type header wasn't explicitly set in API requests #5394
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This job runs a non-blocking informational security scan on the repository. | |
# For release-blocking security scans, see .release/security-scan.hcl. | |
name: Security Scan | |
on: | |
push: | |
branches: | |
- main | |
- release/** | |
pull_request: | |
branches: | |
- main | |
- release/** | |
# paths-ignore only works for non-required checks. | |
# Jobs that are required for merge must use reusable-conditional-skip.yml. | |
paths-ignore: | |
- 'docs/**' | |
- 'grafana/**' | |
- '.changelog/**' | |
# cancel existing runs of the same workflow on the same ref | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
setup: | |
name: Setup | |
runs-on: ubuntu-latest | |
outputs: | |
compute-small: ${{ steps.setup-outputs.outputs.compute-small }} | |
compute-medium: ${{ steps.setup-outputs.outputs.compute-medium }} | |
compute-large: ${{ steps.setup-outputs.outputs.compute-large }} | |
compute-xl: ${{ steps.setup-outputs.outputs.compute-xl }} | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- id: setup-outputs | |
name: Setup outputs | |
run: ./.github/scripts/get_runner_classes.sh | |
get-go-version: | |
uses: ./.github/workflows/reusable-get-go-version.yml | |
scan: | |
needs: | |
- setup | |
- get-go-version | |
runs-on: ${{ fromJSON(needs.setup.outputs.compute-xl) }} | |
# The first check ensures this doesn't run on community-contributed PRs, who | |
# won't have the permissions to run this job. | |
if: ${{ (github.repository != 'hashicorp/consul' || (github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name)) | |
&& (github.actor != 'dependabot[bot]') && (github.actor != 'hc-github-team-consul-core') }} | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Set up Go | |
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 | |
with: | |
go-version: ${{ needs.get-go-version.outputs.go-version }} | |
- name: Clone Security Scanner repo | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
with: | |
repository: hashicorp/security-scanner | |
token: ${{ secrets.PRODSEC_SCANNER_READ_ONLY }} | |
path: security-scanner | |
ref: main | |
- name: Scan | |
id: scan | |
uses: ./security-scanner | |
with: | |
repository: "$PWD" | |
# See scan.hcl at repository root for config. | |
- name: SARIF Output | |
shell: bash | |
run: | | |
cat results.sarif | jq | |
- name: Upload SARIF file | |
uses: github/codeql-action/upload-sarif@8fd294e26a0e458834582b0fe4988d79966c7c0a # codeql-bundle-v2.18.4 | |
with: | |
sarif_file: results.sarif |