supply-chain-guard 5.25.0 → 5.25.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 (43) hide show
  1. package/README.md +1 -1
  2. package/action.yml +1 -1
  3. package/dist/archive-extractor.d.ts.map +1 -1
  4. package/dist/archive-extractor.js +139 -33
  5. package/dist/archive-extractor.js.map +1 -1
  6. package/dist/cli.js +1 -1
  7. package/dist/dependency-confusion.js +1 -1
  8. package/dist/feed.d.ts.map +1 -1
  9. package/dist/feed.js +3 -1
  10. package/dist/feed.js.map +1 -1
  11. package/dist/ioc-blocklist.d.ts.map +1 -1
  12. package/dist/ioc-blocklist.js +26 -0
  13. package/dist/ioc-blocklist.js.map +1 -1
  14. package/dist/npm-scanner.d.ts +16 -0
  15. package/dist/npm-scanner.d.ts.map +1 -1
  16. package/dist/npm-scanner.js +169 -101
  17. package/dist/npm-scanner.js.map +1 -1
  18. package/dist/pypi-scanner.d.ts +7 -0
  19. package/dist/pypi-scanner.d.ts.map +1 -1
  20. package/dist/pypi-scanner.js +69 -82
  21. package/dist/pypi-scanner.js.map +1 -1
  22. package/dist/remote-download.d.ts +35 -0
  23. package/dist/remote-download.d.ts.map +1 -0
  24. package/dist/remote-download.js +309 -0
  25. package/dist/remote-download.js.map +1 -0
  26. package/dist/reporter.js +5 -5
  27. package/dist/sbom-generator.js +1 -1
  28. package/dist/scanner.d.ts.map +1 -1
  29. package/dist/scanner.js +15 -58
  30. package/dist/scanner.js.map +1 -1
  31. package/dist/solana-monitor.d.ts +4 -0
  32. package/dist/solana-monitor.d.ts.map +1 -1
  33. package/dist/solana-monitor.js +82 -19
  34. package/dist/solana-monitor.js.map +1 -1
  35. package/dist/threat-intel.d.ts +8 -2
  36. package/dist/threat-intel.d.ts.map +1 -1
  37. package/dist/threat-intel.js +129 -11
  38. package/dist/threat-intel.js.map +1 -1
  39. package/dist/vscode-scanner.d.ts +7 -0
  40. package/dist/vscode-scanner.d.ts.map +1 -1
  41. package/dist/vscode-scanner.js +132 -142
  42. package/dist/vscode-scanner.js.map +1 -1
  43. package/package.json +3 -3
