77 lines
2.0 KiB
YAML
77 lines
2.0 KiB
YAML
name: Security
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- "**"
|
|
|
|
jobs:
|
|
security:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
###########################################################
|
|
# GITLEAKS
|
|
###########################################################
|
|
|
|
- name: Gitleaks
|
|
run: |
|
|
docker run --rm \
|
|
-v ${{ github.workspace }}:/repo \
|
|
ghcr.io/gitleaks/gitleaks:latest \
|
|
detect \
|
|
--source /repo
|
|
|
|
###########################################################
|
|
# SEMGREP
|
|
###########################################################
|
|
|
|
- name: Semgrep
|
|
run: |
|
|
docker run --rm \
|
|
-v ${{ github.workspace }}:/src \
|
|
semgrep/semgrep \
|
|
semgrep scan \
|
|
--config auto \
|
|
/src
|
|
|
|
###########################################################
|
|
# TRIVY FS
|
|
###########################################################
|
|
|
|
- name: Trivy Filesystem
|
|
run: |
|
|
docker run --rm \
|
|
-v ${{ github.workspace }}:/workspace \
|
|
aquasec/trivy:latest \
|
|
fs \
|
|
--scanners vuln,secret,misconfig \
|
|
--severity HIGH,CRITICAL \
|
|
--exit-code 1 \
|
|
/workspace
|
|
|
|
###########################################################
|
|
# DOCKER IMAGE BUILD
|
|
###########################################################
|
|
|
|
- name: Build Image
|
|
run: |
|
|
docker build -t app:${{ github.sha }} .
|
|
|
|
###########################################################
|
|
# TRIVY IMAGE
|
|
###########################################################
|
|
|
|
- name: Trivy Image Scan
|
|
run: |
|
|
docker run --rm \
|
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
aquasec/trivy:latest \
|
|
image \
|
|
--severity HIGH,CRITICAL \
|
|
--exit-code 1 \
|
|
app:${{ github.sha }} |