Просмотр исходного кода

Use DOMPurify for AI error assistant output (#18944)

GitOrigin-RevId: 06c5b7720668d77b5750f90daa568bd38d22e150
Alf Eaton 2 лет назад
Родитель
Сommit
5e77052b3b
2 измененных файлов с 48 добавлено и 0 удалено
  1. 46 0
      package-lock.json
  2. 2 0
      services/web/package.json

+ 46 - 0
package-lock.json

@@ -12542,6 +12542,15 @@
       "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==",
       "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==",
       "dev": true
       "dev": true
     },
     },
+    "node_modules/@types/dompurify": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz",
+      "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==",
+      "dev": true,
+      "dependencies": {
+        "@types/trusted-types": "*"
+      }
+    },
     "node_modules/@types/ejs": {
     "node_modules/@types/ejs": {
       "version": "3.1.5",
       "version": "3.1.5",
       "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz",
       "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz",
@@ -13228,6 +13237,12 @@
       "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
       "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
       "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA=="
       "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA=="
     },
     },
+    "node_modules/@types/trusted-types": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+      "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
+      "dev": true
+    },
     "node_modules/@types/unist": {
     "node_modules/@types/unist": {
       "version": "3.0.2",
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
       "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
@@ -20041,6 +20056,12 @@
         "url": "https://github.com/fb55/domhandler?sponsor=1"
         "url": "https://github.com/fb55/domhandler?sponsor=1"
       }
       }
     },
     },
+    "node_modules/dompurify": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.5.tgz",
+      "integrity": "sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==",
+      "dev": true
+    },
     "node_modules/domutils": {
     "node_modules/domutils": {
       "version": "2.8.0",
       "version": "2.8.0",
       "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
       "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
@@ -44705,6 +44726,7 @@
         "@types/bootstrap": "^5.2.10",
         "@types/bootstrap": "^5.2.10",
         "@types/chai": "^4.3.0",
         "@types/chai": "^4.3.0",
         "@types/diff": "^5.0.9",
         "@types/diff": "^5.0.9",
+        "@types/dompurify": "^3.0.5",
         "@types/events": "^3.0.0",
         "@types/events": "^3.0.0",
         "@types/express": "^4.17.13",
         "@types/express": "^4.17.13",
         "@types/mocha": "^9.1.0",
         "@types/mocha": "^9.1.0",
@@ -44758,6 +44780,7 @@
         "d3": "^3.5.16",
         "d3": "^3.5.16",
         "daterangepicker": "overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550",
         "daterangepicker": "overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550",
         "diff": "^5.1.0",
         "diff": "^5.1.0",
+        "dompurify": "^3.1.5",
         "downshift": "^6.1.0",
         "downshift": "^6.1.0",
         "es6-promise": "^4.2.8",
         "es6-promise": "^4.2.8",
         "escodegen": "^2.0.0",
         "escodegen": "^2.0.0",
@@ -53158,6 +53181,7 @@
         "@types/bootstrap": "^5.2.10",
         "@types/bootstrap": "^5.2.10",
         "@types/chai": "^4.3.0",
         "@types/chai": "^4.3.0",
         "@types/diff": "^5.0.9",
         "@types/diff": "^5.0.9",
+        "@types/dompurify": "^3.0.5",
         "@types/events": "^3.0.0",
         "@types/events": "^3.0.0",
         "@types/express": "^4.17.13",
         "@types/express": "^4.17.13",
         "@types/mocha": "^9.1.0",
         "@types/mocha": "^9.1.0",
@@ -53234,6 +53258,7 @@
         "dateformat": "1.0.4-1.2.3",
         "dateformat": "1.0.4-1.2.3",
         "daterangepicker": "overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550",
         "daterangepicker": "overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550",
         "diff": "^5.1.0",
         "diff": "^5.1.0",
+        "dompurify": "^3.1.5",
         "downshift": "^6.1.0",
         "downshift": "^6.1.0",
         "east": "^2.0.2",
         "east": "^2.0.2",
         "ejs": "^3.1.10",
         "ejs": "^3.1.10",
@@ -57405,6 +57430,15 @@
       "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==",
       "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==",
       "dev": true
       "dev": true
     },
     },
+    "@types/dompurify": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz",
+      "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==",
+      "dev": true,
+      "requires": {
+        "@types/trusted-types": "*"
+      }
+    },
     "@types/ejs": {
     "@types/ejs": {
       "version": "3.1.5",
       "version": "3.1.5",
       "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz",
       "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz",
@@ -58089,6 +58123,12 @@
       "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
       "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
       "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA=="
       "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA=="
     },
     },
+    "@types/trusted-types": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+      "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
+      "dev": true
+    },
     "@types/unist": {
     "@types/unist": {
       "version": "3.0.2",
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
       "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
@@ -63196,6 +63236,12 @@
         "domelementtype": "^2.2.0"
         "domelementtype": "^2.2.0"
       }
       }
     },
     },
+    "dompurify": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.5.tgz",
+      "integrity": "sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==",
+      "dev": true
+    },
     "domutils": {
     "domutils": {
       "version": "2.8.0",
       "version": "2.8.0",
       "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
       "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",

+ 2 - 0
services/web/package.json

@@ -234,6 +234,7 @@
     "@types/bootstrap": "^5.2.10",
     "@types/bootstrap": "^5.2.10",
     "@types/chai": "^4.3.0",
     "@types/chai": "^4.3.0",
     "@types/diff": "^5.0.9",
     "@types/diff": "^5.0.9",
+    "@types/dompurify": "^3.0.5",
     "@types/events": "^3.0.0",
     "@types/events": "^3.0.0",
     "@types/express": "^4.17.13",
     "@types/express": "^4.17.13",
     "@types/mocha": "^9.1.0",
     "@types/mocha": "^9.1.0",
@@ -287,6 +288,7 @@
     "d3": "^3.5.16",
     "d3": "^3.5.16",
     "daterangepicker": "overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550",
     "daterangepicker": "overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550",
     "diff": "^5.1.0",
     "diff": "^5.1.0",
+    "dompurify": "^3.1.5",
     "downshift": "^6.1.0",
     "downshift": "^6.1.0",
     "es6-promise": "^4.2.8",
     "es6-promise": "^4.2.8",
     "escodegen": "^2.0.0",
     "escodegen": "^2.0.0",