package/README.md CHANGED
@@ -131,7 +131,7 @@ Run the scanner as a [pre-commit](https://pre-commit.com) hook (Python-ecosystem
131
131
  ```yaml
132
132
  repos:
133
133
  - repo: https://github.com/homeofe/supply-chain-guard
134
- rev: v5.25.0
134
+ rev: v5.25.2
135
135
  hooks:
136
136
  - id: supply-chain-guard
137
137
  ```
package/action.yml CHANGED
@@ -66,7 +66,7 @@ runs:
66
66
 
67
67
  - name: Install supply-chain-guard
68
68
  shell: bash
69
- run: npm install -g supply-chain-guard@5.25.0 --ignore-scripts --no-audit --no-fund
69
+ run: npm install -g supply-chain-guard@5.25.2 --ignore-scripts --no-audit --no-fund
70
70
 
71
71
  - name: Run scan
72
72
  id: scan
@@ -1 +1 @@
1
- {"version":3,"file":"archive-extractor.d.ts","sourceRoot":"","sources":["../src/archive-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAC3C,eAAO,MAAM,uBAAuB,QAAoB,CAAC;AACzD,eAAO,MAAM,0BAA0B,QAAoB,CAAC;AA2B5D,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AA4TD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAwE7D;AAiFD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAiF7D;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI,CAQ3F;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAKxE;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAK1E"}
1
+ {"version":3,"file":"archive-extractor.d.ts","sourceRoot":"","sources":["../src/archive-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAC3C,eAAO,MAAM,uBAAuB,QAAoB,CAAC;AACzD,eAAO,MAAM,0BAA0B,QAAoB,CAAC;AAgC5D,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AA+XD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CA8E7D;AAwFD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAyG7D;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI,CA2B3F;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAKxE;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAK1E"}
@@ -57,6 +57,10 @@ const ZIP_CENTRAL_HEADER_SIZE = 46;
57
57
  const ZIP_LOCAL_HEADER_SIZE = 30;
58
58
  const TAR_BLOCK_SIZE = 512;
59
59
  const ARCHIVE_MAX_RESOLUTION_WORK = exports.ARCHIVE_MAX_ENTRIES * 16;
60
+ const WINDOWS_FORBIDDEN_COMPONENT_CHARS = /[<>:"|?*\u0001-\u001f]/u;
61
+ const WINDOWS_RESERVED_COMPONENT = /^(?:con|prn|aux|nul|clock\$|conin\$|conout\$|com[1-9\u00b9\u00b2\u00b3]|lpt[1-9\u00b9\u00b2\u00b3])(?:\.|$)/iu;
62
+ const WINDOWS_SHORT_NAME_ALIAS = /~[1-9][0-9]*(?:\.|$)/u;
63
+ const UNICODE_DEFAULT_IGNORABLE = /\p{Default_Ignorable_Code_Point}/u;
60
64
  class ArchiveSecurityError extends Error {
61
65
  constructor(message) {
62
66
  super(`Unsafe archive: ${message}`);
@@ -97,6 +101,42 @@ function readBoundedArchive(archivePath) {
97
101
  unsafe(`input size exceeds ${exports.ARCHIVE_MAX_INPUT_BYTES} bytes`);
98
102
  return content;
99
103
  }
104
+ /**
105
+ * Reject member components whose on-disk identity can differ across supported
106
+ * extractors. Windows bsdtar sanitizes reserved punctuation, Win32 trims final
107
+ * dots/spaces, DOS device names bypass ordinary filename semantics, 8.3 aliases
108
+ * can collide with a different long name, and case-insensitive HFS+ ignores
109
+ * Unicode formatting code points during comparison. Reject the full Unicode
110
+ * Default_Ignorable set rather than maintaining an incomplete HFS-era subset.
111
+ * A partial scan is safer than validating one name and scanning bytes extracted
112
+ * under another.
113
+ */
114
+ function validatePortableMemberComponent(component, label) {
115
+ if (WINDOWS_FORBIDDEN_COMPONENT_CHARS.test(component)) {
116
+ unsafe(`${label} contains Windows-special filename syntax`);
117
+ }
118
+ if (/[. ]$/u.test(component)) {
119
+ unsafe(`${label} ends with a dot or space`);
120
+ }
121
+ if (WINDOWS_RESERVED_COMPONENT.test(component)) {
122
+ unsafe(`${label} uses a reserved Windows device name`);
123
+ }
124
+ if (WINDOWS_SHORT_NAME_ALIAS.test(component)) {
125
+ unsafe(`${label} can alias a Windows 8.3 short name`);
126
+ }
127
+ if (UNICODE_DEFAULT_IGNORABLE.test(component)) {
128
+ unsafe(`${label} contains a Unicode default-ignorable filename character`);
129
+ }
130
+ }
131
+ /** Key paths the way the case-insensitive Windows extraction backend sees them. */
132
+ function portableMemberPathKey(memberPath) {
133
+ return memberPath
134
+ .split("/")
135
+ // Windows compares filenames through an invariant uppercase table. Using
136
+ // lowercase misses aliases such as Greek sigma/final-sigma and long-s.
137
+ .map((component) => component.normalize("NFC").toUpperCase().normalize("NFC"))
138
+ .join("/");
139
+ }
100
140
  /** Normalize using POSIX semantics; reject host-dependent backslash handling. */
101
141
  function normalizeMemberPath(rawPath, label = "entry path", allowRoot = false) {
102
142
  if (rawPath.length === 0 || rawPath.includes("\0"))
@@ -111,6 +151,7 @@ function normalizeMemberPath(rawPath, label = "entry path", allowRoot = false) {
111
151
  continue;
112
152
  if (component === "..")
113
153
  unsafe(`${label} traverses outside the extraction root`);
154
+ validatePortableMemberComponent(component, label);
114
155
  normalized.push(component);
115
156
  }
116
157
  if (normalized.length === 0 && !allowRoot)
@@ -134,8 +175,10 @@ function resolveRelativeTarget(linkPath, rawTarget) {
134
175
  unsafe(`link "${linkPath}" escapes the extraction root`);
135
176
  components.pop();
136
177
  }
137
- else
178
+ else {
179
+ validatePortableMemberComponent(component, `link "${linkPath}" target`);
138
180
  components.push(component);
181
+ }
139
182
  }
140
183
  return components.join("/");
141
184
  }
@@ -149,7 +192,7 @@ function resolveVirtualPath(rawPath, entries, followFinal, context) {
149
192
  const cacheTrail = [];
150
193
  for (let hops = 0; hops <= exports.ARCHIVE_MAX_ENTRIES; hops++) {
151
194
  const currentPath = components.join("/");
152
- const cacheKey = `${followFinal ? "follow" : "preserve"}\0${currentPath}`;
195
+ const cacheKey = `${followFinal ? "follow" : "preserve"}\0${portableMemberPathKey(currentPath)}`;
153
196
  const cached = context.resolvedPaths.get(cacheKey);
154
197
  if (cached !== undefined) {
155
198
  for (const trailKey of cacheTrail)
@@ -166,15 +209,16 @@ function resolveVirtualPath(rawPath, entries, followFinal, context) {
166
209
  }
167
210
  prefix.push(components[index]);
168
211
  const current = prefix.join("/");
169
- const entry = entries.get(current);
212
+ const currentKey = portableMemberPathKey(current);
213
+ const entry = entries.get(currentKey);
170
214
  const isFinal = index === components.length - 1;
171
215
  if (entry?.kind !== "symlink" || (isFinal && !followFinal))
172
216
  continue;
173
217
  // Seeing the same link twice while resolving one path is a cycle even
174
218
  // when each pass grows or otherwise changes the remaining suffix.
175
- if (visitedLinks.has(current))
219
+ if (visitedLinks.has(currentKey))
176
220
  unsafe(`link cycle passes through "${current}"`);
177
- visitedLinks.add(current);
221
+ visitedLinks.add(currentKey);
178
222
  if (entry.target === undefined)
179
223
  unsafe(`link "${current}" has no target`);
180
224
  const targetComponents = entry.target === "" ? [] : entry.target.split("/");
@@ -194,9 +238,11 @@ function resolveVirtualPath(rawPath, entries, followFinal, context) {
194
238
  function validateArchiveGraph(entries) {
195
239
  const byPath = new Map();
196
240
  for (const entry of entries) {
197
- if (byPath.has(entry.path))
198
- unsafe(`duplicate member path "${entry.path}"`);
199
- byPath.set(entry.path, entry);
241
+ const entryKey = portableMemberPathKey(entry.path);
242
+ if (byPath.has(entryKey)) {
243
+ unsafe(`duplicate or case-aliased member path "${entry.path}"`);
244
+ }
245
+ byPath.set(entryKey, entry);
200
246
  }
201
247
  const resolutionContext = {
202
248
  resolvedPaths: new Map(),
@@ -206,7 +252,7 @@ function validateArchiveGraph(entries) {
206
252
  const components = entry.path.split("/");
207
253
  for (let length = 1; length < components.length; length++) {
208
254
  const ancestorPath = components.slice(0, length).join("/");
209
- const ancestor = byPath.get(ancestorPath);
255
+ const ancestor = byPath.get(portableMemberPathKey(ancestorPath));
210
256
  if (ancestor !== undefined && ancestor.kind !== "directory" && ancestor.kind !== "symlink") {
211
257
  unsafe(`member "${entry.path}" is nested below non-directory "${ancestorPath}"`);
212
258
  }
@@ -223,7 +269,7 @@ function validateArchiveGraph(entries) {
223
269
  if (entry.target === undefined)
224
270
  unsafe(`hardlink "${entry.path}" has no target`);
225
271
  const resolved = resolveVirtualPath(entry.target, byPath, true, resolutionContext);
226
- const targetEntry = byPath.get(resolved);
272
+ const targetEntry = byPath.get(portableMemberPathKey(resolved));
227
273
  if (targetEntry === undefined || targetEntry.kind !== "file") {
228
274
  unsafe(`hardlink "${entry.path}" does not target a regular archive member`);
229
275
  }
@@ -254,6 +300,15 @@ function validateZipExtraFields(extra, label) {
254
300
  // so unzip cannot extract a path other than the one validated here.
255
301
  if (id === 0x7075)
256
302
  unsafe(`${label} contains a path-overriding Unicode extra field`);
303
+ // Info-ZIP's ASi Unix field can override the central Unix mode, including
304
+ // changing a preflighted regular file into a symlink during extraction.
305
+ if (id === 0x756e)
306
+ unsafe(`${label} contains an ASi Unix type-overriding extra field`);
307
+ // Libarchive's experimental xl field can copy made-by and external mode
308
+ // attributes into a local header, changing the entry type after the central
309
+ // directory was preflighted.
310
+ if (id === 0x6c78)
311
+ unsafe(`${label} contains an xl type-overriding extra field`);
257
312
  cursor += size;
258
313
  }
259
314
  }
@@ -331,6 +386,16 @@ function decodeArchiveString(value, label) {
331
386
  unsafe(`${label} is not valid UTF-8`);
332
387
  return decoded;
333
388
  }
389
+ function decodeZipPortableString(value, flags, label) {
390
+ // ZIP bit 11 is the only portable promise that a filename is UTF-8. Without
391
+ // it, extractors interpret high bytes through legacy encodings such as CP437,
392
+ // so validating them as UTF-8 can inspect a different name than is written.
393
+ // ASCII is invariant across those encodings and remains safe.
394
+ if ((flags & 0x0800) === 0 && value.some((byte) => byte >= 0x80)) {
395
+ unsafe(`legacy-encoded ${label} must be ASCII`);
396
+ }
397
+ return decodeArchiveString(value, label);
398
+ }
334
399
  function zipLocalPayload(content, entry, centralOffset) {
335
400
  const offset = entry.localHeaderOffset;
336
401
  if (offset < 0 || offset + ZIP_LOCAL_HEADER_SIZE > centralOffset || content.readUInt32LE(offset) !== 0x04034b50) {
@@ -452,10 +517,13 @@ function preflightZipArchive(archivePath) {
452
517
  if (zip64.localOffset !== undefined)
453
518
  localHeaderOffset = zip64.localOffset;
454
519
  expandedBytes = addExpandedBytes(expandedBytes, uncompressedSize);
455
- const rawName = decodeArchiveString(filenameBytes, "ZIP member name");
520
+ const rawName = decodeZipPortableString(filenameBytes, flags, "ZIP member name");
456
521
  const hostSystem = madeBy >>> 8;
457
522
  const unixType = (externalAttributes >>> 16) & 0o170000;
458
523
  let kind;
524
+ if (hostSystem !== 3 && unixType !== 0) {
525
+ unsafe(`member "${rawName}" has ambiguous Unix type bits from ZIP host ${hostSystem}`);
526
+ }
459
527
  if (hostSystem === 3 && unixType !== 0) {
460
528
  if (unixType === 0o040000)
461
529
  kind = "directory";
@@ -485,7 +553,7 @@ function preflightZipArchive(archivePath) {
485
553
  if (entry.kind === "symlink") {
486
554
  if (expanded.length > MAX_LINK_TARGET_BYTES)
487
555
  unsafe(`link "${entry.path}" target is too large`);
488
- entry.target = resolveRelativeTarget(entry.path, decodeArchiveString(expanded, `link "${entry.path}" target`));
556
+ entry.target = resolveRelativeTarget(entry.path, decodeZipPortableString(expanded, entry.flags, `ZIP link "${entry.path}" target`));
489
557
  }
490
558
  localRegions.push({ start: local.start, end: local.end, path: entry.path || "." });
491
559
  }
@@ -518,10 +586,16 @@ function parseTarNumber(field, label) {
518
586
  unsafe(`${label} is not a valid octal number`);
519
587
  return checkedSafeInteger(BigInt(`0o${raw}`), label);
520
588
  }
521
- function tarField(header, start, length) {
589
+ function decodeLegacyTarString(value, label) {
590
+ if (value.some((byte) => byte >= 0x80)) {
591
+ unsafe(`${label} must be ASCII; use a UTF-8 PAX path or linkpath record`);
592
+ }
593
+ return value.toString("ascii");
594
+ }
595
+ function tarFieldBytes(header, start, length) {
522
596
  const field = header.subarray(start, start + length);
523
597
  const nul = field.indexOf(0);
524
- return decodeArchiveString(nul === -1 ? field : field.subarray(0, nul), "tar header string");
598
+ return nul === -1 ? field : field.subarray(0, nul);
525
599
  }
526
600
  function verifyTarChecksum(header) {
527
601
  const expected = parseTarNumber(header.subarray(148, 156), "tar checksum");
@@ -609,8 +683,6 @@ function preflightTarArchive(archivePath) {
609
683
  let sawEndMarker = false;
610
684
  let nextOverrides = {};
611
685
  let globalOverrides = {};
612
- let gnuLongPath;
613
- let gnuLongLink;
614
686
  while (cursor + TAR_BLOCK_SIZE <= content.length) {
615
687
  const header = content.subarray(cursor, cursor + TAR_BLOCK_SIZE);
616
688
  if (header.every((byte) => byte === 0)) {
@@ -624,16 +696,27 @@ function preflightTarArchive(archivePath) {
624
696
  if (headerCount > exports.ARCHIVE_MAX_ENTRIES)
625
697
  unsafe(`entry count exceeds ${exports.ARCHIVE_MAX_ENTRIES}`);
626
698
  verifyTarChecksum(header);
627
- const headerName = tarField(header, 0, 100);
628
- const prefix = tarField(header, 345, 155);
629
- const rawHeaderPath = prefix ? `${prefix}/${headerName}` : headerName;
630
- const rawHeaderLink = tarField(header, 157, 100);
699
+ const headerNameBytes = tarFieldBytes(header, 0, 100);
700
+ const posixUstar = header.subarray(257, 263).equals(Buffer.from([0x75, 0x73, 0x74, 0x61, 0x72, 0x00])) &&
701
+ header[263] === 0x30 &&
702
+ header[264] === 0x30;
703
+ // Bytes 345..499 are a pathname prefix only in POSIX ustar/PAX. Old-GNU
704
+ // uses the same region for timestamps and sparse metadata; V7 leaves it
705
+ // outside the header. Treating either as a prefix validates a path that the
706
+ // extractor never writes.
707
+ const prefixBytes = posixUstar
708
+ ? tarFieldBytes(header, 345, 155)
709
+ : Buffer.alloc(0);
710
+ const rawHeaderLinkBytes = tarFieldBytes(header, 157, 100);
631
711
  const typeFlag = header[156] === 0 ? "0" : String.fromCharCode(header[156]);
632
712
  const headerSize = parseTarNumber(header.subarray(124, 136), "tar entry size");
633
713
  const overrides = { ...globalOverrides, ...nextOverrides };
634
- const size = overrides.size ?? headerSize;
635
- if (overrides.sparse || typeFlag === "S")
714
+ const metadataRecord = typeFlag === "x" || typeFlag === "g" ||
715
+ typeFlag === "L" || typeFlag === "K";
716
+ const size = metadataRecord ? headerSize : (overrides.size ?? headerSize);
717
+ if ((!metadataRecord && overrides.sparse) || typeFlag === "S") {
636
718
  unsafe("sparse tar entries are not supported");
719
+ }
637
720
  const dataStart = cursor + TAR_BLOCK_SIZE;
638
721
  expandedBytes = addExpandedBytes(expandedBytes, size);
639
722
  const payload = readTarPayload(content, dataStart, size);
@@ -645,7 +728,7 @@ function preflightTarArchive(archivePath) {
645
728
  if (typeFlag === "g")
646
729
  globalOverrides = { ...globalOverrides, ...parsed };
647
730
  else
648
- nextOverrides = parsed;
731
+ nextOverrides = { ...nextOverrides, ...parsed };
649
732
  cursor = nextCursor;
650
733
  continue;
651
734
  }
@@ -653,19 +736,26 @@ function preflightTarArchive(archivePath) {
653
736
  if (size > MAX_LINK_TARGET_BYTES)
654
737
  unsafe("GNU tar long-name record is too large");
655
738
  const nul = payload.indexOf(0);
656
- const value = decodeArchiveString(nul === -1 ? payload : payload.subarray(0, nul), "GNU tar long-name record");
657
- if (typeFlag === "L")
658
- gnuLongPath = value;
659
- else
660
- gnuLongLink = value;
739
+ const value = decodeLegacyTarString(nul === -1 ? payload : payload.subarray(0, nul), "GNU tar long-name record");
740
+ nextOverrides = typeFlag === "L"
741
+ ? { ...nextOverrides, path: value }
742
+ : { ...nextOverrides, linkpath: value };
661
743
  cursor = nextCursor;
662
744
  continue;
663
745
  }
664
- const rawPath = overrides.path ?? gnuLongPath ?? rawHeaderPath;
665
- const rawLink = overrides.linkpath ?? gnuLongLink ?? rawHeaderLink;
746
+ const selectedOverrides = { ...globalOverrides, ...nextOverrides };
747
+ let rawPath = selectedOverrides.path;
748
+ if (rawPath === undefined) {
749
+ const headerName = decodeLegacyTarString(headerNameBytes, "tar header name");
750
+ const prefix = decodeLegacyTarString(prefixBytes, "tar header prefix");
751
+ rawPath = prefix ? `${prefix}/${headerName}` : headerName;
752
+ }
753
+ let rawLink = selectedOverrides.linkpath;
754
+ if (rawLink === undefined && (typeFlag === "1" || typeFlag === "2")) {
755
+ rawLink = decodeLegacyTarString(rawHeaderLinkBytes, "tar header link target");
756
+ }
757
+ rawLink ??= "";
666
758
  nextOverrides = {};
667
- gnuLongPath = undefined;
668
- gnuLongLink = undefined;
669
759
  const normalizedPath = normalizeMemberPath(rawPath, "entry path", typeFlag === "5");
670
760
  let entry;
671
761
  if (typeFlag === "0" || typeFlag === "7")
@@ -696,7 +786,7 @@ function preflightTarArchive(archivePath) {
696
786
  unsafe("tar end marker is missing");
697
787
  if (!content.subarray(cursor).every((byte) => byte === 0))
698
788
  unsafe("tar contains non-zero data after its end marker");
699
- if (Object.keys(nextOverrides).length > 0 || gnuLongPath !== undefined || gnuLongLink !== undefined)
789
+ if (Object.keys(nextOverrides).length > 0)
700
790
  unsafe("tar ends with metadata that does not describe a member");
701
791
  validateArchiveGraph(entries.filter((entry) => entry.path.length > 0));
702
792
  }
@@ -704,6 +794,22 @@ function extractZip(archivePath, extractDir, overwrite = false) {
704
794
  const resolvedArchivePath = path.resolve(archivePath);
705
795
  const resolvedExtractDir = path.resolve(extractDir);
706
796
  preflightZipArchive(resolvedArchivePath);
797
+ fs.mkdirSync(resolvedExtractDir, { recursive: true });
798
+ if (process.platform === "win32") {
799
+ // Modern Windows ships bsdtar in System32. It auto-detects ZIP and avoids
800
+ // making runtime extraction depend on a separately installed Info-ZIP.
801
+ const windowsRoot = process.env.SystemRoot || "C:\\Windows";
802
+ const tarPath = path.win32.join(windowsRoot, "System32", "tar.exe");
803
+ if (!fs.existsSync(tarPath)) {
804
+ throw new Error(`ZIP extraction backend is unavailable: expected Windows bsdtar at ${tarPath}`);
805
+ }
806
+ const args = ["-x"];
807
+ if (!overwrite)
808
+ args.push("-k");
809
+ args.push("-f", resolvedArchivePath, "-C", resolvedExtractDir);
810
+ (0, node_child_process_1.execFileSync)(tarPath, args, { stdio: "pipe" });
811
+ return;
812
+ }
707
813
  const args = ["-q"];
708
814
  if (overwrite)
709
815
  args.push("-o");
@@ -1 +1 @@
1
- {"version":3,"file":"archive-extractor.js","sourceRoot":"","sources":["../src/archive-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive-extractor.js","sourceRoot":"","sources":["../src/archive-extractor.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -187,7 +187,7 @@ function assertDistinctOutputPaths(options) {
187
187
  program
188
188
  .name("supply-chain-guard")
189
189
  .description("Open-source supply-chain security scanner. Detects GlassWorm and similar malware campaigns in npm packages, PyPI packages, code repos, VS Code extensions, and project dependencies.")
190
- .version("5.25.0");
190
+ .version("5.25.2");
191
191
  // ── scan command ────────────────────────────────────────────────────
192
192
  program
193
193
  .command("scan")
@@ -49,7 +49,7 @@ const path = __importStar(require("node:path"));
49
49
  const https = __importStar(require("node:https"));
50
50
  const types_js_1 = require("./types.js");
51
51
  const pattern_scanner_js_1 = require("./pattern-scanner.js");
52
- const TOOL_VERSION = "5.25.0";
52
+ const TOOL_VERSION = "5.25.2";
53
53
  const NPM_REGISTRY = "https://registry.npmjs.org";
54
54
  const NPM_DOWNLOADS_API = "https://api.npmjs.org/downloads/point/last-week";
55
55
  const PYPI_REGISTRY = "https://pypi.org/pypi";
@@ -1 +1 @@
1
- {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,EAA8C,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE7F,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,gFACkD,CAAC;AAMhF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAQpD;AAMD,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAyCvD;AA4BD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,OAAO,GAAE,MAAyB,EAClC,QAAQ,GAAE,MAAkB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAiBxB"}
1
+ {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,mBAAmB,CAAC;AAE3B,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,gFACkD,CAAC;AAMhF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAQpD;AAMD,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CA2CvD;AA4BD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,OAAO,GAAE,MAAyB,EAClC,QAAQ,GAAE,MAAkB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAiBxB"}
package/dist/feed.js CHANGED
@@ -96,6 +96,7 @@ function parseFeedPayload(raw) {
96
96
  if (!Array.isArray(entries) || entries.length === 0) {
97
97
  throw new Error("invalid feed format: missing non-empty entries array");
98
98
  }
99
+ const normalizedEntries = [];
99
100
  for (const entry of entries) {
100
101
  const e = entry;
101
102
  if (e === null ||
@@ -114,8 +115,9 @@ function parseFeedPayload(raw) {
114
115
  // interpolating into the error string.
115
116
  throw new Error(`invalid feed entry (type ${JSON.stringify(e.type).slice(0, 32)}, value ${JSON.stringify(e.value).slice(0, 80)}): type must be one of domain/ip/url/hash/package and the value must be a literal indicator matching that type's shape (max 2048 chars)`);
116
117
  }
118
+ normalizedEntries.push((0, threat_intel_js_1.normalizeFeedIOC)(e));
117
119
  }
118
- return entries;
120
+ return normalizedEntries;
119
121
  }
120
122
  /** Download a URL over HTTPS and resolve with the response body. */
121
123
  function httpsGetBody(url) {
package/dist/feed.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ioc-blocklist.d.ts","sourceRoot":"","sources":["../src/ioc-blocklist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,gBAAgB,EAAE,MAAM,EA6MpC,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,MAAM,EA+GhC,CAAC;AAMF,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAuDpC,CAAC;AAMF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2QzD,CAAC;AAMF,eAAO,MAAM,+BAA+B,EAAE,MAAM,EAwHnD,CAAC;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+BnD,CAAC;AAkDF;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D;AA6BD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAqe9F,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CA6B/F,CAAC;AAMF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAW1C,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,EAAE,CA+FX;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GACrF,OAAO,GAAG,IAAI,CAoChB"}
1
+ {"version":3,"file":"ioc-blocklist.d.ts","sourceRoot":"","sources":["../src/ioc-blocklist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAsNpC,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,MAAM,EA+GhC,CAAC;AAMF,eAAO,MAAM,gBAAgB,EAAE,MAAM,EA+DpC,CAAC;AAMF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmRzD,CAAC;AAMF,eAAO,MAAM,+BAA+B,EAAE,MAAM,EAwHnD,CAAC;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+BnD,CAAC;AAkDF;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D;AA6BD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAqe9F,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAiC/F,CAAC;AAMF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAW1C,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,EAAE,CA+FX;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GACrF,OAAO,GAAG,IAAI,CAoChB"}