Skip to content

Commit 09acee2

Browse files
committed
补充安全编码库匹配规则
补充浏览器端安全、编码和加密相关库的本地资源匹配规则。 新增规则限定在明确发行文件名和包目录,避免使用 jwt、crypto 等宽泛短词触发。 将版本号提升到 1.3.20,作为本轮规则补充的发布节点。
1 parent 674d734 commit 09acee2

2 files changed

Lines changed: 66 additions & 1 deletion

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "stackprism",
33
"private": true,
4-
"version": "1.3.19",
4+
"version": "1.3.20",
55
"type": "module",
66
"description": "StackPrism 用于检测网页前端、后端、CDN、SaaS、广告营销、统计、登录、支付、网站程序和主题模板线索。",
77
"scripts": {

public/rules/page/frontend-local-libraries.json

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,56 @@
242242
"(?:^|/)crypto-js/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
243243
]
244244
},
245+
{
246+
"name": "jwt-decode",
247+
"patterns": [
248+
"(?:^|/)jwt-decode(?:\\.umd)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
249+
"(?:^|/)jwt-decode(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|cjs)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
250+
]
251+
},
252+
{
253+
"name": "jsrsasign",
254+
"patterns": [
255+
"(?:^|/)jsrsasign(?:-all)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
256+
"(?:^|/)jsrsasign(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
257+
]
258+
},
259+
{
260+
"name": "forge",
261+
"patterns": [
262+
"(?:^|/)forge(?:\\.all)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
263+
"(?:^|/)node-forge(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
264+
]
265+
},
266+
{
267+
"name": "bcryptjs",
268+
"patterns": [
269+
"(?:^|/)bcrypt(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
270+
"(?:^|/)bcryptjs(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
271+
]
272+
},
273+
{
274+
"name": "argon2-browser",
275+
"patterns": [
276+
"(?:^|/)argon2(?:\\.bundled)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
277+
"(?:^|/)argon2-browser(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|wasm)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
278+
]
279+
},
280+
{
281+
"name": "tweetnacl",
282+
"patterns": [
283+
"(?:^|/)nacl(?:-fast)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
284+
"(?:^|/)tweetnacl(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
285+
]
286+
},
287+
{
288+
"name": "libsodium-wrappers",
289+
"patterns": [
290+
"(?:^|/)sodium(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
291+
"(?:^|/)libsodium-wrappers(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|wasm)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
292+
"(?:^|/)libsodium(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|wasm)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
293+
]
294+
},
245295
{
246296
"name": "blueimp-md5",
247297
"patterns": [
@@ -866,6 +916,21 @@
866916
"(?:^|/)dompurify/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
867917
]
868918
},
919+
{
920+
"name": "js-xss",
921+
"patterns": [
922+
"(?:^|/)xss(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
923+
"(?:^|/)js-xss(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
924+
]
925+
},
926+
{
927+
"name": "sanitize-html",
928+
"patterns": ["(?:^|/)sanitize-html(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"]
929+
},
930+
{
931+
"name": "he",
932+
"patterns": ["(?:^|/)he(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"]
933+
},
869934
{
870935
"name": "PapaParse",
871936
"patterns": [

0 commit comments

Comments
 (0)