supply-chain-guard 5.26.7 → 5.27.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 +1 -1
- package/action.yml +1 -1
- package/dist/cli.js +1 -1
- package/dist/dependency-confusion.js +1 -1
- package/dist/install-hook-scanner.d.ts +6 -8
- package/dist/install-hook-scanner.d.ts.map +1 -1
- package/dist/install-hook-scanner.js +12 -13
- package/dist/install-hook-scanner.js.map +1 -1
- package/dist/npm-scanner.d.ts +15 -0
- package/dist/npm-scanner.d.ts.map +1 -1
- package/dist/npm-scanner.js +9 -3
- package/dist/npm-scanner.js.map +1 -1
- package/dist/patterns.d.ts +46 -0
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +58 -1
- package/dist/patterns.js.map +1 -1
- package/dist/pypi-scanner.js +1 -1
- package/dist/reporter.js +5 -5
- package/dist/sbom-generator.js +1 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +5 -3
- package/dist/scanner.js.map +1 -1
- package/dist/threat-intel.d.ts.map +1 -1
- package/dist/threat-intel.js +143 -0
- package/dist/threat-intel.js.map +1 -1
- package/dist/vscode-scanner.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
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.
|
|
69
|
+
run: npm install -g supply-chain-guard@5.27.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.
|
|
190
|
+
.version("5.27.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.
|
|
52
|
+
const TOOL_VERSION = "5.27.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";
|
|
@@ -6,14 +6,12 @@
|
|
|
6
6
|
* obfuscated one-liners, and embedded binary blobs.
|
|
7
7
|
*/
|
|
8
8
|
import type { Finding } from "./types.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
prepare?: string;
|
|
16
|
-
}
|
|
9
|
+
import { type AutoRunLifecycleHook } from "./patterns.js";
|
|
10
|
+
/**
|
|
11
|
+
* Derived from AUTO_RUN_LIFECYCLE_HOOKS rather than hand-listed, so adding a
|
|
12
|
+
* hook to that list cannot leave this scanner reading a stale subset.
|
|
13
|
+
*/
|
|
14
|
+
type InstallScripts = Partial<Record<AutoRunLifecycleHook, string>>;
|
|
17
15
|
/**
|
|
18
16
|
* Deep-analyze install hook scripts from package.json.
|
|
19
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-hook-scanner.d.ts","sourceRoot":"","sources":["../src/install-hook-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"install-hook-scanner.d.ts","sourceRoot":"","sources":["../src/install-hook-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AA8CvB;;;GAGG;AACH,KAAK,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,EAAE,CA2JX;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GACd,cAAc,GAAG,IAAI,CAavB"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.analyzeInstallHooks = analyzeInstallHooks;
|
|
11
11
|
exports.extractInstallScripts = extractInstallScripts;
|
|
12
|
+
const patterns_js_1 = require("./patterns.js");
|
|
12
13
|
// ── INSTALL_HOOK_HOST_RUNTIME_PATCH detection ───────────────────────────────
|
|
13
14
|
// An install hook that patches/mutates a HOST AGENT RUNTIME (OpenClaw, Hermes,
|
|
14
15
|
// Claude Code, ...) - rewriting another installed package's code so the plugin
|
|
@@ -27,8 +28,9 @@ const CODE_MUTATE_RE = /\b(?:patch|inject|mutate|overwrite|rewrite|monkey[-\s]?p
|
|
|
27
28
|
// scheduled task, a Windows Run key, a Startup-folder entry, or a Python .pth
|
|
28
29
|
// that the interpreter auto-imports.
|
|
29
30
|
//
|
|
30
|
-
// Scoped deliberately to the
|
|
31
|
-
// already reads
|
|
31
|
+
// Scoped deliberately to the package.json lifecycle-script strings this module
|
|
32
|
+
// already reads - AUTO_RUN_LIFECYCLE_HOOKS, the same list npm-scanner.ts and
|
|
33
|
+
// scanner.ts use. That is the whole reason its false-positive surface is small:
|
|
32
34
|
// installing persistence from an install hook has essentially no legitimate
|
|
33
35
|
// form, whereas the same commands in ordinary source belong to any service
|
|
34
36
|
// manager, installer or devops tool and would false-positive constantly.
|
|
@@ -47,9 +49,7 @@ const PERSISTENCE_WRITE_RE = /\blaunchctl\b|\bsystemctl\b[^\n]{0,40}\b(?:enable|
|
|
|
47
49
|
*/
|
|
48
50
|
function analyzeInstallHooks(scripts, relativePath) {
|
|
49
51
|
const findings = [];
|
|
50
|
-
const hookNames =
|
|
51
|
-
"preinstall", "postinstall", "install", "preuninstall", "postuninstall", "prepare",
|
|
52
|
-
];
|
|
52
|
+
const hookNames = patterns_js_1.AUTO_RUN_LIFECYCLE_HOOKS;
|
|
53
53
|
for (const hook of hookNames) {
|
|
54
54
|
const script = scripts[hook];
|
|
55
55
|
if (!script)
|
|
@@ -198,14 +198,13 @@ function extractInstallScripts(content) {
|
|
|
198
198
|
const pkg = JSON.parse(content);
|
|
199
199
|
if (!pkg.scripts)
|
|
200
200
|
return null;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
};
|
|
201
|
+
const scripts = {};
|
|
202
|
+
for (const hook of patterns_js_1.AUTO_RUN_LIFECYCLE_HOOKS) {
|
|
203
|
+
const value = pkg.scripts[hook];
|
|
204
|
+
if (typeof value === "string")
|
|
205
|
+
scripts[hook] = value;
|
|
206
|
+
}
|
|
207
|
+
return scripts;
|
|
209
208
|
}
|
|
210
209
|
catch {
|
|
211
210
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-hook-scanner.js","sourceRoot":"","sources":["../src/install-hook-scanner.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;
|
|
1
|
+
{"version":3,"file":"install-hook-scanner.js","sourceRoot":"","sources":["../src/install-hook-scanner.ts"],"names":[],"mappings":"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"}
|
package/dist/npm-scanner.d.ts
CHANGED
|
@@ -12,6 +12,14 @@ export declare const NPM_REMOTE_LIMITS: Readonly<{
|
|
|
12
12
|
timeoutMs: 30000;
|
|
13
13
|
maxRedirects: 5;
|
|
14
14
|
}>;
|
|
15
|
+
export interface NpmVersionData {
|
|
16
|
+
scripts?: Record<string, string>;
|
|
17
|
+
dependencies?: Record<string, string>;
|
|
18
|
+
devDependencies?: Record<string, string>;
|
|
19
|
+
dist?: NpmDistInfo;
|
|
20
|
+
repository?: unknown;
|
|
21
|
+
[key: string]: unknown;
|
|
22
|
+
}
|
|
15
23
|
export interface NpmDistInfo {
|
|
16
24
|
tarball?: string;
|
|
17
25
|
integrity?: string;
|
|
@@ -31,6 +39,13 @@ export declare function filterNpmFindings(findings: Finding[], minSeverity: Scan
|
|
|
31
39
|
export declare function scanNpmPackage(packageName: string, options: Omit<ScanOptions, "target"> & {
|
|
32
40
|
target?: string;
|
|
33
41
|
}): Promise<ScanReport>;
|
|
42
|
+
/**
|
|
43
|
+
* Check package.json scripts for suspicious entries.
|
|
44
|
+
*
|
|
45
|
+
* Exported for tests: the rest of this path needs a live registry fetch, so
|
|
46
|
+
* without a direct handle the hook coverage can only be asserted indirectly.
|
|
47
|
+
*/
|
|
48
|
+
export declare function checkPackageScripts(pkg: NpmVersionData, findings: Finding[]): void;
|
|
34
49
|
/**
|
|
35
50
|
* Normalize the many shapes of a package.json `repository` field to a GitHub
|
|
36
51
|
* owner/repo (+ monorepo subdirectory), or null when it is not a GitHub repo.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-scanner.d.ts","sourceRoot":"","sources":["../src/npm-scanner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAkB,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"npm-scanner.d.ts","sourceRoot":"","sources":["../src/npm-scanner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAkB,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAkDnF,oEAAoE;AACpE,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAC;AAOH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAS7D;AAED,wFAAwF;AACxF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CASrE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,GACtC;IAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAgBvD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,UAAU,CAAC,CAuFrB;AAqCD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,OAAO,EAAE,GAClB,IAAI,CA+BN;AAiFD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,OAAO,GAClB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqB5D;AAkBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EACrC,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CAiEf;AA0ID,uFAAuF;AACvF,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC,GAC9C,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,EAAE,GAClB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAqD9C"}
|
package/dist/npm-scanner.js
CHANGED
|
@@ -44,6 +44,7 @@ exports.recordNpmNoArtifact = recordNpmNoArtifact;
|
|
|
44
44
|
exports.recordNpmUnverifiedArtifact = recordNpmUnverifiedArtifact;
|
|
45
45
|
exports.filterNpmFindings = filterNpmFindings;
|
|
46
46
|
exports.scanNpmPackage = scanNpmPackage;
|
|
47
|
+
exports.checkPackageScripts = checkPackageScripts;
|
|
47
48
|
exports.parseRepositoryField = parseRepositoryField;
|
|
48
49
|
exports.checkRepositoryClaim = checkRepositoryClaim;
|
|
49
50
|
exports.verifyNpmDistIntegrity = verifyNpmDistIntegrity;
|
|
@@ -61,7 +62,7 @@ const extracted_file_walker_js_1 = require("./extracted-file-walker.js");
|
|
|
61
62
|
const threat_intel_js_1 = require("./threat-intel.js");
|
|
62
63
|
const install_guard_js_1 = require("./install-guard.js");
|
|
63
64
|
const remote_download_js_1 = require("./remote-download.js");
|
|
64
|
-
const TOOL_VERSION = "5.
|
|
65
|
+
const TOOL_VERSION = "5.27.0";
|
|
65
66
|
const NPM_REGISTRY = "https://registry.npmjs.org";
|
|
66
67
|
const NPM_REGISTRY_HOST = "registry.npmjs.org";
|
|
67
68
|
const RAW_GITHUB_HOST = "raw.githubusercontent.com";
|
|
@@ -232,13 +233,18 @@ function checkPackageName(name, findings) {
|
|
|
232
233
|
}
|
|
233
234
|
/**
|
|
234
235
|
* Check package.json scripts for suspicious entries.
|
|
236
|
+
*
|
|
237
|
+
* Exported for tests: the rest of this path needs a live registry fetch, so
|
|
238
|
+
* without a direct handle the hook coverage can only be asserted indirectly.
|
|
235
239
|
*/
|
|
236
240
|
function checkPackageScripts(pkg, findings) {
|
|
237
241
|
const scripts = pkg.scripts;
|
|
238
242
|
if (!scripts)
|
|
239
243
|
return;
|
|
240
|
-
|
|
241
|
-
|
|
244
|
+
// Shared with scanner.ts and install-hook-scanner.ts so the three paths
|
|
245
|
+
// cannot drift apart again; see AUTO_RUN_LIFECYCLE_HOOKS for why each name
|
|
246
|
+
// is in the list and why prepublishOnly is not.
|
|
247
|
+
for (const hook of patterns_js_1.AUTO_RUN_LIFECYCLE_HOOKS) {
|
|
242
248
|
const script = scripts[hook];
|
|
243
249
|
if (!script)
|
|
244
250
|
continue;
|
package/dist/npm-scanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-scanner.js","sourceRoot":"","sources":["../src/npm-scanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"npm-scanner.js","sourceRoot":"","sources":["../src/npm-scanner.ts"],"names":[],"mappings":"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"}
|
package/dist/patterns.d.ts
CHANGED
|
@@ -155,6 +155,52 @@ export declare const SUSPICIOUS_FILES: Array<{
|
|
|
155
155
|
severity: Severity;
|
|
156
156
|
rule: string;
|
|
157
157
|
}>;
|
|
158
|
+
/**
|
|
159
|
+
* The package.json script names npm executes on its own. A hostile command
|
|
160
|
+
* sitting in one of these runs at install time; the same command under `build`
|
|
161
|
+
* or `test` runs only when a human types it, which is a different risk and a
|
|
162
|
+
* different (much noisier) rule.
|
|
163
|
+
*
|
|
164
|
+
* ONE list on purpose. This was previously copy-pasted into npm-scanner.ts and
|
|
165
|
+
* scanner.ts, both copies had drifted to four entries, and install-hook-scanner
|
|
166
|
+
* .ts carried a third, longer copy - so a published package declaring
|
|
167
|
+
* `"install": "curl ... | bash"` produced no SUSPICIOUS_SCRIPTS finding on
|
|
168
|
+
* either the registry path or the directory path. A fourth copy is how that
|
|
169
|
+
* recurs, so import this rather than re-typing it.
|
|
170
|
+
*
|
|
171
|
+
* Why each name is in:
|
|
172
|
+
*
|
|
173
|
+
* - `preinstall`, `install`, `postinstall` - npm runs all three, in that order,
|
|
174
|
+
* every time the package is installed as a dependency. `install` also defaults
|
|
175
|
+
* to `node-gyp rebuild` when a binding.gyp is present, so the hook is live
|
|
176
|
+
* even where package.json does not declare it.
|
|
177
|
+
* - `preprepare`, `prepare`, `postprepare` - run on `npm install` in the
|
|
178
|
+
* package's own directory, and for a CONSUMER whenever the dependency
|
|
179
|
+
* resolves from a git URL instead of a registry tarball. Git dependencies are
|
|
180
|
+
* ordinary in forks, monorepos and commit-pinned setups, so this is a real
|
|
181
|
+
* execution path rather than a theoretical one. They sit at the same severity
|
|
182
|
+
* as the install trio deliberately: severity comes from the SUSPICIOUS_SCRIPTS
|
|
183
|
+
* entry that matched, and a `prepare` that pipes curl into bash is not less
|
|
184
|
+
* malicious for firing in fewer contexts. Leaving the pre/post wrappers out
|
|
185
|
+
* would also leave a one-word evasion open to anyone who reads this file.
|
|
186
|
+
* - `prepublish` - deprecated by npm but still executed, and it fires on a bare
|
|
187
|
+
* `npm install` inside the package's own directory, which is exactly the
|
|
188
|
+
* situation a directory scan reports on.
|
|
189
|
+
* - `preuninstall`, `postuninstall` - run on removal, with no prompt.
|
|
190
|
+
*
|
|
191
|
+
* Deliberately OUT:
|
|
192
|
+
*
|
|
193
|
+
* - `prepublishOnly` - runs only on `npm publish`, never on any install, so it
|
|
194
|
+
* cannot reach someone installing the package. It is also where npm documents
|
|
195
|
+
* that build steps belong (this repo keeps `npm run build` there), so
|
|
196
|
+
* scanning it would report ordinary release tooling as install-time risk.
|
|
197
|
+
* - `prepack` / `postpack` - pack-time only, same reasoning.
|
|
198
|
+
* - Everything else (`build`, `test`, `start`, ...) - npm runs these only on an
|
|
199
|
+
* explicit `npm run`.
|
|
200
|
+
*/
|
|
201
|
+
export declare const AUTO_RUN_LIFECYCLE_HOOKS: readonly ["preinstall", "install", "postinstall", "prepublish", "preprepare", "prepare", "postprepare", "preuninstall", "postuninstall"];
|
|
202
|
+
/** A single entry of {@link AUTO_RUN_LIFECYCLE_HOOKS}. */
|
|
203
|
+
export type AutoRunLifecycleHook = (typeof AUTO_RUN_LIFECYCLE_HOOKS)[number];
|
|
158
204
|
/** Package.json script patterns that are suspicious */
|
|
159
205
|
export declare const SUSPICIOUS_SCRIPTS: PatternEntry[];
|
|
160
206
|
/** Patterns matching known malicious or typosquatting package names */
|
package/dist/patterns.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"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"}
|
package/dist/patterns.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Add new patterns, wallet addresses, or domain patterns as they are discovered.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.ALL_PATTERN_RULES = exports.ALL_PATTERN_SETS = exports.PROVENANCE_PATTERNS = exports.OBFUSCATION_V3_PATTERNS = exports.SECRETS_PATTERNS = exports.C2_EXTENDED_PATTERNS = exports.PROMPT_INJECTION_PATTERNS = exports.LURE_PATTERNS = exports.INFOSTEALER_PATTERNS = exports.IAC_PATTERNS = exports.OBFUSCATION_PATTERNS_V2 = exports.CAMPAIGN_PATTERNS_V2 = exports.MONOREPO_PATTERNS = exports.BUILD_CONFIG_FILES = exports.BUILD_TOOL_PATTERNS = exports.MAX_FILE_SIZE = exports.SCANNABLE_EXTENSIONS = exports.BEACON_MINER_PATTERNS = exports.KNOWN_NATIVE_PACKAGES = exports.BINARY_DOWNLOAD_PATTERNS = exports.BINARY_EXTENSIONS = exports.PYPI_TYPOSQUAT_PATTERNS = exports.PYTHON_EXTENSIONS = exports.PYPI_INSTALL_HOOK_PATTERNS = exports.PYPI_SETUP_FILES = exports.PYPI_FILE_PATTERNS = exports.CAMPAIGN_PATTERNS = exports.MALICIOUS_PACKAGE_PATTERNS = exports.SUSPICIOUS_SCRIPTS = exports.SUSPICIOUS_FILES = exports.FILE_PATTERNS = exports.MAX_CORRELATED_EVIDENCE_CHARS = exports.MAX_MATCH_ATTEMPTS_PER_PATTERN = exports.MAX_PHYSICAL_LINES_PER_PATTERN = exports.PATTERN_TILE_OVERLAP_CHARS = exports.MAX_SPAN_WINDOW_CHARS = exports.MAX_SPANS_LINES = exports.CHAINDROP_PERSISTENCE_ARTEFACT_REGEX = exports.isPatternApplicableToFile = void 0;
|
|
9
|
+
exports.ALL_PATTERN_RULES = exports.ALL_PATTERN_SETS = exports.PROVENANCE_PATTERNS = exports.OBFUSCATION_V3_PATTERNS = exports.SECRETS_PATTERNS = exports.C2_EXTENDED_PATTERNS = exports.PROMPT_INJECTION_PATTERNS = exports.LURE_PATTERNS = exports.INFOSTEALER_PATTERNS = exports.IAC_PATTERNS = exports.OBFUSCATION_PATTERNS_V2 = exports.CAMPAIGN_PATTERNS_V2 = exports.MONOREPO_PATTERNS = exports.BUILD_CONFIG_FILES = exports.BUILD_TOOL_PATTERNS = exports.MAX_FILE_SIZE = exports.SCANNABLE_EXTENSIONS = exports.BEACON_MINER_PATTERNS = exports.KNOWN_NATIVE_PACKAGES = exports.BINARY_DOWNLOAD_PATTERNS = exports.BINARY_EXTENSIONS = exports.PYPI_TYPOSQUAT_PATTERNS = exports.PYTHON_EXTENSIONS = exports.PYPI_INSTALL_HOOK_PATTERNS = exports.PYPI_SETUP_FILES = exports.PYPI_FILE_PATTERNS = exports.CAMPAIGN_PATTERNS = exports.MALICIOUS_PACKAGE_PATTERNS = exports.SUSPICIOUS_SCRIPTS = exports.AUTO_RUN_LIFECYCLE_HOOKS = exports.SUSPICIOUS_FILES = exports.FILE_PATTERNS = exports.MAX_CORRELATED_EVIDENCE_CHARS = exports.MAX_MATCH_ATTEMPTS_PER_PATTERN = exports.MAX_PHYSICAL_LINES_PER_PATTERN = exports.PATTERN_TILE_OVERLAP_CHARS = exports.MAX_SPAN_WINDOW_CHARS = exports.MAX_SPANS_LINES = exports.CHAINDROP_PERSISTENCE_ARTEFACT_REGEX = exports.isPatternApplicableToFile = void 0;
|
|
10
10
|
exports.isPatternMatchAccepted = isPatternMatchAccepted;
|
|
11
11
|
exports.truncateMatch = truncateMatch;
|
|
12
12
|
exports.matchPatternInContent = matchPatternInContent;
|
|
@@ -1636,6 +1636,63 @@ exports.SUSPICIOUS_FILES = [
|
|
|
1636
1636
|
},
|
|
1637
1637
|
];
|
|
1638
1638
|
// ---------------------------------------------------------------------------
|
|
1639
|
+
// npm lifecycle hooks that run without being asked
|
|
1640
|
+
// ---------------------------------------------------------------------------
|
|
1641
|
+
/**
|
|
1642
|
+
* The package.json script names npm executes on its own. A hostile command
|
|
1643
|
+
* sitting in one of these runs at install time; the same command under `build`
|
|
1644
|
+
* or `test` runs only when a human types it, which is a different risk and a
|
|
1645
|
+
* different (much noisier) rule.
|
|
1646
|
+
*
|
|
1647
|
+
* ONE list on purpose. This was previously copy-pasted into npm-scanner.ts and
|
|
1648
|
+
* scanner.ts, both copies had drifted to four entries, and install-hook-scanner
|
|
1649
|
+
* .ts carried a third, longer copy - so a published package declaring
|
|
1650
|
+
* `"install": "curl ... | bash"` produced no SUSPICIOUS_SCRIPTS finding on
|
|
1651
|
+
* either the registry path or the directory path. A fourth copy is how that
|
|
1652
|
+
* recurs, so import this rather than re-typing it.
|
|
1653
|
+
*
|
|
1654
|
+
* Why each name is in:
|
|
1655
|
+
*
|
|
1656
|
+
* - `preinstall`, `install`, `postinstall` - npm runs all three, in that order,
|
|
1657
|
+
* every time the package is installed as a dependency. `install` also defaults
|
|
1658
|
+
* to `node-gyp rebuild` when a binding.gyp is present, so the hook is live
|
|
1659
|
+
* even where package.json does not declare it.
|
|
1660
|
+
* - `preprepare`, `prepare`, `postprepare` - run on `npm install` in the
|
|
1661
|
+
* package's own directory, and for a CONSUMER whenever the dependency
|
|
1662
|
+
* resolves from a git URL instead of a registry tarball. Git dependencies are
|
|
1663
|
+
* ordinary in forks, monorepos and commit-pinned setups, so this is a real
|
|
1664
|
+
* execution path rather than a theoretical one. They sit at the same severity
|
|
1665
|
+
* as the install trio deliberately: severity comes from the SUSPICIOUS_SCRIPTS
|
|
1666
|
+
* entry that matched, and a `prepare` that pipes curl into bash is not less
|
|
1667
|
+
* malicious for firing in fewer contexts. Leaving the pre/post wrappers out
|
|
1668
|
+
* would also leave a one-word evasion open to anyone who reads this file.
|
|
1669
|
+
* - `prepublish` - deprecated by npm but still executed, and it fires on a bare
|
|
1670
|
+
* `npm install` inside the package's own directory, which is exactly the
|
|
1671
|
+
* situation a directory scan reports on.
|
|
1672
|
+
* - `preuninstall`, `postuninstall` - run on removal, with no prompt.
|
|
1673
|
+
*
|
|
1674
|
+
* Deliberately OUT:
|
|
1675
|
+
*
|
|
1676
|
+
* - `prepublishOnly` - runs only on `npm publish`, never on any install, so it
|
|
1677
|
+
* cannot reach someone installing the package. It is also where npm documents
|
|
1678
|
+
* that build steps belong (this repo keeps `npm run build` there), so
|
|
1679
|
+
* scanning it would report ordinary release tooling as install-time risk.
|
|
1680
|
+
* - `prepack` / `postpack` - pack-time only, same reasoning.
|
|
1681
|
+
* - Everything else (`build`, `test`, `start`, ...) - npm runs these only on an
|
|
1682
|
+
* explicit `npm run`.
|
|
1683
|
+
*/
|
|
1684
|
+
exports.AUTO_RUN_LIFECYCLE_HOOKS = [
|
|
1685
|
+
"preinstall",
|
|
1686
|
+
"install",
|
|
1687
|
+
"postinstall",
|
|
1688
|
+
"prepublish",
|
|
1689
|
+
"preprepare",
|
|
1690
|
+
"prepare",
|
|
1691
|
+
"postprepare",
|
|
1692
|
+
"preuninstall",
|
|
1693
|
+
"postuninstall",
|
|
1694
|
+
];
|
|
1695
|
+
// ---------------------------------------------------------------------------
|
|
1639
1696
|
// Suspicious npm scripts
|
|
1640
1697
|
// ---------------------------------------------------------------------------
|
|
1641
1698
|
/** Package.json script patterns that are suspicious */
|