whopper 0.7.0 → 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.
Files changed (48) hide show
  1. package/dist/analyzer/apply.d.ts.map +1 -1
  2. package/dist/analyzer/apply.js +31 -2
  3. package/dist/analyzer/apply.js.map +1 -1
  4. package/dist/analyzer/apply.test.js +60 -2
  5. package/dist/analyzer/apply.test.js.map +1 -1
  6. package/dist/analyzer/match.d.ts +8 -0
  7. package/dist/analyzer/match.d.ts.map +1 -1
  8. package/dist/analyzer/match.js +33 -0
  9. package/dist/analyzer/match.js.map +1 -1
  10. package/dist/analyzer/match.test.js +26 -1
  11. package/dist/analyzer/match.test.js.map +1 -1
  12. package/dist/analyzer/scope.d.ts +17 -0
  13. package/dist/analyzer/scope.d.ts.map +1 -0
  14. package/dist/analyzer/scope.js +43 -0
  15. package/dist/analyzer/scope.js.map +1 -0
  16. package/dist/analyzer/scope.test.d.ts +2 -0
  17. package/dist/analyzer/scope.test.d.ts.map +1 -0
  18. package/dist/analyzer/scope.test.js +51 -0
  19. package/dist/analyzer/scope.test.js.map +1 -0
  20. package/dist/analyzer/types.d.ts +1 -0
  21. package/dist/analyzer/types.d.ts.map +1 -1
  22. package/dist/analyzer/utils.d.ts +1 -0
  23. package/dist/analyzer/utils.d.ts.map +1 -1
  24. package/dist/analyzer/utils.js +12 -0
  25. package/dist/analyzer/utils.js.map +1 -1
  26. package/dist/analyzer/utils.test.d.ts +2 -0
  27. package/dist/analyzer/utils.test.d.ts.map +1 -0
  28. package/dist/analyzer/utils.test.js +28 -0
  29. package/dist/analyzer/utils.test.js.map +1 -0
  30. package/dist/commands/detect_utils.d.ts.map +1 -1
  31. package/dist/commands/detect_utils.js +24 -2
  32. package/dist/commands/detect_utils.js.map +1 -1
  33. package/dist/commands/detect_utils.test.js +117 -1
  34. package/dist/commands/detect_utils.test.js.map +1 -1
  35. package/dist/signatures/technologies/neve.js +1 -1
  36. package/dist/signatures/technologies/neve.js.map +1 -1
  37. package/dist/signatures/technologies/neve.test.js +15 -0
  38. package/dist/signatures/technologies/neve.test.js.map +1 -1
  39. package/dist/signatures/technologies/ruby_on_rails.d.ts.map +1 -1
  40. package/dist/signatures/technologies/ruby_on_rails.js +18 -1
  41. package/dist/signatures/technologies/ruby_on_rails.js.map +1 -1
  42. package/dist/signatures/technologies/ruby_on_rails.test.d.ts +2 -0
  43. package/dist/signatures/technologies/ruby_on_rails.test.d.ts.map +1 -0
  44. package/dist/signatures/technologies/ruby_on_rails.test.js +234 -0
  45. package/dist/signatures/technologies/ruby_on_rails.test.js.map +1 -0
  46. package/dist/signatures/technologies/wordpress.test.js +41 -0
  47. package/dist/signatures/technologies/wordpress.test.js.map +1 -1
  48. package/package.json +1 -1
@@ -7,4 +7,16 @@ export const maxConfidence = (confidences) => {
7
7
  }
8
8
  return "low";
9
9
  };
