diff --git a/.github/workflows/00_anchore.yml b/.github/workflows/00_anchore.yml
index 802f626..86bee0b 100644
--- a/.github/workflows/00_anchore.yml
+++ b/.github/workflows/00_anchore.yml
@@ -35,20 +35,20 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout the code
-        uses: actions/checkout@v3
+        uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
 
       - name: Build the Docker image
         run: docker build . --file ${{ env.DOCKERFILE }} --tag localbuild/testimage:latest
 
       - name: Run the Anchore scan action itself with GitHub Advanced Security code scanning integration enabled
-        uses: anchore/scan-action@v3
+        uses: anchore/scan-action@3343887d815d7b07465f6fdcd395bd66508d486a # v3
         with:
           image: "localbuild/testimage:latest"
           acs-report-enable: true
           fail-build: true
           severity-cutoff: "high"
       - name: Upload Anchore Scan Report
-        uses: github/codeql-action/upload-sarif@v2
+        uses: github/codeql-action/upload-sarif@673cceb2b4886e2dfff697ab64a1ecd1c0a14a05 # v2
         if: always()
         with:
           sarif_file: results.sarif
diff --git a/.github/workflows/01_add_patch_label.yml b/.github/workflows/01_add_patch_label.yml
index 41e5a82..2d2bbf0 100644
--- a/.github/workflows/01_add_patch_label.yml
+++ b/.github/workflows/01_add_patch_label.yml
@@ -19,7 +19,7 @@ jobs:
     steps:
       - name: Check user labels
         id: check_user_labels
-        uses: actions/github-script@v6.3.3
+        uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6.3.3
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
           script: |
@@ -48,7 +48,7 @@ jobs:
 
       - name: Add comment
         if: ${{ steps.check_user_labels.outputs.result == 'true' }}
-        uses: actions/github-script@v6.3.3
+        uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6.3.3
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
           script: |
diff --git a/.github/workflows/01_assignee.yml b/.github/workflows/01_assignee.yml
index 0611917..cf22668 100644
--- a/.github/workflows/01_assignee.yml
+++ b/.github/workflows/01_assignee.yml
@@ -21,6 +21,6 @@ jobs:
     steps:
       - name: Assign Me
         # You may pin to the exact commit or the version.
-        uses: kentaro-m/auto-assign-action@v1.2.1
+        uses: kentaro-m/auto-assign-action@746a3a558fdd0e061f612ec9f8ff1b8a19c1a115 # v1.2.1
         with:
           configuration-path: '.github/auto_assign.yml'
diff --git a/.github/workflows/02_check_pr.yml b/.github/workflows/02_check_pr.yml
index 5608117..9491dff 100644
--- a/.github/workflows/02_check_pr.yml
+++ b/.github/workflows/02_check_pr.yml
@@ -24,7 +24,7 @@ jobs:
     steps:
       - name: Verify PR Labels
         if: ${{ !contains(github.event.pull_request.labels.*.name, 'patch') && !contains(github.event.pull_request.labels.*.name, 'ignore-for-release') }}
-        uses: actions/github-script@v6.3.3
+        uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6.3.3
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
           script: |
@@ -57,7 +57,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v3
+        uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
       - name: Formatting
         id: format
         continue-on-error: true
@@ -65,7 +65,7 @@ jobs:
         with:
           args: "--set-exit-if-changed"
 
-      - uses: actions/github-script@v6.3.3
+      - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6.3.3
         if: steps.format.outcome != 'success'
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/03_code_review.yml b/.github/workflows/03_code_review.yml
index ed8b750..2d60844 100644
--- a/.github/workflows/03_code_review.yml
+++ b/.github/workflows/03_code_review.yml
@@ -34,7 +34,7 @@ jobs:
 
     steps:
       - name: Code Review
-        uses: pagopa/github-actions-template/maven-code-review@v1.10.4
+        uses: pagopa/github-actions-template/maven-code-review@5a544cfcc87edacde3391e4fb70228194f90ec63 # v1.10.4
         with:
           github_token: ${{ secrets.GITHUB_TOKEN }}
           sonar_token: ${{ secrets.SONAR_TOKEN }}
diff --git a/.github/workflows/04_release_deploy.yml b/.github/workflows/04_release_deploy.yml
index f79a748..2881076 100644
--- a/.github/workflows/04_release_deploy.yml
+++ b/.github/workflows/04_release_deploy.yml
@@ -98,7 +98,7 @@ jobs:
     steps:
       - name: Make Release
         id: release
-        uses: pagopa/github-actions-template/maven-release@v1.5.4
+        uses: pagopa/github-actions-template/maven-release@d91a1fd0b913c9830589be5d86cdb71c90813fae # v1.5.4
         with:
           semver: ${{ needs.setup.outputs.semver }}
           github_token: ${{ secrets.BOT_TOKEN_GITHUB }}
@@ -113,7 +113,7 @@ jobs:
     steps:
       - name: Build and Push
         id: semver
-        uses: pagopa/github-actions-template/ghcr-build-push@v1.5.4
+        uses: pagopa/github-actions-template/ghcr-build-push@d91a1fd0b913c9830589be5d86cdb71c90813fae # v1.5.4
         with:
           github_token: ${{ secrets.GITHUB_TOKEN }}
           tag: ${{ needs.release.outputs.version }}
diff --git a/.github/workflows/05_integration_test.yml b/.github/workflows/05_integration_test.yml
index c405e3e..002e641 100644
--- a/.github/workflows/05_integration_test.yml
+++ b/.github/workflows/05_integration_test.yml
@@ -70,7 +70,7 @@ jobs:
     steps:
       - name: Report Status
         if: ${{ inputs.notify }}
-        uses: ravsamhq/notify-slack-action@v2
+        uses: ravsamhq/notify-slack-action@be814b201e233b2dc673608aa46e5447c8ab13f2 # v2
         with:
           status: ${{ needs.integration_test.result }}
           token: ${{ secrets.GITHUB_TOKEN }}
@@ -87,7 +87,7 @@ jobs:
     if: ${{ always() }}
     steps:
       - name: Delete Previous deployments
-        uses: actions/github-script@v6
+        uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6
         env:
           SHA_HEAD: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.sha}}
         with:
diff --git a/performance-test/docker-compose.yaml b/performance-test/docker-compose.yaml
index e9205ff..ee60824 100644
--- a/performance-test/docker-compose.yaml
+++ b/performance-test/docker-compose.yaml
@@ -1,7 +1,7 @@
 version: '3.3'
 services:
   k6:
-    image: grafana/k6
+    image: grafana/k6@sha256:c362e72377bb63a897346d549b5ecc17bddd5ad5d3458c0307e03873ab2807c7
     container_name: k6
     volumes:
       - '${PWD}/src:/scripts'
@@ -15,7 +15,7 @@ services:
       - nginx
 
   nginx:
-    image: nginx
+    image: nginx@sha256:42e917aaa1b5bb40dd0f6f7f4f857490ac7747d7ef73b391c774a41a8b994f15
     container_name: nginx
     volumes:
       - '${PWD}/nginx/nginx.conf:/etc/nginx/nginx.conf'