whopper 0.7.1 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/analyzer/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,YAAY,CAAC;AA6DtD,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,EAChB,WAAW,SAAS,KACnB,SAAS,GAAG,SA0Jd,CAAC"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/analyzer/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,YAAY,CAAC;AAkEtD,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,EAChB,WAAW,SAAS,KACnB,SAAS,GAAG,SAgMd,CAAC"}
@@ -1,4 +1,5 @@
1
- import { buildEvidenceValue, matchString } from "./match.js";
1
+ import { buildEvidenceValue, matchString, matchStringOutsideSpans, } from "./match.js";
2
+ import { outOfScopeUrlSpans } from "./scope.js";
2
3
  function isFirstPartyResponse(response) {
3
4
  return response.isFirstParty ?? true;
4
5
  }
@@ -69,6 +70,7 @@ export const applySignature = (context, signature) => {
69
70
  confidence: rule.confidence,
70
71
  host: response.host,
71
72
  sourceUrl: response.url,
73
+ isFirstParty: isFirstPartyResponse(response),
72
74
  });
73
75
  }
74
76
  }
@@ -93,11 +95,33 @@ export const applySignature = (context, signature) => {
93
95
  confidence: rule.confidence,
94
96
  host: response.host,
95
97
  sourceUrl: response.url,
98
+ isFirstParty: isFirstPartyResponse(response),
96
99
  });
97
100
  }
98
101
  }
99
102
  // Match bodies
100
103
  if (rule?.bodies) {
104
+ // For server-runtime signatures, ignore body pattern hits that fall inside
105
+ // an out-of-scope URL quoted within a first-party file, so a third-party
106
+ // URL is not treated as evidence that the target runs this technology. The
107
+ // in-scope host set is derived from the first-party responses themselves.
108
+ // The body is not modified, so matches are neither created nor destroyed.
109
+ const inScopeHosts = runtime === "server"
110
+ ? [...new Set(firstPartyResponses.map((response) => response.host))]
111
+ : [];
112
+ const excludedSpanCache = new Map();
113
+ const excludedSpansFor = (response) => {
114
+ if (runtime !== "server") {
115
+ return [];
116
+ }
117
+ const cached = excludedSpanCache.get(response);
118
+ if (cached !== undefined) {
119
+ return cached;
120
+ }
121
+ const spans = outOfScopeUrlSpans(response.body ?? "", inScopeHosts);
122
+ excludedSpanCache.set(response, spans);
123
+ return spans;
124
+ };
101
125
  for (const regex of rule.bodies) {
102
126
  for (const response of allResponses) {
103
127
  if (!isBodyMatchAllowed(response, runtime)) {
@@ -107,7 +131,7 @@ export const applySignature = (context, signature) => {
107
131
  if (!body) {
108
132
  continue;
109
133
  }
110
- const result = matchString(body, regex);
134
+ const result = matchStringOutsideSpans(body, regex, excludedSpansFor(response));
111
135
  if (!result.hit) {
112
136
  continue;
113
137
  }
@@ -118,6 +142,7 @@ export const applySignature = (context, signature) => {
118
142
  confidence: rule.confidence,
119
143
  host: response.host,
120
144
  sourceUrl: response.url,
145
+ isFirstParty: isFirstPartyResponse(response),
121
146
  });
122
147
  }
123
148
  }
@@ -140,6 +165,7 @@ export const applySignature = (context, signature) => {
140
165
  version: result.version,
141
166
  confidence: rule.confidence,
142
167
  host: cookie.host,
168
+ isFirstParty: isFirstPartyCookie(cookie),
143
169
  });
144
170
  }
145
171
  }
@@ -160,6 +186,9 @@ export const applySignature = (context, signature) => {
160
186
  value: buildEvidenceValue(valStr, result, name),
161
187
  version: result.version,
162
188
  confidence: rule.confidence,
189
+ // JavaScript variables are read from the scanned page's own window, so
190
+ // they are first-party by construction.
191
+ isFirstParty: true,
163
192
  });
164
193
  }
165
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/analyzer/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/analyzer/apply.ts"],"names":[],"mappings":"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"}
@@ -175,6 +175,39 @@ describe("applySignature", () => {
175
175
  expect(result?.name).toBe("jQuery");
176
176
  expect(result?.evidences?.[0]?.version).toBe("3.6.0");
177
177
  });
