diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 5fa8aa61..4ad54594 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -21,10 +21,10 @@ jobs:
     env:
         TRIGGER_DEPLOY: ${{ startsWith(github.ref, 'refs/heads/master') || startsWith(github.ref, 'refs/heads/hotfix') || startsWith(github.ref, 'refs/heads/develop') || startsWith(github.ref, 'refs/heads/beta') }}
     steps: 
-        - uses: actions/checkout@v4
-        - uses: wagoid/commitlint-github-action@v5
+        - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+        - uses: wagoid/commitlint-github-action@5ce82f5d814d4010519d15f0552aec4f17a1e1fe # v5
           if: github.event_name == 'pull_request'
-        - uses: actions/setup-node@v3
+        - uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
           with:
             cache: "npm"
             node-version-file: ".nvmrc"
@@ -50,7 +50,7 @@ jobs:
             NODE_ENV: production
         - name: Deploy playground to GitHub Pages
           if: ${{ env.TRIGGER_DEPLOY == 'true'}}
-          uses: peaceiris/actions-gh-pages@v3
+          uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847 # v3
           with:
             github_token: ${{ secrets.GITHUB_TOKEN }}
             publish_dir: playground
diff --git a/.github/workflows/update-l10n.yml b/.github/workflows/update-l10n.yml
index 90423bc0..7e05b418 100644
--- a/.github/workflows/update-l10n.yml
+++ b/.github/workflows/update-l10n.yml
@@ -16,10 +16,10 @@ jobs:
   update-tx:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
         with:
             ref: 'develop'
-      - uses: actions/setup-node@v3
+      - uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
         with:
           cache: 'npm'
           node-version-file: '.nvmrc'
diff --git a/package-lock.json b/package-lock.json
index 7472e80a..61dab613 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,11 +19,11 @@
         "prop-types": "^15.5.10"
       },
       "devDependencies": {
-        "@babel/cli": "^7.23.0",
-        "@babel/core": "^7.23.2",
-        "@babel/node": "^7.22.19",
-        "@babel/preset-env": "^7.23.2",
-        "@babel/preset-react": "^7.22.15",
+        "@babel/cli": "7.23.0",
+        "@babel/core": "7.23.2",
+        "@babel/node": "7.22.19",
+        "@babel/preset-env": "7.23.2",
+        "@babel/preset-react": "7.22.15",
         "@commitlint/cli": "17.0.3",
         "@commitlint/config-conventional": "17.0.3",
         "autoprefixer": "9.7.4",
@@ -32,7 +32,7 @@
         "babel-loader": "8.2.5",
         "babel-plugin-react-intl": "3.0.1",
         "babel-plugin-transform-object-rest-spread": "6.26.0",
-        "canvas": "^2.11.2",
+        "canvas": "2.11.2",
         "css-loader": "3.4.0",
         "enzyme": "3.11.0",
         "enzyme-adapter-react-16": "1.15.6",
@@ -43,7 +43,7 @@
         "gh-pages": "3.2.3",
         "html-webpack-plugin": "3.2.0",
         "husky": "8.0.1",
-        "jest": "^27.0.5",
+        "jest": "27.5.1",
         "jest-junit": "13.0.0",
         "json": "9.0.6",
         "lodash.defaultsdeep": "4.6.1",
@@ -598,9 +598,9 @@
       }
     },
     "node_modules/@babel/node/node_modules/regenerator-runtime": {
-      "version": "0.14.0",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
-      "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==",
+      "version": "0.14.1",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+      "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
       "dev": true
     },
     "node_modules/@babel/parser": {
diff --git a/package.json b/package.json
index fe4b9d36..ec6bd04d 100644
--- a/package.json
+++ b/package.json
@@ -46,11 +46,11 @@
     "scratch-render-fonts": "^1.0.0-prerelease.20210401210003"
   },
   "devDependencies": {
-    "@babel/cli": "^7.23.0",
-    "@babel/core": "^7.23.2",
-    "@babel/node": "^7.22.19",
-    "@babel/preset-env": "^7.23.2",
-    "@babel/preset-react": "^7.22.15",
+    "@babel/cli": "7.23.0",
+    "@babel/core": "7.23.2",
+    "@babel/node": "7.22.19",
+    "@babel/preset-env": "7.23.2",
+    "@babel/preset-react": "7.22.15",
     "@commitlint/cli": "17.0.3",
     "@commitlint/config-conventional": "17.0.3",
     "autoprefixer": "9.7.4",
@@ -59,7 +59,7 @@
     "babel-loader": "8.2.5",
     "babel-plugin-react-intl": "3.0.1",
     "babel-plugin-transform-object-rest-spread": "6.26.0",
-    "canvas": "^2.11.2",
+    "canvas": "2.11.2",
     "css-loader": "3.4.0",
     "enzyme": "3.11.0",
     "enzyme-adapter-react-16": "1.15.6",
@@ -70,7 +70,7 @@
     "gh-pages": "3.2.3",
     "html-webpack-plugin": "3.2.0",
     "husky": "8.0.1",
-    "jest": "^27.0.5",
+    "jest": "27.5.1",
     "jest-junit": "13.0.0",
     "json": "9.0.6",
     "lodash.defaultsdeep": "4.6.1",