supply-chain-guard 5.27.0 → 5.28.0

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.
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # supply-chain-guard
2
2
 
3
- Open-source supply-chain security scanner for npm, PyPI, Cargo, Go, RubyGems, Composer, NuGet, Docker, Terraform, VS Code extensions, GitHub Actions and GitHub repositories. Detects malware campaigns (GlassWorm, Vidar, Shai-Hulud), fake AI tool repos, account takeovers, and 350+ threat indicators across all major lockfile formats (npm, pnpm, yarn, bun). Generates CycloneDX 1.6 SBOMs with real dependency inventories, grades SLSA provenance (parses and structurally validates in-toto/DSSE attestations), and correlates findings into attack-chain incidents.
3
+ Open-source supply-chain security scanner for npm, PyPI, Cargo, Go, RubyGems, Composer, NuGet, Docker, Terraform, VS Code extensions, GitHub Actions and GitHub repositories. Detects malware campaigns (GlassWorm, Vidar, Shai-Hulud), fake AI tool repos, account takeovers, and 350+ threat indicators across all major lockfile formats (npm, pnpm, yarn, bun). Generates CycloneDX 1.6 SBOMs with real dependency inventories, grades SLSA provenance (parses and structurally validates in-toto/DSSE attestations), and correlates findings into attack-chain incidents. Supports EU Cyber Resilience Act SBOM and component-documentation work, and NIS2 supply chain risk-management measures.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/supply-chain-guard?logo=npm)](https://www.npmjs.com/package/supply-chain-guard)
6
6
  [![npm downloads](https://img.shields.io/npm/dw/supply-chain-guard?logo=npm&label=weekly%20downloads)](https://www.npmjs.com/package/supply-chain-guard)
7
- [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D20-green?logo=node.js)](https://nodejs.org)
7
+ [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D22-green?logo=node.js)](https://nodejs.org)
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-Strict-blue?logo=typescript)](https://www.typescriptlang.org/)
9
9
  [![CI](https://img.shields.io/github/actions/workflow/status/homeofe/supply-chain-guard/ci.yml?branch=main&label=CI&logo=github)](https://github.com/homeofe/supply-chain-guard/actions/workflows/ci.yml)
10
10
  [![AAHP Verify](https://github.com/homeofe/supply-chain-guard/actions/workflows/aahp-verify.yml/badge.svg)](https://github.com/homeofe/supply-chain-guard/actions/workflows/aahp-verify.yml)
@@ -36,8 +36,11 @@ Open-source supply-chain security scanner for npm, PyPI, Cargo, Go, RubyGems, Co
36
36
  - [Install Guard](#install-guard)
37
37
  - [Adding Custom Patterns](#adding-custom-patterns)
38
38
  - [Architecture](#architecture)
39
+ - [EU Compliance (CRA / NIS2)](#eu-compliance-cra--nis2)
40
+ - [Show that you scan](#show-that-you-scan)
39
41
  - [Contributing](#contributing)
40
42
  - [Changelog](#changelog)
43
+ - [License](#license)
41
44
 
42
45
  ## Background
43
46
 
@@ -114,6 +117,12 @@ Links individual findings into incident-level attack chains:
114
117
 
115
118
  ## Installation
116
119
 
120
+ **Requires Node.js 22 or newer.** Node 20 reached end of life on
121
+ 2026-04-30; it still installs and is still covered by CI as a transition lane, but it
122
+ is out of support and that lane is removed in 5.29.0. Full policy, including what the
123
+ package is published from and what the Action and container image run on:
124
+ [`docs/node-support.md`](docs/node-support.md).
125
+
117
126
  ```bash
118
127
  npm install -g supply-chain-guard
119
128
  ```
@@ -131,7 +140,7 @@ Run the scanner as a [pre-commit](https://pre-commit.com) hook (Python-ecosystem
131
140
  ```yaml
132
141
  repos:
133
142
  - repo: https://github.com/homeofe/supply-chain-guard
134
- rev: v5.27.0
143
+ rev: v5.28.0
135
144
  hooks:
136
145
  - id: supply-chain-guard
137
146
  ```
@@ -147,7 +156,7 @@ The hook scans the repository root on every commit and fails on high or critical
147
156
  Run the scanner without a Node toolchain via the official multi-arch image (linux/amd64, linux/arm64), published to GHCR on every release tag:
148
157
 
149
158
  ```bash
150
- docker run --rm -v ${PWD}:/scan ghcr.io/homeofe/supply-chain-guard scan /scan
159
+ docker run --rm -v ${PWD}:/scan ghcr.io/homeofe/supply-chain-guard:5.28.0 scan /scan
151
160
  ```
152
161
 
153
162
  `${PWD}` works in bash, zsh, and PowerShell; in cmd.exe use `%cd%` instead.
@@ -586,8 +595,70 @@ Honest caveats: Socket's registry-wide behavioral detection is deeper than anyth
586
595
  - **CI one-two punch**: run `osv-scanner --lockfile=package-lock.json` for known CVEs and MAL- entries, then `supply-chain-guard scan .` for behavioral and campaign-IOC threats in the installed tree. Two axes, one job, both exit-code gated.
587
596
  - **Zero-install npm baseline**: `npm audit --audit-level=high` plus `npx supply-chain-guard scan .` covers advisory-known vulnerabilities and unreported malware without adding a single dependency.
588
597
  - **Pre-install vetting of a suspicious package**: `guarddog npm scan <pkg>` for an independent heuristic score, plus `supply-chain-guard npm <pkg>` for campaign-IOC and install-hook analysis, before it ever touches your machine.
598
+ ## EU Compliance (CRA / NIS2)
599
+
600
+ supply-chain-guard produces artefacts and findings that **support** compliance
601
+ work under two EU regulations that apply to software manufacturers. It does not
602
+ make an organisation compliant: compliance remains the responsibility of the
603
+ organisation deploying the software, and the mapping below describes what the
604
+ tool produces, not a legal assessment.
605
+
606
+ ### Cyber Resilience Act (CRA)
607
+
608
+ The CRA requires manufacturers of products with digital elements to identify and
609
+ document the components they ship, to address vulnerabilities in those
610
+ components, and to be able to reason about the integrity of what they build on.
611
+ supply-chain-guard contributes to each of those activities:
612
+
613
+ - **Component inventory:** generates a [CycloneDX 1.6](https://cyclonedx.org/)
614
+ SBOM from the real resolved dependency tree, as a machine-readable component
615
+ list you can attach to technical documentation.
616
+ - **Dependency risk:** detects known-malicious packages and versions,
617
+ typosquatting, dependency confusion, and compromised publisher activity, at
618
+ scan time and at install time.
619
+ - **Supply chain integrity:** grades SLSA provenance from levels 0 to 3 by
620
+ parsing and structurally validating in-toto/DSSE attestations, giving a
621
+ recorded integrity signal per project.
622
+
623
+ ```bash
624
+ # Write a CycloneDX 1.6 SBOM alongside the scan report
625
+ supply-chain-guard scan ./project --sbom-output sbom.json
626
+ ```
627
+
628
+ Article and paragraph citations are deliberately omitted here. Map these outputs
629
+ to specific provisions against the final published regulation text, with your own
630
+ legal review, rather than against this README.
631
+
632
+ ### NIS2 Directive
633
+
634
+ NIS2 requires essential and important entities to take measures covering supply
635
+ chain security. The relevant capabilities are:
636
+
637
+ - **Supply chain risk:** typosquatting, dependency confusion, compromised
638
+ packages, and malicious GitHub Actions in CI/CD workflows.
639
+ - **Incident evidence:** the correlation engine links individual findings into
640
+ named attack chains with confidence scores, and reports are exportable as
641
+ SARIF, JSON, and CycloneDX for retention alongside an incident record.
642
+ - **Configuration exposure:** IaC, Dockerfile, and `.npmrc` / `.yarnrc` scanning
643
+ surfaces misconfiguration before deployment.
644
+
645
+ ### Operating model
646
+
647
+ Apache-2.0, no account required, and no telemetry: the scanner reports only to
648
+ its own output. `scan` runs fully offline against the bundled threat feed, so it
649
+ is suitable for air-gapped use. The commands that deliberately reach the network
650
+ are the ones that exist to do so: `supply-chain-guard npm <pkg>` and
651
+ `supply-chain-guard pypi <pkg>` fetch the package under inspection, and the feed
652
+ refresh fetches updated indicators. Offline runs use the feed bundled with the
653
+ installed version, so pin the version you intend to audit against.
654
+
589
655
  ## GitHub Action
590
656
 
657
+ **Pin an exact version.** That is the recommended form, and it is the same advice
658
+ this tool gives about your own dependencies: a security scanner should be a
659
+ deterministic input, so you know which detection logic and which IOC feed ran, and
660
+ an upgrade is a reviewable change rather than something that happens to you.
661
+
591
662
  ```yaml
592
663
  name: Supply Chain Security
593
664
  on: [push, pull_request]
@@ -601,12 +672,37 @@ jobs:
601
672
  runs-on: ubuntu-latest
602
673
  steps:
603
674
  - uses: actions/checkout@v4
604
- - uses: homeofe/supply-chain-guard@v5
675
+ - uses: homeofe/supply-chain-guard@v5.28.0
605
676
  with:
606
677
  fail-on: critical
607
678
  comment-on-pr: true
608
679
  ```
609
680
 
681
+ Let Dependabot keep the pin current:
682
+
683
+ ```yaml
684
+ # .github/dependabot.yml
685
+ version: 2
686
+ updates:
687
+ - package-ecosystem: github-actions
688
+ directory: "/"
689
+ schedule:
690
+ interval: weekly
691
+ ```
692
+
693
+ ### `@v5`, and what it does and does not guarantee
694
+
695
+ `@v5` also works and stays supported. It is a floating **branch**, fast-forwarded
696
+ to each release by CI, and the composite action on it pins an exact npm version
697
+ that is bumped and build-gated on every release. So `@v5` is not `latest`: every
698
+ resolution still installs one exact, release-gated version.
699
+
700
+ The caveat is what happens after a major. If the v5 line stops being released once
701
+ v6 ships, `@v5` keeps resolving a frozen action that pins an old npm version, and
702
+ the IOC feed it installs stops updating. For a scanner that is a silent
703
+ false-negative generator, and nothing in your workflow would report it. An exact
704
+ pin turns that into a visible out-of-date dependency instead.
705
+
610
706
  ### Action Inputs
611
707
 
612
708
  | Input | Description | Default |
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.27.0 --ignore-scripts --no-audit --no-fund
69
+ run: npm install -g supply-chain-guard@5.28.0 --ignore-scripts --no-audit --no-fund
70
70
 
71
71
  - name: Run scan
72
72
  id: scan
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.27.0");
190
+ .version("5.28.0");
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.27.0";
52
+ const TOOL_VERSION = "5.28.0";
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";
@@ -79,6 +79,14 @@ export interface InstallCommandAnalysis {
79
79
  * matcher as mcp-server.ts matchBarePackageIOC.
80
80
  */
81
81
  export declare function matchBareNpmIOC(name: string, version: string | undefined, feed: FeedIOC[]): FeedIOC | null;
82
+ /**
83
+ * Reference implementation, kept so the index has something to be proved
84
+ * against. install-guard.test.ts asserts the two agree across the WHOLE bundled
85
+ * feed; without that, an index bug becomes a silent false negative in the most
86
+ * security-critical matcher in the project. Same arrangement as
87
+ * matchPackageIOCLinear in threat-intel.ts.
88
+ */
89
+ export declare function matchBareNpmIOCLinear(name: string, version: string | undefined, feed: FeedIOC[]): FeedIOC | null;
82
90
  /**
83
91
  * Pure analysis of an install command: no spawn, no network, no filesystem
84
92
  * writes (loadThreatIntel reads the local feed cache when no feed is given).
@@ -1 +1 @@
1
- {"version":3,"file":"install-guard.d.ts","sourceRoot":"","sources":["../src/install-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-guard.d.ts","sourceRoot":"","sources":["../src/install-guard.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ exports.resolveManagerBinary = resolveManagerBinary;
17
17
  exports.parseSpecToken = parseSpecToken;
18
18
  exports.extractInstallSpecs = extractInstallSpecs;
19
19
  exports.matchBareNpmIOC = matchBareNpmIOC;
20
+ exports.matchBareNpmIOCLinear = matchBareNpmIOCLinear;
20
21
  exports.analyzeInstallCommand = analyzeInstallCommand;
21
22
  exports.escapeCmdShellCommand = escapeCmdShellCommand;
22
23
  exports.escapeCmdShellArg = escapeCmdShellArg;
@@ -198,6 +199,27 @@ const WARN_ONLY_RULES = new Set(["DEP_INTERNAL_NAME_PUBLIC"]);
198
199
  * matcher as mcp-server.ts matchBarePackageIOC.
199
200
  */
200
201
  function matchBareNpmIOC(name, version, feed) {
202
+ // Candidates are held in original feed order, so "first match wins" is
203
+ // preserved exactly, identical to the linear reference below.
204
+ const candidates = getBareNpmIndex(feed).get(name);
205
+ if (!candidates)
206
+ return null;
207
+ for (const { ioc, version: iocVersion } of candidates) {
208
+ if (iocVersion === undefined)
209
+ return ioc; // bare-name IOC: any version
210
+ if (version !== undefined && iocVersion === version)
211
+ return ioc;
212
+ }
213
+ return null;
214
+ }
215
+ /**
216
+ * Reference implementation, kept so the index has something to be proved
217
+ * against. install-guard.test.ts asserts the two agree across the WHOLE bundled
218
+ * feed; without that, an index bug becomes a silent false negative in the most
219
+ * security-critical matcher in the project. Same arrangement as
220
+ * matchPackageIOCLinear in threat-intel.ts.
221
+ */
222
+ function matchBareNpmIOCLinear(name, version, feed) {
201
223
  for (const ioc of feed) {
202
224
  if (ioc.type !== "package")
203
225
  continue;
@@ -216,6 +238,42 @@ function matchBareNpmIOC(name, version, feed) {
216
238
  }
217
239
  return null;
218
240
  }
241
+ /**
242
+ * Lazily-built lookup index over a feed array, keyed by bare npm package name.
243
+ *
244
+ * Keyed on the feed array identity via a WeakMap, so a caller-supplied feed and
245
+ * the memoized shared feed each get their own index and neither leaks. Mirrors
246
+ * packageIndexCache in threat-intel.ts.
247
+ *
248
+ * Why this exists (T-017): the linear scan cost one full pass over the feed PER
249
+ * CALL, so a scan of N dependencies cost N x feed. The feed grows by 100-200
250
+ * entries per daily sweep, and collection-reachability.test.ts, which calls the
251
+ * real matcher once per entry, is quadratic in feed size - it went red on CI
252
+ * during the v5.25.6 release and was carrying a 30s timeout as a stopgap.
253
+ */
254
+ const bareNpmIndexCache = new WeakMap();
255
+ function getBareNpmIndex(feed) {
256
+ const cached = bareNpmIndexCache.get(feed);
257
+ if (cached)
258
+ return cached;
259
+ const index = new Map();
260
+ for (const ioc of feed) {
261
+ if (ioc.type !== "package")
262
+ continue;
263
+ if (ioc.value.includes(":"))
264
+ continue;
265
+ const at = ioc.value.lastIndexOf("@");
266
+ const iocName = at > 0 ? ioc.value.substring(0, at) : ioc.value;
267
+ const iocVersion = at > 0 ? ioc.value.substring(at + 1) : undefined;
268
+ const bucket = index.get(iocName);
269
+ if (bucket)
270
+ bucket.push({ ioc, version: iocVersion });
271
+ else
272
+ index.set(iocName, [{ ioc, version: iocVersion }]);
273
+ }
274
+ bareNpmIndexCache.set(feed, index);
275
+ return index;
276
+ }
219
277
  function checkSpec(spec, feed) {
220
278
  const findings = [];
221
279
  // 1. Threat-intel package IOCs (bundled + refreshed .scg-cache feed).
@@ -1 +1 @@
1
- {"version":3,"file":"install-guard.js","sourceRoot":"","sources":["../src/install-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-guard.js","sourceRoot":"","sources":["../src/install-guard.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ const extracted_file_walker_js_1 = require("./extracted-file-walker.js");
62
62
  const threat_intel_js_1 = require("./threat-intel.js");
63
63
  const install_guard_js_1 = require("./install-guard.js");
64
64
  const remote_download_js_1 = require("./remote-download.js");
65
- const TOOL_VERSION = "5.27.0";
65
+ const TOOL_VERSION = "5.28.0";
66
66
  const NPM_REGISTRY = "https://registry.npmjs.org";
67
67
  const NPM_REGISTRY_HOST = "registry.npmjs.org";
68
68
  const RAW_GITHUB_HOST = "raw.githubusercontent.com";
@@ -56,7 +56,7 @@ const patterns_js_1 = require("./patterns.js");
56
56
  const pattern_scanner_js_1 = require("./pattern-scanner.js");
57
57
  const extracted_file_walker_js_1 = require("./extracted-file-walker.js");
58
58
  const remote_download_js_1 = require("./remote-download.js");
59
- const TOOL_VERSION = "5.27.0";
59
+ const TOOL_VERSION = "5.28.0";
60
60
  const PYPI_API = "https://pypi.org/pypi";
61
61
  const PYPI_METADATA_HOST = "pypi.org";
62
62
  const PYPI_ARTIFACT_HOST = "files.pythonhosted.org";
package/dist/reporter.js CHANGED
@@ -111,7 +111,7 @@ function formatJson(report) {
111
111
  function formatText(report) {
112
112
  const lines = [];
113
113
  // ── layout constants ───────────────────────────────────────────────────────
114
- const VERSION = "5.27.0";
114
+ const VERSION = "5.28.0";
115
115
  const W = 76; // visible chars between "│ " and " │" (total line = 80)
116
116
  // ── ANSI helpers ───────────────────────────────────────────────────────────
117
117
  const stripAnsi = (s) => s.replace(/\x1b\[[0-9;]*m/g, "");
@@ -564,7 +564,7 @@ function formatSarif(report) {
564
564
  tool: {
565
565
  driver: {
566
566
  name: "supply-chain-guard",
567
- version: "5.27.0",
567
+ version: "5.28.0",
568
568
  informationUri: "https://github.com/homeofe/supply-chain-guard",
569
569
  rules,
570
570
  },
@@ -654,7 +654,7 @@ function formatSbom(report) {
654
654
  timestamp: report.timestamp,
655
655
  tools: {
656
656
  components: [
657
- { type: "application", name: "supply-chain-guard", version: "5.27.0" },
657
+ { type: "application", name: "supply-chain-guard", version: "5.28.0" },
658
658
  ],
659
659
  },
660
660
  component: {
@@ -777,7 +777,7 @@ function formatGitlab(report) {
777
777
  name: "supply-chain-guard",
778
778
  url: "https://github.com/homeofe/supply-chain-guard",
779
779
  vendor: { name: "supply-chain-guard" },
780
- version: "5.27.0",
780
+ version: "5.28.0",
781
781
  };
782
782
  const vulnerabilities = report.findings
783
783
  .filter((f) => !f.suppressed)
@@ -1019,7 +1019,7 @@ footer{text-align:center;padding:24px;color:#94a3b8;font-size:13px}
1019
1019
  ` : ""}
1020
1020
 
1021
1021
  <footer>
1022
- Generated by <a href="https://github.com/homeofe/supply-chain-guard">supply-chain-guard</a> v5.27.0
1022
+ Generated by <a href="https://github.com/homeofe/supply-chain-guard">supply-chain-guard</a> v5.28.0
1023
1023
  </footer>
1024
1024
  </div>
1025
1025
  <script>
@@ -45,7 +45,7 @@ exports.generateSbomDocument = generateSbomDocument;
45
45
  const fs = __importStar(require("node:fs"));
46
46
  const path = __importStar(require("node:path"));
47
47
  const node_crypto_1 = require("node:crypto");
48
- const TOOL_VERSION = "5.27.0";
48
+ const TOOL_VERSION = "5.28.0";
49
49
  /**
50
50
  * Build a Package URL (purl) for an npm package.
51
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAW,WAAW,EAAE,UAAU,EAAyB,MAAM,YAAY,CAAC;AA0O1F;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAylBpE;AA86BD;;;;GAIG;AAGH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAGnD,CAAC"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAW,WAAW,EAAE,UAAU,EAAyB,MAAM,YAAY,CAAC;AA0O1F;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAylBpE;AAw+BD;;;;GAIG;AAGH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAGnD,CAAC"}
package/dist/scanner.js CHANGED
@@ -95,7 +95,7 @@ const slsa_verifier_js_1 = require("./slsa-verifier.js");
95
95
  const dependency_confusion_js_1 = require("./dependency-confusion.js");
96
96
  const mcp_scanner_js_1 = require("./mcp-scanner.js");
97
97
  const skills_scanner_js_1 = require("./skills-scanner.js");
98
- const TOOL_VERSION = "5.27.0";
98
+ const TOOL_VERSION = "5.28.0";
99
99
  /**
100
100
  * Exact files that contain this package's own inert detector definitions or
101
101
  * regression fixtures.
@@ -504,7 +504,7 @@ async function scan(options) {
504
504
  }
505
505
  // Check package-lock.json for known-bad versions (v4.1)
506
506
  if (basename === "package-lock.json") {
507
- checkLockfileBadVersions(content, relativePath, findings);
507
+ checkLockfileBadVersions(content, relativePath, findings, threatFeed);
508
508
  }
509
509
  }
510
510
  // Check git commit dates if it's a git repo
@@ -1300,7 +1300,26 @@ function checkKnownBadVersions(content, relativePath, findings) {
1300
1300
  /**
1301
1301
  * Check package-lock.json for known-bad resolved versions (v4.1).
1302
1302
  */
1303
- function checkLockfileBadVersions(content, relativePath, findings) {
1303
+ /**
1304
+ * Match every RESOLVED lockfile version against both curated sources (T-016).
1305
+ *
1306
+ * KNOWN_BAD_NPM_VERSIONS was already checked here, so the scan path has always
1307
+ * done exact name@version matching. It simply never consulted the threat feed,
1308
+ * where the great majority of package IOCs are version-pinned - so those entries
1309
+ * were reachable through `guard` and not through `scan`, the more visible surface.
1310
+ *
1311
+ * The lockfile is the only correct source. A package.json dependency value is a
1312
+ * RANGE, not a version, and the callers that pass `undefined` to matchBareNpmIOC
1313
+ * do so because they genuinely have no version in hand; they are not defects to
1314
+ * be "fixed" by forcing version-awareness where the data does not exist.
1315
+ *
1316
+ * False-positive surface, measured before this shipped rather than asserted:
1317
+ * every pinned npm IOC in the feed matched against 10,615 resolved dependencies
1318
+ * across 43 repositories produced ZERO hits. It is exact equality, so the only
1319
+ * way it fires wrongly is a wrong pin in the feed, which is a data-quality
1320
+ * question already governed by the bare-name audit discipline.
1321
+ */
1322
+ function checkLockfileBadVersions(content, relativePath, findings, feed) {
1304
1323
  let lock;
1305
1324
  try {
1306
1325
  lock = JSON.parse(content);
@@ -1321,7 +1340,9 @@ function checkLockfileBadVersions(content, relativePath, findings) {
1321
1340
  const finding = (0, ioc_blocklist_js_1.checkBadVersion)(name, entry.version, "npm");
1322
1341
  if (finding) {
1323
1342
  findings.push({ ...finding, file: relativePath });
1343
+ continue; // one finding per dependency; the blocklist is the more specific source
1324
1344
  }
1345
+ pushPinnedFeedFinding(name, entry.version, relativePath, findings, feed);
1325
1346
  }
1326
1347
  }
1327
1348
  // lockfile v1 uses "dependencies" key
@@ -1333,10 +1354,40 @@ function checkLockfileBadVersions(content, relativePath, findings) {
1333
1354
  const finding = (0, ioc_blocklist_js_1.checkBadVersion)(name, entry.version, "npm");
1334
1355
  if (finding) {
1335
1356
  findings.push({ ...finding, file: relativePath });
1357
+ continue;
1336
1358
  }
1359
+ pushPinnedFeedFinding(name, entry.version, relativePath, findings, feed);
1337
1360
  }
1338
1361
  }
1339
1362
  }
1363
+ /**
1364
+ * One feed finding for a resolved lockfile dependency, or nothing.
1365
+ *
1366
+ * Bare-name feed entries are deliberately NOT reported from here. They already
1367
+ * fire through checkMaliciousDependencyNames on the package.json path, and a
1368
+ * lockfile lists every transitive dependency, so emitting them again would
1369
+ * double-report each one and multiply it across the tree.
1370
+ */
1371
+ function pushPinnedFeedFinding(name, version, relativePath, findings, feed) {
1372
+ const ioc = (0, install_guard_js_1.matchBareNpmIOC)(name, version, feed);
1373
+ if (!ioc)
1374
+ return;
1375
+ // A bare-name entry matches ANY version, so it would have hit regardless of
1376
+ // the lockfile. Only an entry pinned to this exact version is new information.
1377
+ if (ioc.value.lastIndexOf("@") <= 0)
1378
+ return;
1379
+ const attrib = ioc.campaign ? ` (campaign: ${ioc.campaign})` : "";
1380
+ findings.push({
1381
+ rule: "LOCKFILE_MALICIOUS_VERSION",
1382
+ description: `Lockfile resolves "${name}" to ${version}, a version listed in the threat feed as malicious${attrib}.`,
1383
+ severity: "critical",
1384
+ confidence: ioc.confidence ?? 0.95,
1385
+ category: "supply-chain",
1386
+ file: relativePath,
1387
+ match: `${name}@${version}`,
1388
+ recommendation: `Remove ${name}@${version}. Update the lockfile to a clean version and rotate any credentials the install may have had access to.`,
1389
+ });
1390
+ }
1340
1391
  /**
1341
1392
  * Check build tool config files for suspicious plugin patterns (v4.0).
1342
1393
  */
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ const patterns_js_1 = require("./patterns.js");
55
55
  const pattern_scanner_js_1 = require("./pattern-scanner.js");
56
56
  const extracted_file_walker_js_1 = require("./extracted-file-walker.js");
57
57
  const remote_download_js_1 = require("./remote-download.js");
58
- const TOOL_VERSION = "5.27.0";
58
+ const TOOL_VERSION = "5.28.0";
59
59
  /** Public and testable acquisition bounds for extension registry data. */
60
60
  exports.VSCODE_REMOTE_LIMITS = Object.freeze({
61
61
  metadataBytes: 2 * 1024 * 1024,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "supply-chain-guard",
3
- "version": "5.27.0",
3
+ "version": "5.28.0",
4
4
  "mcpName": "io.github.homeofe/supply-chain-guard",
5
5
  "description": "Open-source supply-chain security scanner for npm, PyPI, Cargo, Go, RubyGems, Composer, NuGet, Docker, VS Code extensions, GitHub Actions, IaC and Solana C2. Detects GlassWorm, Shai-Hulud, PPE attacks, dependency confusion and 350+ threat indicators across all major lockfile formats (npm, pnpm, yarn, bun). Generates CycloneDX 1.6 SBOMs, grades SLSA provenance (in-toto/DSSE structural validation), and correlates findings into attack-chain incidents.",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,7 @@
14
14
  "test:coverage": "vitest run --coverage",
15
15
  "test:watch": "vitest",
16
16
  "lint": "tsc --noEmit",
17
- "check:aahp": "npx --no-install aahp check .",
17
+ "check:aahp": "node scripts/check-aahp-pin.mjs && npx --no-install aahp check .",
18
18
  "check:handoff": "node scripts/scg-handoff-docs.mjs --check",
19
19
  "handoff:refresh": "node scripts/scg-handoff-docs.mjs",
20
20
  "feed:generate": "node scripts/generate-feed.mjs",
@@ -57,7 +57,7 @@
57
57
  },
58
58
  "homepage": "https://github.com/homeofe/supply-chain-guard#readme",
59
59
  "engines": {
60
- "node": ">=20.0.0"
60
+ "node": ">=22.0.0"
61
61
  },
62
62
  "files": [
63
63
  "dist/**/*",