diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml
index 1aec51bd..776b77d8 100644
--- a/.github/workflows/audit.yml
+++ b/.github/workflows/audit.yml
@@ -10,9 +10,21 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v2
-      - uses: actions-rs/install@master
+
+      - uses: Swatinem/rust-cache@842ef286fff290e445b90b4002cc9807c3669641 # 1.3.0
+
+      - name: Install toolchain
+        uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746 # https://github.com/actions-rs/toolchain/commit/88dc2356392166efad76775c878094f4e83ff746
         with:
-          crate: cargo-audit
+          profile: minimal
+          toolchain: stable
+          override: true
+          target: ${{ matrix.triple.target }}
+
+      - name: Install cargo-audit
+        run: |
+          cargo install cargo-audit --locked
+
       - uses: actions-rs/audit-check@35b7b53b1e25b55642157ac01b4adceb5b9ebef3 # 1.2.0
         with:
           token: ${{ secrets.GITHUB_TOKEN }}