10
+ // Lower a confidence by one level. Used for implied (indirectly detected)
11
+ // softwares, which should never be reported with the same confidence as the
12
+ // direct detection that implied them.
13
+ export const demoteConfidence = (confidence) => {
14
+ if (confidence === "high") {
15
+ return "medium";
16
+ }
17
+ if (confidence === "medium") {
18
+ return "low";
19
+ }
20
+ return "low";
21
+ };
10
22
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/analyzer/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAyB,EAAc,EAAE;IACrE,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/analyzer/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAyB,EAAc,EAAE;IACrE,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,0EAA0E;AAC1E,4EAA4E;AAC5E,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAsB,EAAc,EAAE;IACrE,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../src/analyzer/utils.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { demoteConfidence, maxConfidence } from "./utils.js";
3
+ describe("maxConfidence", () => {
4
+ it("returns high when any confidence is high", () => {
5
+ expect(maxConfidence(["low", "high", "medium"])).toBe("high");
6
+ });
7
+ it("returns medium when the highest is medium", () => {
8
+ expect(maxConfidence(["low", "medium", "low"])).toBe("medium");
9
+ });
10
+ it("returns low when all are low", () => {
11
+ expect(maxConfidence(["low", "low"])).toBe("low");
12
+ });
13
+ it("returns low for an empty list", () => {
14
+ expect(maxConfidence([])).toBe("low");
15
+ });
16
+ });
17
+ describe("demoteConfidence", () => {
18
+ it("demotes high to medium", () => {
19
+ expect(demoteConfidence("high")).toBe("medium");
20
+ });
21
+ it("demotes medium to low", () => {
22
+ expect(demoteConfidence("medium")).toBe("low");
23
+ });
24
+ it("keeps low at low", () => {
25
+ expect(demoteConfidence("low")).toBe("low");
26
+ });
27
+ });
28
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/analyzer/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,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,CAoJrB;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"}
@@ -1,5 +1,5 @@
1
1
  import chalk from "chalk";
2
- import { maxConfidence } from "../analyzer/utils.js";
2
+ import { demoteConfidence, maxConfidence } from "../analyzer/utils.js";
3
3
  export function colorizeConfidence(confidence) {
4
4
  switch (confidence) {
5
5
  case "high":
@@ -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
@@ -97,12 +111,20 @@ export function makeDetectCommandOutput(urls, detections, signatures) {
97
111
  }
98
112
  const impliedSoftware = {
99
113
  name: impliedSignature.name,
100
- confidence: detectedSoftware.confidence,
114
+ // Implied softwares are detected indirectly, so they are reported one
115
+ // confidence level below the direct detection that implied them.
116
+ confidence: demoteConfidence(detectedSoftware.confidence),
101
117
  impliedBy: detectedSoftware.name,
102
118
  };
103
119
  if (impliedSignature.description) {
104
120
  impliedSoftware.description = impliedSignature.description;
105
121
  }
122
+ // Carry over the parent's evidences so the report can show what led to
123
+ // the implication. The per-evidence confidence stays as-is; only the
124
+ // aggregate confidence above is demoted.
125
+ if (detectedSoftware.evidences?.length) {
126
+ impliedSoftware.evidences = detectedSoftware.evidences;
127
+ }
106
128
  return [impliedSoftware];
107
129
  });
108
130
  });
@@ -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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"}
@@ -147,6 +147,120 @@ describe("makeDetectCommandOutput", () => {
147
147
  const php = result.detectedSoftwares.find((s) => s.name === "PHP");
148
148
  expect(php?.impliedBy).toBe("WordPress");
149
149
  });
