Skip to content

Commit 63b569a

Browse files
committed
补充代理网关匹配规则
补充 Envoy、Apache Traffic Server、Squid、Kong Gateway、Apache APISIX 和 LiteSpeed 的响应头匹配规则。 新增规则限定在专属响应头、Via 品牌线索和明确缓存代理标志,避免依赖短词或通用缓存头。 同时收窄 Server 首段里的 Apache 与 ATS 匹配,并将版本号提升到 1.3.48。 已通过规则 JSON 校验、正则编译、定向样例、类型检查和生产构建。
1 parent 11b2f6d commit 63b569a

3 files changed

Lines changed: 67 additions & 3 deletions

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.47",
4+
"version": "1.3.48",
55
"type": "module",
66
"description": "StackPrism 用于检测网页前端、后端、CDN、SaaS、广告营销、统计、登录、支付、网站程序和主题模板线索。",
77
"scripts": {

public/rules/headers/header-patterns.json

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,58 @@
159159
"patterns": ["(?:^|\\n)x-oneapi-request-id:"],
160160
"evidence": "存在 x-oneapi-request-id 响应头"
161161
},
162+
{
163+
"defaults": {
164+
"category": "Web 服务器",
165+
"confidence": ""
166+
},
167+
"rules": [
168+
{
169+
"name": "Envoy",
170+
"patterns": [
171+
"(?:^|\\n)x-envoy-(?:upstream-service-time|attempt-count|external-address|decorator-operation):",
172+
"(?:^|\\n)via:[^\\n]*\\benvoy\\b"
173+
],
174+
"evidence": "响应头包含 Envoy 代理线索"
175+
},
176+
{
177+
"name": "Apache Traffic Server",
178+
"patterns": [
179+
"(?:^|\\n)via:[^\\n]*(?:apachetrafficserver|traffic\\s+server|\\bats(?:/\\d+(?:\\.\\d+)*)?\\b)",
180+
"(?:^|\\n)x-cache:[^\\n]*\\b(?:hit|miss)\\s+from\\s+[^\\n]*(?:apachetrafficserver|trafficserver|\\bats\\b)"
181+
],
182+
"evidence": "响应头包含 Apache Traffic Server 缓存代理线索"
183+
},
184+
{
185+
"name": "Squid",
186+
"patterns": [
187+
"(?:^|\\n)via:[^\\n]*\\bsquid\\b",
188+
"(?:^|\\n)x-squid-error:",
189+
"(?:^|\\n)x-cache:[^\\n]*\\b(?:hit|miss)\\s+from\\s+[^\\n]*\\bsquid\\b"
190+
],
191+
"evidence": "响应头包含 Squid 缓存代理线索"
192+
},
193+
{
194+
"name": "Kong Gateway",
195+
"patterns": [
196+
"(?:^|\\n)x-kong-(?:proxy-latency|upstream-latency|request-id):",
197+
"(?:^|\\n)kong-request-id:",
198+
"(?:^|\\n)via:[^\\n]*\\bkong\\b"
199+
],
200+
"evidence": "响应头包含 Kong Gateway 线索"
201+
},
202+
{
203+
"name": "Apache APISIX",
204+
"patterns": ["(?:^|\\n)x-apisix-", "(?:^|\\n)via:[^\\n]*\\bapisix\\b"],
205+
"evidence": "响应头包含 Apache APISIX 网关线索"
206+
},
207+
{
208+
"name": "LiteSpeed",
209+
"patterns": ["(?:^|\\n)x-litespeed-(?:cache|tag|purge|vary|crawler):"],
210+
"evidence": "响应头包含 LiteSpeed 专属缓存线索"
211+
}
212+
]
213+
},
162214
{
163215
"defaults": {
164216
"category": "CDN / 托管"

public/rules/headers/server-products.json

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
},
2121
{
2222
"name": "Apache HTTP Server",
23-
"patterns": ["apache"]
23+
"patterns": ["\\bapache(?:/\\d+(?:\\.\\d+)*)?\\b(?![-\\s]*(?:traffic\\s*server|coyote))(?!-)"]
2424
},
2525
{
2626
"name": "Microsoft IIS",
@@ -50,9 +50,21 @@
5050
"name": "Varnish",
5151
"patterns": ["varnish"]
5252
},
53+
{
54+
"name": "Squid",
55+
"patterns": ["^squid(?:/\\d+(?:\\.\\d+)*)?$"]
56+
},
5357
{
5458
"name": "Apache Traffic Server",
55-
"patterns": ["trafficserver|ats"]
59+
"patterns": ["^(?:apache\\s*traffic\\s*server|apachetrafficserver|traffic\\s*server|trafficserver|ats)(?:/\\d+(?:\\.\\d+)*)?$"]
60+
},
61+
{
62+
"name": "Kong Gateway",
63+
"patterns": ["^kong(?:/\\d+(?:\\.\\d+)*)?$"]
64+
},
65+
{
66+
"name": "Apache APISIX",
67+
"patterns": ["^apisix(?:/\\d+(?:\\.\\d+)*)?$"]
5668
},
5769
{
5870
"name": "Jetty",

0 commit comments

Comments
 (0)