178
+ it("carries the response first-party flag onto body evidence", () => {
179
+ const signature = {
180
+ name: "jQuery",
181
+ rule: {
182
+ confidence: "medium",
183
+ bodies: ["jquery[.-]([\\d.]+)(?:\\.min)?\\.js"],
184
+ },
185
+ };
186
+ const body = '<script src="/js/jquery-3.6.0.min.js"></script>';
187
+ const firstParty = applySignature(createMockContext({
188
+ responses: [
189
+ createMockResponse({
190
+ headers: { "content-type": "text/html" },
191
+ body,
192
+ isFirstParty: true,
193
+ }),
194
+ ],
195
+ }), signature);
196
+ expect(firstParty?.evidences?.[0]?.isFirstParty).toBe(true);
197
+ // A third-party JavaScript response is still matched for a client-runtime
198
+ // signature, but its evidence is flagged as not first-party.
199
+ const thirdParty = applySignature(createMockContext({
200
+ responses: [
201
+ createMockResponse({
202
+ host: "cdn.thirdparty.example",
203
+ headers: { "content-type": "application/javascript" },
204
+ body,
205
+ isFirstParty: false,
206
+ }),
207
+ ],
208
+ }), signature);
209
+ expect(thirdParty?.evidences?.[0]?.isFirstParty).toBe(false);
210
+ });
178
211
  it("should include a snippet around the match in body evidence value", () => {
179
212
  const signature = {
180
213
  name: "jQuery",
@@ -239,6 +272,27 @@ describe("applySignature", () => {
239
272
  const result = applySignature(context, signature);
240
273
  expect(result).toBeUndefined();
241
274
  });
275
+ it("does not strip out-of-scope URLs for client-runtime signatures", () => {
276
+ // No headers/cookies -> runtime is inferred as "client", so the
277
+ // out-of-scope URL scoping (which is server-runtime only) must not apply.
278
+ const signature = {
279
+ name: "SomeClientLib",
280
+ rule: {
281
+ confidence: "medium",
282
+ bodies: ["wp-content"],
283
+ },
284
+ };
285
+ const context = createMockContext({
286
+ responses: [
287
+ createMockResponse({
288
+ headers: { "content-type": "text/html" },
289
+ body: '"https://external.example/wp-content/plugins/foo/bar.js"',
290
+ }),
291
+ ],
292
+ });
293
+ const result = applySignature(context, signature);
294
+ expect(result).toBeDefined();
295
+ });
242
296
  });
243
297
  describe("URL matching", () => {
244
298
  it("should detect technology from URL", () => {
@@ -683,7 +737,9 @@ describe("applySignature", () => {
683
737
  const context = createMockContext({
684
738
  responses: [
685
739
  createMockResponse({
686
- headers: { "content-type": "application/javascript; charset=utf-8" },
740
+ headers: {
741
+ "content-type": "application/javascript; charset=utf-8",
742
+ },
687
743
  body: "/*! Swiper 8.4.7 */",
688
744
  host: "cdn.example.com",
689
745
  isFirstParty: false,
@@ -707,7 +763,9 @@ describe("applySignature", () => {
707
763
  const context = createMockContext({
708
764
  responses: [
709
765
  createMockResponse({
710
- headers: { "content-type": "application/javascript; charset=utf-8" },
766
+ headers: {
767
+ "content-type": "application/javascript; charset=utf-8",
768
+ },
711
769
  body: "var config = { path: '/wp-content/plugins/foo.js' };",
712
770
  host: "www.googletagmanager.com",
713
771
  isFirstParty: false,
@@ -1 +1 @@
1
- {"version":3,"file":"apply.test.js","sourceRoot":"","sources":["../../src/analyzer/apply.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.test.js","sourceRoot":"","sources":["../../src/analyzer/apply.test.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,14 @@ export type MatchResult = {
6
6
  matchLength: number | undefined;
7
7
  };
8
8
  export declare const matchString: (value: string, regex: Regex) => MatchResult;
9
+ /**
10
+ * Like {@link matchString}, but returns the first match that does not overlap
11
+ * any of `excludedSpans` (half-open `[start, end)` character ranges). The value
12
+ * is matched as-is, so no match can be created or destroyed by the exclusion —
13
+ * matches that merely fall inside an excluded range are skipped in favour of the
14
+ * next one. With no excluded spans it is equivalent to {@link matchString}.
15
+ */
16
+ export declare const matchStringOutsideSpans: (value: string, regex: Regex, excludedSpans: Array<[number, number]>) => MatchResult;
9
17
  export type SnippetOptions = {
10
18
  context?: number;
11
19
  maxMatchLength?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../src/analyzer/match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,OAAO,KAAK,KAAG,WAazD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,EACb,OAAO,MAAM,EACb,aAAa,MAAM,EACnB,UAAS,cAAmB,KAC3B,MAoBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,QAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,aAAa,CAAC,EAClD,SAAS,MAAM,KACd,MAMF,CAAC"}
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../src/analyzer/match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,OAAO,KAAK,KAAG,WAazD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,MAAM,EACb,OAAO,KAAK,EACZ,eAAe,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KACrC,WA6BF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,EACb,OAAO,MAAM,EACb,aAAa,MAAM,EACnB,UAAS,cAAmB,KAC3B,MAoBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,QAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,aAAa,CAAC,EAClD,SAAS,MAAM,KACd,MAMF,CAAC"}
@@ -11,6 +11,39 @@ export const matchString = (value, regex) => {
11
11
  }
12
12
  return { hit: false, version: undefined, index: undefined, matchLength: undefined };
13
13
  };
14
+ /**
15
+ * Like {@link matchString}, but returns the first match that does not overlap
16
+ * any of `excludedSpans` (half-open `[start, end)` character ranges). The value
17
+ * is matched as-is, so no match can be created or destroyed by the exclusion —
18
+ * matches that merely fall inside an excluded range are skipped in favour of the
19
+ * next one. With no excluded spans it is equivalent to {@link matchString}.
20
+ */
21
+ export const matchStringOutsideSpans = (value, regex, excludedSpans) => {
22
+ if (excludedSpans.length === 0) {
23
+ return matchString(value, regex);
24
+ }
25
+ const regexExp = new RegExp(regex, "gi");
26
+ let match;
27
+ while ((match = regexExp.exec(value)) !== null) {
28
+ if (match[0].length === 0) {
29
+ // Guard against zero-width matches looping forever.
30
+ regexExp.lastIndex++;
31
+ continue;
32
+ }
33
+ const start = match.index;
34
+ const end = start + match[0].length;
35
+ const overlapsExcluded = excludedSpans.some(([spanStart, spanEnd]) => start < spanEnd && end > spanStart);
36
+ if (!overlapsExcluded) {
37
+ return {
38
+ hit: true,
39
+ version: match.length > 1 ? match[1] : undefined,
40
+ index: match.index,
41
+ matchLength: match[0].length,
42
+ };
43
+ }
44
+ }
45
+ return { hit: false, version: undefined, index: undefined, matchLength: undefined };
46
+ };
14
47
  export const extractMatchSnippet = (value, index, matchLength, options = {}) => {
15
48
  const { context = 40, maxMatchLength = 120, maxValueLength = 200 } = options;
16
49
  if (value.length <= maxValueLength)
@@ -1 +1 @@
1
- {"version":3,"file":"match.js","sourceRoot":"","sources":["../../src/analyzer/match.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,KAAY,EAAe,EAAE;IACtE,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,GAAG,EAAE,IAAI;YACT,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAChD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACtF,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAa,EACb,KAAa,EACb,WAAmB,EACnB,UAA0B,EAAE,EACpB,EAAE;IACV,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7E,IAAI,KAAK,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/C,qEAAqE;IACrE,uEAAuE;IACvE,6CAA6C;IAC7C,IAAI,WAAW,GAAG,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,WAAW,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAClE,OAAO,GAAG,MAAM,GAAG,OAAO,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;IACtD,CAAC;IAED,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAAgB,EAChB,MAAkD,EAClD,MAAe,EACP,EAAE;IACV,MAAM,aAAa,GACjB,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAC5D,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC;IACf,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;AAChE,CAAC,CAAC"}
1
+ {"version":3,"file":"match.js","sourceRoot":"","sources":["../../src/analyzer/match.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,30 @@
1
1
  import { describe, it, expect } from "vitest";
2
- import { buildEvidenceValue, extractMatchSnippet, matchString, } from "./match.js";
2
+ import { buildEvidenceValue, extractMatchSnippet, matchString, matchStringOutsideSpans, } from "./match.js";
3
+ describe("matchStringOutsideSpans", () => {
4
+ it("behaves like matchString when there are no excluded spans", () => {
5
+ const result = matchStringOutsideSpans("has wp-content here", "wp-content", []);
6
+ expect(result.hit).toBe(true);
7
+ expect(result.index).toBe(4);
8
+ });
9
+ it("skips a match that falls inside an excluded span", () => {
10
+ const value = 'x="https://external.example/wp-content/a.js"';
11
+ const span = [3, value.length - 1];
12
+ const result = matchStringOutsideSpans(value, "wp-content", [span]);
13
+ expect(result.hit).toBe(false);
14
+ });
15
+ it("returns the next match outside the excluded span", () => {
16
+ // First "wp-content" is inside the span; the second one is outside.
17
+ const value = "AAwp-contentAA /wp-content/theme";
18
+ const result = matchStringOutsideSpans(value, "wp-content", [[0, 12]]);
19
+ expect(result.hit).toBe(true);
20
+ expect(result.index).toBe(16);
21
+ });
22
+ it("keeps the captured version group for an allowed match", () => {
23
+ const result = matchStringOutsideSpans("nginx/1.20.0", "nginx/([\\d.]+)", []);
24
+ expect(result.hit).toBe(true);
25
+ expect(result.version).toBe("1.20.0");
26
+ });
27
+ });
3
28
  describe("matchString", () => {
4
29
  describe("basic matching", () => {
5
30
  it("should return hit: true when regex matches", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"match.test.js","sourceRoot":"","sources":["../../src/analyzer/match.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"match.test.js","sourceRoot":"","sources":["../../src/analyzer/match.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export type UrlSpan = [start: number, end: number];
2
+ /**
3
+ * Returns the character spans of absolute / protocol-relative URLs in `body`
4
+ * whose host is out of scope (i.e. not first-party to the scanned target).
5
+ *
6
+ * Used by server-runtime body matching to reject pattern hits that fall inside a
7
+ * third-party URL quoted within a first-party file (e.g. `wp-content` inside an
8
+ * unrelated site's URL). The body itself is never modified, so no match can be
9
+ * created or destroyed across the excluded region.
10
+ *
11
+ * URLs without an identifiable host (unparseable, or an empty authority such as
12
+ * `https://./...`) are not treated as out of scope, so only provably
13
+ * out-of-scope URLs are excluded. When the in-scope host set is unknown (empty),
14
+ * no spans are returned.
15
+ */
16
+ export declare function outOfScopeUrlSpans(body: string, inScopeHosts: string[]): UrlSpan[];
17
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/analyzer/scope.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,EAAE,CAyBX"}
@@ -0,0 +1,43 @@
1
+ import { getHostFromUrl, isFirstPartyHost } from "../browser/utils.js";
2
+ // Matches absolute http(s) URLs and protocol-relative URLs (`//host/...`),
3
+ // stopping at characters that commonly delimit a URL inside HTML/JS/CSS
4
+ // (whitespace, quotes, backticks, angle brackets, parentheses, backslashes).
5
+ const ABSOLUTE_URL_PATTERN = /(?:https?:)?\/\/[^\s"'`<>()\\]+/gi;
6
+ /**
7
+ * Returns the character spans of absolute / protocol-relative URLs in `body`
8
+ * whose host is out of scope (i.e. not first-party to the scanned target).
9
+ *
10
+ * Used by server-runtime body matching to reject pattern hits that fall inside a
11
+ * third-party URL quoted within a first-party file (e.g. `wp-content` inside an
12
+ * unrelated site's URL). The body itself is never modified, so no match can be
13
+ * created or destroyed across the excluded region.
14
+ *
15
+ * URLs without an identifiable host (unparseable, or an empty authority such as
16
+ * `https://./...`) are not treated as out of scope, so only provably
17
+ * out-of-scope URLs are excluded. When the in-scope host set is unknown (empty),
18
+ * no spans are returned.
19
+ */
20
+ export function outOfScopeUrlSpans(body, inScopeHosts) {
21
+ if (inScopeHosts.length === 0) {
22
+ return [];
23
+ }
24
+ const spans = [];
25
+ // Copy source and flags from the shared pattern (fresh lastIndex, no divergence).
26
+ const regex = new RegExp(ABSOLUTE_URL_PATTERN);
27
+ let match;
28
+ while ((match = regex.exec(body)) !== null) {
29
+ const url = match[0];
30
+ // Give protocol-relative URLs a scheme so the host can be parsed.
31
+ const normalized = url.startsWith("//") ? `https:${url}` : url;
32
+ const host = getHostFromUrl(normalized);
33
+ if (!host) {
34
+ continue;
35
+ }
36
+ const inScope = inScopeHosts.some((inScopeHost) => isFirstPartyHost(inScopeHost, host));
37
+ if (!inScope) {
38
+ spans.push([match.index, match.index + url.length]);
39
+ }
40
+ }
41
+ return spans;
42
+ }
43
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/analyzer/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,2EAA2E;AAC3E,wEAAwE;AACxE,6EAA6E;AAC7E,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;AAKjE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,YAAsB;IAEtB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,kFAAkF;IAClF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC/C,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,kEAAkE;QAClE,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/D,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAChD,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scope.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.test.d.ts","sourceRoot":"","sources":["../../src/analyzer/scope.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { outOfScopeUrlSpans } from "./scope.js";
3
+ function spannedText(body, inScopeHosts) {
4
+ return outOfScopeUrlSpans(body, inScopeHosts).map(([start, end]) => body.slice(start, end));
5
+ }
6
+ describe("outOfScopeUrlSpans", () => {
7
+ it("spans an out-of-scope absolute URL", () => {
8
+ const url = "https://external.example/wp-content/plugins/foo/bar.js";
9
+ expect(spannedText(`"${url}"`, ["example.com"])).toEqual([url]);
10
+ });
11
+ it("does not span an in-scope absolute URL", () => {
12
+ const body = '<link href="https://example.com/wp-content/themes/foo.css">';
13
+ expect(outOfScopeUrlSpans(body, ["example.com"])).toEqual([]);
14
+ });
15
+ it("treats a subdomain of the in-scope host as in scope", () => {
16
+ const body = '<script src="https://cdn.example.com/wp-includes/js/a.js">';
17
+ expect(outOfScopeUrlSpans(body, ["example.com"])).toEqual([]);
18
+ });
19
+ it("does not span relative paths", () => {
20
+ const body = '<link href="/wp-content/themes/foo/style.css">';
21
+ expect(outOfScopeUrlSpans(body, ["example.com"])).toEqual([]);
22
+ });
23
+ it("returns no spans when no in-scope hosts are known", () => {
24
+ const body = '"https://external.example/wp-content/plugins/foo/bar.js"';
25
+ expect(outOfScopeUrlSpans(body, [])).toEqual([]);
26
+ });
27
+ it("spans an out-of-scope protocol-relative URL", () => {
28
+ const url = "//external.example/wp-content/plugins/foo/bar.js";
29
+ expect(spannedText(`"${url}"`, ["example.com"])).toEqual([url]);
30
+ });
31
+ it("does not span an in-scope protocol-relative URL", () => {
32
+ const body = '"//example.com/wp-includes/js/a.js"';
33
+ expect(outOfScopeUrlSpans(body, ["example.com"])).toEqual([]);
34
+ });
35
+ it("spans only the out-of-scope URL when both are present", () => {
36
+ const outOfScope = "https://external.example/wp-json/x";
37
+ const body = `"${outOfScope}" and "https://example.com/wp-content/y"`;
38
+ expect(spannedText(body, ["example.com"])).toEqual([outOfScope]);
39
+ });
40
+ it("spans an out-of-scope URL including its query and fragment", () => {
41
+ const url = "https://external.example/a?p=wp-json#wp-content";
42
+ expect(spannedText(`x="${url}"`, ["example.com"])).toEqual([url]);
43
+ });
44
+ it("does not span a URL without an identifiable host", () => {
45
+ // Unparseable and empty-authority (`https://./...`) URLs cannot be proven
46
+ // out of scope, so they are not excluded.
47
+ expect(outOfScopeUrlSpans("see https://[ here", ["example.com"])).toEqual([]);
48
+ expect(outOfScopeUrlSpans('"https://./wp-content/x"', ["example.com"])).toEqual([]);
49
+ });
50
+ });
51
+ //# sourceMappingURL=scope.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.test.js","sourceRoot":"","sources":["../../src/analyzer/scope.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export type Evidence = {
7
7
  confidence: Confidence;
8
8
  host?: string;
9
9
  sourceUrl?: string;
10
+ isFirstParty?: boolean;
10
11
  };
11
12
  export type Detection = {
12
13
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/analyzer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEpE,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/analyzer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEpE,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect_utils.d.ts","sourceRoot":"","sources":["../../src/commands/detect_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAoB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAWjE;AAiBD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,EAAE,EAChB,UAAU,EAAE,SAAS,EAAE,EACvB,UAAU,EAAE,SAAS,EAAE,GACtB,mBAAmB,CA4JrB;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,OAAO,GACpB,IAAI,CAuBN;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,mBAAmB,GAC1B,IAAI,CAEN"}
1
+ {"version":3,"file":"detect_utils.d.ts","sourceRoot":"","sources":["../../src/commands/detect_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAoB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAWjE;AAiBD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,EAAE,EAChB,UAAU,EAAE,SAAS,EAAE,EACvB,UAAU,EAAE,SAAS,EAAE,GACtB,mBAAmB,CA2KrB;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,OAAO,GACpB,IAAI,CAuBN;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,mBAAmB,GAC1B,IAAI,CAEN"}
@@ -84,6 +84,20 @@ export function makeDetectCommandOutput(urls, detections, signatures) {
84
84
  // Handle implied softwares
85
85
  const impliedSoftwares = keptSoftwares.flatMap((detectedSoftware) => {
86
86
  const signature = signatureByName.get(detectedSoftware.name);
87
+ // Suppress a detection's implications only when it is backed *solely* by
88
+ // third-party evidence. Such a detection (e.g. "Gravity Forms" matched
89
+ // inside a form-collector script, or "Site Kit" named inside an ad script)
90
+ // is not reliable proof that the target itself runs the implied stack, so it
91
+ // must not cascade into WordPress / PHP / MySQL and similar. A detection
92
+ // with no evidence at all, or with at least one first-party evidence, still
93
+ // implies as before. Evidence whose flag is unknown counts as first-party,
94
+ // matching the `?? true` convention used elsewhere.
95
+ const parentEvidences = detectedSoftware.evidences ?? [];
96
+ const backedByFirstParty = parentEvidences.length === 0 ||
97
+ parentEvidences.some((evidence) => evidence.isFirstParty !== false);
98
+ if (!backedByFirstParty) {
99
+ return [];
100
+ }
87
101
  const impliedSignatures = signatures.filter((s) => signature.impliedSoftwares?.includes(s.name));
88
102
  return impliedSignatures.flatMap((impliedSignature) => {
89
103
  // Skip implications that are themselves excluded (safety net: the implies
@@ -1 +1 @@
1
- {"version":3,"file":"detect_utils.js","sourceRoot":"","sources":["../../src/commands/detect_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect_utils.js","sourceRoot":"","sources":["../../src/commands/detect_utils.ts"],"names":[],"mappings":"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"}
@@ -186,6 +186,81 @@ describe("makeDetectCommandOutput", () => {
186
186
  expect(php?.evidences).toBeDefined();
187
187
  expect(php.evidences.map((e) => e.value)).toContain("wp-content");
188
188
  });
189
+ it("does not imply from a parent backed only by third-party evidence", () => {
190
+ // "WordPress" is detected solely from a third-party resource (isFirstParty
191
+ // false), e.g. a plugin name referenced inside an ad or form-collector
192
+ // script. It must not cascade into PHP/jQuery for the scanned target.
193
+ const detections = [
194
+ {
195
+ name: "WordPress",
196
+ evidences: [
197
+ {
198
+ type: "body",
199
+ value: "wp-content",
200
+ version: undefined,
201
+ confidence: "high",
202
+ host: "ads.example.net",
203
+ isFirstParty: false,
204
+ },
205
+ ],
206
+ },
207
+ ];
208
+ const result = makeDetectCommandOutput([], detections, baseSignatures);
209
+ const names = result.detectedSoftwares.map((s) => s.name);
210
+ expect(names).toContain("WordPress");
211
+ expect(names).not.toContain("PHP");
212
+ expect(names).not.toContain("jQuery");
213
+ });
214
+ it("still implies when the parent has at least one first-party evidence", () => {
215
+ const detections = [
216
+ {
217
+ name: "WordPress",
218
+ evidences: [
219
+ {
220
+ type: "body",
221
+ value: "wp-content",
222
+ version: undefined,
223
+ confidence: "high",
224
+ host: "ads.example.net",
225
+ isFirstParty: false,
226
+ },
227
+ {
228
+ type: "body",
229
+ value: "wp-includes",
230
+ version: undefined,
231
+ confidence: "high",
232
+ host: "example.com",
233
+ isFirstParty: true,
234
+ },
235
+ ],
236
+ },
237
+ ];
238
+ const result = makeDetectCommandOutput([], detections, baseSignatures);
239
+ const names = result.detectedSoftwares.map((s) => s.name);
240
+ expect(names).toContain("PHP");
241
+ expect(names).toContain("jQuery");
242
+ });
243
+ it("still implies when the evidence first-party flag is unknown", () => {
244
+ // Evidence without an isFirstParty flag is treated as first-party, matching
245
+ // the `?? true` convention, so existing detections keep implying.
246
+ const detections = [
247
+ {
248
+ name: "WordPress",
249
+ evidences: [
250
+ {
251
+ type: "body",
252
+ value: "wp-content",
253
+ version: undefined,
254
+ confidence: "high",
255
+ },
256
+ ],
257
+ },
258
+ ];
259
+ const result = makeDetectCommandOutput([], detections, baseSignatures);
260
+ const names = result.detectedSoftwares.map((s) => s.name);
261
+ expect(names).toContain("PHP");
262
+ expect(names).toContain("jQuery");
263
+ });
189
264
  it("should not duplicate when software is both detected and implied", () => {
190
265
  const detections = [
191
266
  {
@@ -1 +1 @@
1
- {"version":3,"file":"detect_utils.test.js","sourceRoot":"","sources":["../../src/commands/detect_utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAI3B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,MAAM,cAAc,GAAgB;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,oBAAoB,EAAE;QACvE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;QACrD,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE;QACpD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;SACpC;KACF,CAAC;IAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,sBAAsB;4BAC7B,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAC3C,2BAA2B,CAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,eAAe;4BACtB,OAAO,EAAE,OAAO;4BAChB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,KAAK;yBAClB;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAC9B,CAAC;YACF,MAAM,CAAC,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,YAAY;4BACnB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,YAAY;4BACnB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YACnE,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,YAAY;4BACnB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YACnE,6EAA6E;YAC7E,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,YAAY;4BACnB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YACnE,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,GAAI,CAAC,SAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,YAAY;4BACnB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,uBAAuB;4BAC9B,OAAO,EAAE,KAAK;4BACd,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CACxB,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,MAAM;yBACnB;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,UAAU,GAAgB;gBAC9B,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,YAAY,CAAC,EAAE;gBACnD,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,YAAY,CAAC,EAAE;gBACjD,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE;aAC5D,CAAC;YAEF,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,YAAY;4BACnB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,QAAQ;yBACrB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAEnE,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YACzE,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,CAAC,EAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,EAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvC,4EAA4E;YAC5E,6DAA6D;YAC7D,MAAM,CAAC,EAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAClF,MAAM,UAAU,GAAgB;gBAC9B,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE;aAC7C,CAAC;YAEF,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,QAAQ;yBACrB;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,MAAM;yBACnB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAEnE,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAC1B,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;YAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrD,MAAM,CAAC,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;YAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrD,MAAM,CAAC,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,UAAU,GAAgB;gBAC9B,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,iBAAiB;aACrC,CAAC;YAEF,MAAM,UAAU,GAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAEvE,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAEnE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,UAAU,GAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAEpD,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,GAAG;4BACV,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAM;4BAClB,IAAI,EAAE,eAAe;4BACrB,SAAS,EAAE,8BAA8B;yBAC1C;wBACD;4BACE,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,GAAG;4BACV,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAM;4BAClB,IAAI,EAAE,eAAe;4BACrB,SAAS,EAAE,kCAAkC;yBAC9C;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,GAAG;4BACV,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAM;4BAClB,IAAI,EAAE,eAAe;4BACrB,SAAS,EAAE,8BAA8B;yBAC1C;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,GAAG;4BACV,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,KAAK;4BACjB,IAAI,EAAE,eAAe;4BACrB,SAAS,EAAE,8BAA8B;yBAC1C;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAE,CAAC,SAAU,CAAC;YAE1D,MAAM,CACJ,SAAS,CAAC,GAAG,CACX,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE,CAClE,CACF,CAAC,OAAO,CAAC;gBACR,4DAA4D;gBAC5D,0DAA0D;gBAC1D,0DAA0D;gBAC1D,yDAAyD;aAC1D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,UAAU,GAAgB;gBAC9B;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,sBAAsB;4BAC7B,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,MAAM;4BAClB,IAAI,EAAE,eAAe;4BACrB,SAAS,EAAE,uBAAuB;yBACnC;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,sBAAsB;4BAC7B,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,MAAM;4BAClB,IAAI,EAAE,eAAe;4BACrB,SAAS,EAAE,uBAAuB;yBACnC;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,CACpD,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAM,CAAC,SAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnD,eAAe;gBACf,eAAe;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,aAA0C,CAAC;IAE/C,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,MAAe;iBAC5B;aACF;SACF,CAAC;QAEF,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE9C,MAAM,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK;aACvC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,QAAQ;oBACjB,UAAU,EAAE,MAAe;oBAC3B,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAiB;4BACvB,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,MAAe;yBAC5B;qBACF;iBACF;aACF;SACF,CAAC;QAEF,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK;aACvC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,MAAe;oBAC3B,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAiB;4BACvB,KAAK,EAAE,eAAe;4BACtB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAe;yBAC5B;qBACF;iBACF;aACF;SACF,CAAC;QAEF,8BAA8B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK;aACvC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,MAAe;oBAC3B,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,MAAe;4BACrB,KAAK,EAAE,oBAAoB;4BAC3B,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAe;4BAC3B,SAAS,EAAE,gCAAgC;yBAC5C;qBACF;iBACF;aACF;SACF,CAAC;QAEF,8BAA8B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK;aACvC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;QACrE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,MAAe;oBAC3B,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAiB;4BACvB,KAAK,EAAE,eAAe;4BACtB,OAAO,EAAE,SAAS;4BAClB,UAAU,EAAE,MAAe;yBAC5B;qBACF;iBACF;aACF;SACF,CAAC;QAEF,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK;aACvC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,MAAe;oBAC3B,SAAS,EAAE,WAAW;iBACvB;aACF;SACF,CAAC;QAEF,8BAA8B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK;aACvC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,aAA0C,CAAC;IAE/C,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,MAAe;iBAC5B;aACF;SACF,CAAC;QAEF,8BAA8B,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE;gBACjB;oBACE,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,QAAQ;oBACjB,UAAU,EAAE,MAAe;iBAC5B;aACF;SACF,CAAC;QAEF,8BAA8B,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,MAAM,UAAU,GAAgB;QAC9B,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE;QACrD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,aAAa;YAC1B,GAAG,EAAE,8BAA8B;YACnC,gBAAgB,EAAE,CAAC,MAAM,CAAC;SAC3B;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,0BAA0B;YAC/B,QAAQ,EAAE,CAAC,cAAc,CAAC;YAC1B,gBAAgB,EAAE,CAAC,MAAM,CAAC;SAC3B;KACF,CAAC;IAEF,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,UAAU,GAAgB;YAC9B;gBACE,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,8BAA8B;wBACrC,OAAO,EAAE,SAAS;wBAClB,UAAU,EAAE,MAAM;qBACnB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,aAAa;wBACpB,OAAO,EAAE,SAAS;wBAClB,UAAU,EAAE,MAAM;qBACnB;iBACF;aACF;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC5C,yEAAyE;QACzE,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CACJ,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAE,CAAC,SAAS,CACnE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,UAAU,GAAgB;YAC9B;gBACE,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,aAAa;wBACpB,OAAO,EAAE,SAAS;wBAClB,UAAU,EAAE,MAAM;qBACnB;iBACF;aACF;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"detect_utils.test.js","sourceRoot":"","sources":["../../src/commands/detect_utils.test.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,47 @@ describe("wordpressSignature", () => {
86
86
  const result = applySignature(context, wordpressSignature);
87
87
  expect(result).toBeDefined();
88
88
  });
89
+ it("does not detect WordPress from a third-party URL quoted inside a first-party script", () => {
90
+ const context = createMockContext({
91
+ responses: [
92
+ createMockResponse({
93
+ url: "https://example.com/js/app.min.js",
94
+ host: "example.com",
95
+ headers: { "content-type": "application/javascript" },
96
+ body: '"https://external.example/wp-content/plugins/foo/bar.js"',
97
+ }),
98
+ ],
99
+ });
100
+ const result = applySignature(context, wordpressSignature);
101
+ expect(result).toBeUndefined();
102
+ });
103
+ it("detects WordPress from an in-scope absolute wp-content URL", () => {
104
+ const context = createMockContext({
105
+ responses: [
106
+ createMockResponse({
107
+ body: '<link href="https://example.com/wp-content/themes/foo/style.css">',
108
+ }),
109
+ ],
110
+ });
111
+ const result = applySignature(context, wordpressSignature);
112
+ expect(result).toBeDefined();
113
+ });
114
+ it("does not read a version across an out-of-scope URL between the tokens", () => {
115
+ // "WordPress" and "6.4.2" are separated by an out-of-scope URL. Because
116
+ // the URL is excluded by span (not replaced with whitespace), the version
117
+ // pattern must not bridge the two into a spurious 6.4.2 detection. An
118
+ // in-scope relative path still yields a WordPress detection.
119
+ const context = createMockContext({
120
+ responses: [
121
+ createMockResponse({
122
+ body: '<link href="/wp-content/style.css"> WordPress https://external.example/a/b.js 6.4.2',
123
+ }),
124
+ ],
125
+ });
126
+ const result = applySignature(context, wordpressSignature);
127
+ expect(result).toBeDefined();
128
+ expect(result?.evidences?.every((e) => e.version !== "6.4.2")).toBe(true);
129
+ });
89
130
  });
90
131
  });
91
132
  //# sourceMappingURL=wordpress.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wordpress.test.js","sourceRoot":"","sources":["../../../src/signatures/technologies/wordpress.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wordpress.test.js","sourceRoot":"","sources":["../../../src/signatures/technologies/wordpress.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whopper",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "Whopper is a CLI tool that discovers and detects web technologies used on websites.",
5
5
  "scripts": {
6
6
  "build": "tsc -p tsconfig.json",