150
+ it("should demote implied confidence one level below its parent", () => {
151
+ const detections = [
152
+ {
153
+ name: "WordPress",
154
+ evidences: [
155
+ {
156
+ type: "body",
157
+ value: "wp-content",
158
+ version: undefined,
159
+ confidence: "high",
160
+ },
161
+ ],
162
+ },
163
+ ];
164
+ const result = makeDetectCommandOutput([], detections, baseSignatures);
165
+ const php = result.detectedSoftwares.find((s) => s.name === "PHP");
166
+ // WordPress is detected at high, so its implications are reported at medium.
167
+ expect(php?.confidence).toBe("medium");
168
+ });
169
+ it("should carry the parent's evidences onto implied softwares", () => {
170
+ const detections = [
171
+ {
172
+ name: "WordPress",
173
+ evidences: [
174
+ {
175
+ type: "body",
176
+ value: "wp-content",
177
+ version: undefined,
178
+ confidence: "high",
179
+ },
180
+ ],
181
+ },
182
+ ];
183
+ const result = makeDetectCommandOutput([], detections, baseSignatures);
184
+ const php = result.detectedSoftwares.find((s) => s.name === "PHP");
185
+ expect(php?.impliedBy).toBe("WordPress");
186
+ expect(php?.evidences).toBeDefined();
187
+ expect(php.evidences.map((e) => e.value)).toContain("wp-content");
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
+ });
150
264
  it("should not duplicate when software is both detected and implied", () => {
151
265
  const detections = [
152
266
  {
@@ -236,7 +350,9 @@ describe("makeDetectCommandOutput", () => {
236
350
  expect(js).toBeDefined();
237
351
  expect(js.impliedBy).toContain("React");
238
352
  expect(js.impliedBy).toContain("Vue");
239
- expect(js.confidence).toBe("high"); // Should use highest confidence
353
+ // Implied confidences are demoted from their parents (React high -> medium,
354
+ // Vue medium -> low), then merged to the highest of the two.
355
+ expect(js.confidence).toBe("medium");
240
356
  });
241
357
  it("should create separate entries when same software has different versions", () => {
242
358
  const signatures = [
@@ -1 +1 @@
1
- {"version":3,"file":"detect_utils.test.js","sourceRoot":"","sources":["../../src/commands/detect_utils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect_utils.test.js","sourceRoot":"","sources":["../../src/commands/detect_utils.test.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export const neveSignature = {
5
5
  rule: {
6
6
  confidence: "high",
7
7
  urls: ["themes/neve\\S*\\.js(?:\\?ver=([0-9.]+))?"],
8
- bodies: ["neve\\S*\\.css", "(?<![\\w-])neve-theme(?![\\w-])"],
8
+ bodies: ["themes/neve[\\w./-]*\\.css", "(?<![\\w-])neve-theme(?![\\w-])"],
9
9
  },
10
10
  impliedSoftwares: [wordpressSignature.name],
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"neve.js","sourceRoot":"","sources":["../../../src/signatures/technologies/neve.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,8JAA8J;IAChK,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,CAAC,2CAA2C,CAAC;QACnD,MAAM,EAAE,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;KAC9D;IACD,gBAAgB,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;CAC5C,CAAC"}
1
+ {"version":3,"file":"neve.js","sourceRoot":"","sources":["../../../src/signatures/technologies/neve.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,8JAA8J;IAChK,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,CAAC,2CAA2C,CAAC;QACnD,MAAM,EAAE,CAAC,4BAA4B,EAAE,iCAAiC,CAAC;KAC1E;IACD,gBAAgB,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;CAC5C,CAAC"}
@@ -60,6 +60,21 @@ describe("neveSignature", () => {
60
60
  const result = applySignature(context, neveSignature);
61
61
  expect(result).toBeUndefined();
62
62
  });
63
+ it("does not detect Neve from a minified JS body where 'neve' is only a substring", () => {
64
+ // "whenever" contains the substring "neve", and ".css" appears later in
65
+ // the same run of non-whitespace characters. A loose "neve\\S*\\.css"
66
+ // pattern would falsely match here even though there is no Neve theme.
67
+ const context = createMockContext({
68
+ responses: [
69
+ createMockResponse({
70
+ headers: { "content-type": "application/javascript" },
71
+ body: 'var whenever=1,x=load("assets/app.min.css");',
72
+ }),
73
+ ],
74
+ });
75
+ const result = applySignature(context, neveSignature);
76
+ expect(result).toBeUndefined();
77
+ });
63
78
  });
64
79
  describe("url matching", () => {
65
80
  it("detects Neve from themes/neve JS URL with version", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"neve.test.js","sourceRoot":"","sources":["../../../src/signatures/technologies/neve.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"neve.test.js","sourceRoot":"","sources":["../../../src/signatures/technologies/neve.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ruby_on_rails.d.ts","sourceRoot":"","sources":["../../../src/signatures/technologies/ruby_on_rails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,oBAAoB,EAAE,SAwBlC,CAAC"}
1
+ {"version":3,"file":"ruby_on_rails.d.ts","sourceRoot":"","sources":["../../../src/signatures/technologies/ruby_on_rails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,oBAAoB,EAAE,SAyClC,CAAC"}
@@ -12,7 +12,24 @@ export const rubyOnRailsSignature = {
12
12
  cookies: {
13
13
  _session_id: ".+",
14
14
  },
15
- urls: ["/assets/application-[a-z\\d]{32}/\\.js"],
15
+ // Rails fingerprints assets with a hex digest whose length identifies the
16
+ // pipeline: Propshaft truncates SHA-1 to 8 chars (the default pipeline
17
+ // since Rails 8), Sprockets 2 used MD5 (32 chars, Rails 3.1 to 4.1) and
18
+ // Sprockets 3 onwards uses SHA-256 (64 chars, from the Rails 4.2/5.0 era).
19
+ // Enumerate the three lengths rather than spanning a range, so unrelated
20
+ // fingerprints such as a full 40-char SHA-1 cannot match.
21
+ //
22
+ // `^[^?#]*` keeps the match inside the URL path, so an asset path echoed
23
+ // back in a query string (`/login?next=/assets/application-0a1b2c3d.js`)
24
+ // does not count. The trailing boundary rejects `.json` / `.jsx` while
25
+ // still allowing the sourcemap suffix both pipelines emit and any query or
26
+ // fragment (Sprockets debug mode appends `?body=1`).
27
+ //
28
+ // Caveat: signature regexes are compiled case-insensitively, so an
29
+ // uppercase digest matches too even though Rails only emits lowercase hex.
30
+ urls: [
31
+ "^[^?#]*/assets/application-(?:[a-f\\d]{8}|[a-f\\d]{32}|[a-f\\d]{64})\\.(?:js|css)(?:\\.map)?(?:$|[?#])",
32
+ ],
16
33
  bodies: [
17
34
  "<meta[^>]+name=[\"']csrf-param[\"'][^>]+content=[\"']authenticity_token[\"']",
18
35
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"ruby_on_rails.js","sourceRoot":"","sources":["../../../src/signatures/technologies/ruby_on_rails.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAc;IAC7C,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,iGAAiG;IACnG,GAAG,EAAE,0BAA0B;IAC/B,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE;YACP,MAAM,EAAE,oBAAoB;YAC5B,cAAc,EAAE,oBAAoB;SACrC;QACD,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;QACD,IAAI,EAAE,CAAC,wCAAwC,CAAC;QAChD,MAAM,EAAE;YACN,8EAA8E;SAC/E;QACD,mBAAmB,EAAE;YACnB,YAAY,EAAE,EAAE;YAChB,0CAA0C,EAAE,EAAE;SAC/C;KACF;IACD,gBAAgB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"ruby_on_rails.js","sourceRoot":"","sources":["../../../src/signatures/technologies/ruby_on_rails.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAc;IAC7C,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,iGAAiG;IACnG,GAAG,EAAE,0BAA0B;IAC/B,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE;YACP,MAAM,EAAE,oBAAoB;YAC5B,cAAc,EAAE,oBAAoB;SACrC;QACD,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;QACD,0EAA0E;QAC1E,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,0DAA0D;QAC1D,EAAE;QACF,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,2EAA2E;QAC3E,qDAAqD;QACrD,EAAE;QACF,mEAAmE;QACnE,2EAA2E;QAC3E,IAAI,EAAE;YACJ,wGAAwG;SACzG;QACD,MAAM,EAAE;YACN,8EAA8E;SAC/E;QACD,mBAAmB,EAAE;YACnB,YAAY,EAAE,EAAE;YAChB,0CAA0C,EAAE,EAAE;SAC/C;KACF;IACD,gBAAgB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;CACvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ruby_on_rails.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruby_on_rails.test.d.ts","sourceRoot":"","sources":["../../../src/signatures/technologies/ruby_on_rails.test.ts"],"names":[],"mappings":""}