@socketsecurity/cli-with-sentry 1.0.105 → 1.0.106
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/dist/cli.js +21 -9
- package/dist/cli.js.map +1 -1
- package/dist/constants.js +3 -3
- package/dist/constants.js.map +1 -1
- package/dist/tsconfig.dts.tsbuildinfo +1 -1
- package/dist/types/commands/ci/handle-ci.d.mts.map +1 -1
- package/dist/types/commands/fix/coana-fix.d.mts.map +1 -1
- package/dist/types/commands/scan/cmd-scan-create.d.mts.map +1 -1
- package/dist/types/commands/scan/cmd-scan-reach.d.mts.map +1 -1
- package/dist/types/commands/scan/perform-reachability-analysis.d.mts +1 -0
- package/dist/types/commands/scan/perform-reachability-analysis.d.mts.map +1 -1
- package/dist/types/commands/scan/reachability-flags.d.mts.map +1 -1
- package/external/@coana-tech/cli/cli.mjs +11894 -11832
- package/external/@coana-tech/cli/reachability-analyzers-cli.mjs +198 -196
- package/external/@coana-tech/cli/repos/coana-tech/alucard/alucard.jar +0 -0
- package/external/@coana-tech/cli/repos/coana-tech/goana/bin/goana-darwin-amd64.gz +0 -0
- package/external/@coana-tech/cli/repos/coana-tech/goana/bin/goana-darwin-arm64.gz +0 -0
- package/external/@coana-tech/cli/repos/coana-tech/goana/bin/goana-linux-amd64.gz +0 -0
- package/external/@coana-tech/cli/repos/coana-tech/goana/bin/goana-linux-arm64.gz +0 -0
- package/package.json +2 -2
|
@@ -73989,201 +73989,6 @@ function getVulnReachability(c) {
|
|
|
73989
73989
|
return hasReachableMatches(c.detectedOccurrences) ? "REACHABLE" : "UNREACHABLE";
|
|
73990
73990
|
}
|
|
73991
73991
|
|
|
73992
|
-
// dist/env.js
|
|
73993
|
-
var COANA_API_KEY = process.env.COANA_API_KEY;
|
|
73994
|
-
var COANA_REPORT_ID = process.env.COANA_REPORT_ID;
|
|
73995
|
-
|
|
73996
|
-
// dist/whole-program-code-aware-vulnerability-scanner/dotnet/heuristics.js
|
|
73997
|
-
var CocoaHeuristics = {
|
|
73998
|
-
ALL_PACKAGES: {
|
|
73999
|
-
// analyzes all packages disregarding what vulnerabilities affect the project being analyzed
|
|
74000
|
-
name: "ALL_PACKAGES",
|
|
74001
|
-
getPackagesToAnalyze: (_vulnerabilities) => void 0,
|
|
74002
|
-
splitAnalysisInBuckets: false
|
|
74003
|
-
},
|
|
74004
|
-
ONLY_APPLICATION_SOURCE_FILES_FOR_KNOWN_LANGUAGES: {
|
|
74005
|
-
// analyse only application source fil
|
|
74006
|
-
name: "ONLY_APPLICATION_SOURCE_FILES_FOR_KNOWN_LANGUAGES",
|
|
74007
|
-
getPackagesToAnalyze: (_vulnerabilities) => void 0,
|
|
74008
|
-
splitAnalysisInBuckets: false
|
|
74009
|
-
}
|
|
74010
|
-
};
|
|
74011
|
-
|
|
74012
|
-
// dist/whole-program-code-aware-vulnerability-scanner/go/heuristics.js
|
|
74013
|
-
var GoanaHeuristics = {
|
|
74014
|
-
DEFAULT: {
|
|
74015
|
-
// analyzes all packages disregarding what vulnerabilities affect the project being analyzed
|
|
74016
|
-
name: "DEFAULT",
|
|
74017
|
-
includeTests: true,
|
|
74018
|
-
splitAnalysisInBuckets: false
|
|
74019
|
-
},
|
|
74020
|
-
NO_TESTS: {
|
|
74021
|
-
name: "NO_TESTS",
|
|
74022
|
-
includeTests: false,
|
|
74023
|
-
splitAnalysisInBuckets: false
|
|
74024
|
-
},
|
|
74025
|
-
IMPORT_REACHABILITY: {
|
|
74026
|
-
// pre-analysis to filter out vulnerabilities that are unreachable based on the import graph
|
|
74027
|
-
name: "IMPORT_REACHABILITY",
|
|
74028
|
-
includeTests: true,
|
|
74029
|
-
splitAnalysisInBuckets: false
|
|
74030
|
-
}
|
|
74031
|
-
};
|
|
74032
|
-
|
|
74033
|
-
// dist/whole-program-code-aware-vulnerability-scanner/java/heuristics.js
|
|
74034
|
-
var AlucardHeuristics = {
|
|
74035
|
-
ALL_PACKAGES: {
|
|
74036
|
-
// analyzes all packages disregarding what vulnerabilities affect the project being analyzed
|
|
74037
|
-
name: "ALL_PACKAGES",
|
|
74038
|
-
getPackagesToAnalyze: (_vulnerabilities) => void 0,
|
|
74039
|
-
splitAnalysisInBuckets: false
|
|
74040
|
-
},
|
|
74041
|
-
ONLY_APPLICATION_SOURCE_FILES_FOR_KNOWN_LANGUAGES: {
|
|
74042
|
-
// analyse only application source fil
|
|
74043
|
-
name: "ONLY_APPLICATION_SOURCE_FILES_FOR_KNOWN_LANGUAGES",
|
|
74044
|
-
getPackagesToAnalyze: (_vulnerabilities) => void 0,
|
|
74045
|
-
splitAnalysisInBuckets: false
|
|
74046
|
-
}
|
|
74047
|
-
};
|
|
74048
|
-
|
|
74049
|
-
// dist/whole-program-code-aware-vulnerability-scanner/js/heuristics.js
|
|
74050
|
-
var AllPackagesHeuristic = {
|
|
74051
|
-
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed
|
|
74052
|
-
name: "ALL_PACKAGES",
|
|
74053
|
-
getOptions: getAllPackagesHeuristicOptions,
|
|
74054
|
-
splitAnalysisInBuckets: false
|
|
74055
|
-
};
|
|
74056
|
-
var DefaultOptionsHeuristic = {
|
|
74057
|
-
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed
|
|
74058
|
-
name: "DEFAULT_OPTIONS",
|
|
74059
|
-
getOptions: () => ({}),
|
|
74060
|
-
splitAnalysisInBuckets: false
|
|
74061
|
-
};
|
|
74062
|
-
var MaxRounds2Heuristic = {
|
|
74063
|
-
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed and limiting the number of rounds to 3
|
|
74064
|
-
name: "MAX_ROUNDS_2",
|
|
74065
|
-
getOptions: () => getMaxRoundsHeuristicOptions(2),
|
|
74066
|
-
splitAnalysisInBuckets: false
|
|
74067
|
-
};
|
|
74068
|
-
var MaxRounds3Heuristic = {
|
|
74069
|
-
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed and limiting the number of rounds to 3
|
|
74070
|
-
name: "MAX_ROUNDS_3",
|
|
74071
|
-
getOptions: () => getMaxRoundsHeuristicOptions(3),
|
|
74072
|
-
splitAnalysisInBuckets: false
|
|
74073
|
-
};
|
|
74074
|
-
var MaxRounds5Heuristic = {
|
|
74075
|
-
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed and limiting the number of rounds to 5
|
|
74076
|
-
name: "MAX_ROUNDS_5",
|
|
74077
|
-
getOptions: () => getMaxRoundsHeuristicOptions(5),
|
|
74078
|
-
splitAnalysisInBuckets: false
|
|
74079
|
-
};
|
|
74080
|
-
var OnlyVulnPathPackagesExceptVulnerablePackageHeuristic = {
|
|
74081
|
-
// Analyzing only packages that are in the path of the vulnerabilities being analyzed
|
|
74082
|
-
name: "ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE",
|
|
74083
|
-
getOptions: getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions,
|
|
74084
|
-
splitAnalysisInBuckets: true
|
|
74085
|
-
};
|
|
74086
|
-
var OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds2Heuristic = {
|
|
74087
|
-
// Analyzing only packages that are in the path of the vulnerabilities being analyzed and limiting the number of rounds to 2
|
|
74088
|
-
name: "ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_2",
|
|
74089
|
-
getOptions: (vulnerabilities) => ({
|
|
74090
|
-
...getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions(vulnerabilities),
|
|
74091
|
-
...getMaxRoundsHeuristicOptions(2)
|
|
74092
|
-
}),
|
|
74093
|
-
splitAnalysisInBuckets: true
|
|
74094
|
-
};
|
|
74095
|
-
var OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds3Heuristic = {
|
|
74096
|
-
// Analyzing only packages that are in the path of the vulnerabilities being analyzed and limiting the number of rounds to 3
|
|
74097
|
-
name: "ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_3",
|
|
74098
|
-
getOptions: (vulnerabilities) => ({
|
|
74099
|
-
...getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions(vulnerabilities),
|
|
74100
|
-
...getMaxRoundsHeuristicOptions(3)
|
|
74101
|
-
}),
|
|
74102
|
-
splitAnalysisInBuckets: true
|
|
74103
|
-
};
|
|
74104
|
-
var OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds8Heuristic = {
|
|
74105
|
-
// Analyzing only packages that are in the path of the vulnerabilities being analyzed and limiting the number of rounds to 8
|
|
74106
|
-
name: "ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_8",
|
|
74107
|
-
getOptions: (vulnerabilities) => ({
|
|
74108
|
-
...getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions(vulnerabilities),
|
|
74109
|
-
...getMaxRoundsHeuristicOptions(8)
|
|
74110
|
-
}),
|
|
74111
|
-
splitAnalysisInBuckets: true
|
|
74112
|
-
};
|
|
74113
|
-
var IgnoreDependenciesAndMaxRounds3Heuristic = {
|
|
74114
|
-
name: "IGNORE_DEPENDENCIES_AND_MAX_ROUNDS_3",
|
|
74115
|
-
getOptions: () => ({ includePackages: ["some_non_existing_package"], ...getMaxRoundsHeuristicOptions(3) }),
|
|
74116
|
-
// This heuristic will ignore all dependencies, but we need to provide a package name to have a value for the --include-packages option
|
|
74117
|
-
splitAnalysisInBuckets: false
|
|
74118
|
-
};
|
|
74119
|
-
var heuristics = {
|
|
74120
|
-
ALL_PACKAGES: AllPackagesHeuristic,
|
|
74121
|
-
DEFAULT_OPTIONS: DefaultOptionsHeuristic,
|
|
74122
|
-
MAX_ROUNDS_2: MaxRounds2Heuristic,
|
|
74123
|
-
MAX_ROUNDS_3: MaxRounds3Heuristic,
|
|
74124
|
-
MAX_ROUNDS_5: MaxRounds5Heuristic,
|
|
74125
|
-
ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE: OnlyVulnPathPackagesExceptVulnerablePackageHeuristic,
|
|
74126
|
-
ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_2: OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds2Heuristic,
|
|
74127
|
-
ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_3: OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds3Heuristic,
|
|
74128
|
-
ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_8: OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds8Heuristic,
|
|
74129
|
-
createIncludePackagesHeuristic: (packageNames, options) => ({
|
|
74130
|
-
// Create a heuristic for only analyzing the packages in the packageNames array
|
|
74131
|
-
name: `INCLUDE_PACKAGES_${packageNames.join("_")}`,
|
|
74132
|
-
getOptions: () => ({ ...options, includePackages: packageNames }),
|
|
74133
|
-
splitAnalysisInBuckets: true
|
|
74134
|
-
}),
|
|
74135
|
-
IGNORE_DEPENDENCIES_AND_MAX_ROUNDS_3: IgnoreDependenciesAndMaxRounds3Heuristic
|
|
74136
|
-
};
|
|
74137
|
-
function getAllPackagesHeuristicOptions() {
|
|
74138
|
-
return {};
|
|
74139
|
-
}
|
|
74140
|
-
function getMaxRoundsHeuristicOptions(maxRounds) {
|
|
74141
|
-
return {
|
|
74142
|
-
maxIndirections: maxRounds
|
|
74143
|
-
};
|
|
74144
|
-
}
|
|
74145
|
-
function getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions(vulnerabilities) {
|
|
74146
|
-
return {
|
|
74147
|
-
includePackages: computePackagesOnVulnPathExcludingVulnerablePackage(vulnerabilities)
|
|
74148
|
-
};
|
|
74149
|
-
}
|
|
74150
|
-
function computePackagesOnVulnPathExcludingVulnerablePackage(vulnerabilities) {
|
|
74151
|
-
const packagesToAnalyze = /* @__PURE__ */ new Set();
|
|
74152
|
-
vulnerabilities.filter((v) => !v.vulnerabilityAccessPaths || typeof v.vulnerabilityAccessPaths !== "string").forEach((v) => {
|
|
74153
|
-
const visitedIdentifiers = [];
|
|
74154
|
-
const helper = (node) => {
|
|
74155
|
-
if (node.children && node.children.length > 0)
|
|
74156
|
-
packagesToAnalyze.add(node.packageName);
|
|
74157
|
-
node.children?.filter((c) => !visitedIdentifiers.includes(c)).forEach((c) => {
|
|
74158
|
-
visitedIdentifiers.push(c);
|
|
74159
|
-
helper(v.vulnChainDetails.transitiveDependencies[c]);
|
|
74160
|
-
});
|
|
74161
|
-
};
|
|
74162
|
-
helper(v.vulnChainDetails);
|
|
74163
|
-
});
|
|
74164
|
-
return [...packagesToAnalyze];
|
|
74165
|
-
}
|
|
74166
|
-
|
|
74167
|
-
// dist/whole-program-code-aware-vulnerability-scanner/python/heuristics.js
|
|
74168
|
-
var MambaladeHeuristics = {
|
|
74169
|
-
ALL_PACKAGES: {
|
|
74170
|
-
// analyzes all packages disregarding what vulnerabilities affect the project being analyzed
|
|
74171
|
-
name: "ALL_PACKAGES",
|
|
74172
|
-
splitAnalysisInBuckets: false
|
|
74173
|
-
},
|
|
74174
|
-
createOnlyVulnPathPackagesHeuristic(depInfos) {
|
|
74175
|
-
return {
|
|
74176
|
-
// analyzes only packages that are in the path of the vulnerabilities being analyzed
|
|
74177
|
-
name: "ONLY_VULN_PATH_PACKAGES",
|
|
74178
|
-
getPackagesToExcludeFromAnalysis: (vulnerabilities) => {
|
|
74179
|
-
const packagesToAnalyze = new Set(vulnerabilities.flatMap((v) => Object.values(v.vulnChainDetails?.transitiveDependencies ?? {}).map((d) => d.packageName)));
|
|
74180
|
-
return new Set(depInfos.map((d) => d.packageName).filter((name2) => !packagesToAnalyze.has(name2)));
|
|
74181
|
-
},
|
|
74182
|
-
splitAnalysisInBuckets: true
|
|
74183
|
-
};
|
|
74184
|
-
}
|
|
74185
|
-
};
|
|
74186
|
-
|
|
74187
73992
|
// dist/analyzers/pip-analyzer.js
|
|
74188
73993
|
var import_lodash16 = __toESM(require_lodash(), 1);
|
|
74189
73994
|
import assert7 from "assert";
|
|
@@ -74405,6 +74210,26 @@ function uvTool(executable) {
|
|
|
74405
74210
|
return ["uv", "tool", "run", "--python", executable ?? systemPython()];
|
|
74406
74211
|
}
|
|
74407
74212
|
|
|
74213
|
+
// dist/whole-program-code-aware-vulnerability-scanner/python/heuristics.js
|
|
74214
|
+
var MambaladeHeuristics = {
|
|
74215
|
+
ALL_PACKAGES: {
|
|
74216
|
+
// analyzes all packages disregarding what vulnerabilities affect the project being analyzed
|
|
74217
|
+
name: "ALL_PACKAGES",
|
|
74218
|
+
splitAnalysisInBuckets: false
|
|
74219
|
+
},
|
|
74220
|
+
createOnlyVulnPathPackagesHeuristic(depInfos) {
|
|
74221
|
+
return {
|
|
74222
|
+
// analyzes only packages that are in the path of the vulnerabilities being analyzed
|
|
74223
|
+
name: "ONLY_VULN_PATH_PACKAGES",
|
|
74224
|
+
getPackagesToExcludeFromAnalysis: (vulnerabilities) => {
|
|
74225
|
+
const packagesToAnalyze = new Set(vulnerabilities.flatMap((v) => Object.values(v.vulnChainDetails?.transitiveDependencies ?? {}).map((d) => d.packageName)));
|
|
74226
|
+
return new Set(depInfos.map((d) => d.packageName).filter((name2) => !packagesToAnalyze.has(name2)));
|
|
74227
|
+
},
|
|
74228
|
+
splitAnalysisInBuckets: true
|
|
74229
|
+
};
|
|
74230
|
+
}
|
|
74231
|
+
};
|
|
74232
|
+
|
|
74408
74233
|
// dist/whole-program-code-aware-vulnerability-scanner/python/phantom-deps.js
|
|
74409
74234
|
var import_lodash15 = __toESM(require_lodash(), 1);
|
|
74410
74235
|
import fs11 from "fs/promises";
|
|
@@ -74595,6 +74420,22 @@ function assertDefined(value) {
|
|
|
74595
74420
|
return value;
|
|
74596
74421
|
}
|
|
74597
74422
|
|
|
74423
|
+
// dist/whole-program-code-aware-vulnerability-scanner/dotnet/heuristics.js
|
|
74424
|
+
var CocoaHeuristics = {
|
|
74425
|
+
ALL_PACKAGES: {
|
|
74426
|
+
// analyzes all packages disregarding what vulnerabilities affect the project being analyzed
|
|
74427
|
+
name: "ALL_PACKAGES",
|
|
74428
|
+
getPackagesToAnalyze: (_vulnerabilities) => void 0,
|
|
74429
|
+
splitAnalysisInBuckets: false
|
|
74430
|
+
},
|
|
74431
|
+
ONLY_APPLICATION_SOURCE_FILES_FOR_KNOWN_LANGUAGES: {
|
|
74432
|
+
// analyse only application source fil
|
|
74433
|
+
name: "ONLY_APPLICATION_SOURCE_FILES_FOR_KNOWN_LANGUAGES",
|
|
74434
|
+
getPackagesToAnalyze: (_vulnerabilities) => void 0,
|
|
74435
|
+
splitAnalysisInBuckets: false
|
|
74436
|
+
}
|
|
74437
|
+
};
|
|
74438
|
+
|
|
74598
74439
|
// dist/whole-program-code-aware-vulnerability-scanner/dotnet/dotnet-code-aware-vulnerability-scanner.js
|
|
74599
74440
|
var import_adm_zip = __toESM(require_adm_zip(), 1);
|
|
74600
74441
|
import { mkdir, readFile as readFile5, writeFile as writeFile3 } from "fs/promises";
|
|
@@ -88443,6 +88284,22 @@ async function findArtifactsForPackageInRemoteRepository(repository, groupId, ar
|
|
|
88443
88284
|
}
|
|
88444
88285
|
}
|
|
88445
88286
|
|
|
88287
|
+
// dist/whole-program-code-aware-vulnerability-scanner/java/heuristics.js
|
|
88288
|
+
var AlucardHeuristics = {
|
|
88289
|
+
ALL_PACKAGES: {
|
|
88290
|
+
// analyzes all packages disregarding what vulnerabilities affect the project being analyzed
|
|
88291
|
+
name: "ALL_PACKAGES",
|
|
88292
|
+
getPackagesToAnalyze: (_vulnerabilities) => void 0,
|
|
88293
|
+
splitAnalysisInBuckets: false
|
|
88294
|
+
},
|
|
88295
|
+
ONLY_APPLICATION_SOURCE_FILES_FOR_KNOWN_LANGUAGES: {
|
|
88296
|
+
// analyse only application source fil
|
|
88297
|
+
name: "ONLY_APPLICATION_SOURCE_FILES_FOR_KNOWN_LANGUAGES",
|
|
88298
|
+
getPackagesToAnalyze: (_vulnerabilities) => void 0,
|
|
88299
|
+
splitAnalysisInBuckets: false
|
|
88300
|
+
}
|
|
88301
|
+
};
|
|
88302
|
+
|
|
88446
88303
|
// dist/whole-program-code-aware-vulnerability-scanner/java/java-code-aware-vulnerability-scanner.js
|
|
88447
88304
|
var import_packageurl_js5 = __toESM(require_packageurl_js(), 1);
|
|
88448
88305
|
import { randomUUID as randomUUID2 } from "crypto";
|
|
@@ -94953,6 +94810,124 @@ async function createSymlinksForEachDependency(dependencyInfosForDependenciesToI
|
|
|
94953
94810
|
}
|
|
94954
94811
|
}
|
|
94955
94812
|
|
|
94813
|
+
// dist/whole-program-code-aware-vulnerability-scanner/js/heuristics.js
|
|
94814
|
+
var AllPackagesHeuristic = {
|
|
94815
|
+
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed
|
|
94816
|
+
name: "ALL_PACKAGES",
|
|
94817
|
+
getOptions: getAllPackagesHeuristicOptions,
|
|
94818
|
+
splitAnalysisInBuckets: false
|
|
94819
|
+
};
|
|
94820
|
+
var DefaultOptionsHeuristic = {
|
|
94821
|
+
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed
|
|
94822
|
+
name: "DEFAULT_OPTIONS",
|
|
94823
|
+
getOptions: () => ({}),
|
|
94824
|
+
splitAnalysisInBuckets: false
|
|
94825
|
+
};
|
|
94826
|
+
var MaxRounds2Heuristic = {
|
|
94827
|
+
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed and limiting the number of rounds to 3
|
|
94828
|
+
name: "MAX_ROUNDS_2",
|
|
94829
|
+
getOptions: () => getMaxRoundsHeuristicOptions(2),
|
|
94830
|
+
splitAnalysisInBuckets: false
|
|
94831
|
+
};
|
|
94832
|
+
var MaxRounds3Heuristic = {
|
|
94833
|
+
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed and limiting the number of rounds to 3
|
|
94834
|
+
name: "MAX_ROUNDS_3",
|
|
94835
|
+
getOptions: () => getMaxRoundsHeuristicOptions(3),
|
|
94836
|
+
splitAnalysisInBuckets: false
|
|
94837
|
+
};
|
|
94838
|
+
var MaxRounds5Heuristic = {
|
|
94839
|
+
// Analyzing all packages disregarding what vulnerabilities affect the project being analyzed and limiting the number of rounds to 5
|
|
94840
|
+
name: "MAX_ROUNDS_5",
|
|
94841
|
+
getOptions: () => getMaxRoundsHeuristicOptions(5),
|
|
94842
|
+
splitAnalysisInBuckets: false
|
|
94843
|
+
};
|
|
94844
|
+
var OnlyVulnPathPackagesExceptVulnerablePackageHeuristic = {
|
|
94845
|
+
// Analyzing only packages that are in the path of the vulnerabilities being analyzed
|
|
94846
|
+
name: "ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE",
|
|
94847
|
+
getOptions: getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions,
|
|
94848
|
+
splitAnalysisInBuckets: true
|
|
94849
|
+
};
|
|
94850
|
+
var OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds2Heuristic = {
|
|
94851
|
+
// Analyzing only packages that are in the path of the vulnerabilities being analyzed and limiting the number of rounds to 2
|
|
94852
|
+
name: "ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_2",
|
|
94853
|
+
getOptions: (vulnerabilities) => ({
|
|
94854
|
+
...getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions(vulnerabilities),
|
|
94855
|
+
...getMaxRoundsHeuristicOptions(2)
|
|
94856
|
+
}),
|
|
94857
|
+
splitAnalysisInBuckets: true
|
|
94858
|
+
};
|
|
94859
|
+
var OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds3Heuristic = {
|
|
94860
|
+
// Analyzing only packages that are in the path of the vulnerabilities being analyzed and limiting the number of rounds to 3
|
|
94861
|
+
name: "ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_3",
|
|
94862
|
+
getOptions: (vulnerabilities) => ({
|
|
94863
|
+
...getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions(vulnerabilities),
|
|
94864
|
+
...getMaxRoundsHeuristicOptions(3)
|
|
94865
|
+
}),
|
|
94866
|
+
splitAnalysisInBuckets: true
|
|
94867
|
+
};
|
|
94868
|
+
var OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds8Heuristic = {
|
|
94869
|
+
// Analyzing only packages that are in the path of the vulnerabilities being analyzed and limiting the number of rounds to 8
|
|
94870
|
+
name: "ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_8",
|
|
94871
|
+
getOptions: (vulnerabilities) => ({
|
|
94872
|
+
...getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions(vulnerabilities),
|
|
94873
|
+
...getMaxRoundsHeuristicOptions(8)
|
|
94874
|
+
}),
|
|
94875
|
+
splitAnalysisInBuckets: true
|
|
94876
|
+
};
|
|
94877
|
+
var IgnoreDependenciesAndMaxRounds3Heuristic = {
|
|
94878
|
+
name: "IGNORE_DEPENDENCIES_AND_MAX_ROUNDS_3",
|
|
94879
|
+
getOptions: () => ({ includePackages: ["some_non_existing_package"], ...getMaxRoundsHeuristicOptions(3) }),
|
|
94880
|
+
// This heuristic will ignore all dependencies, but we need to provide a package name to have a value for the --include-packages option
|
|
94881
|
+
splitAnalysisInBuckets: false
|
|
94882
|
+
};
|
|
94883
|
+
var heuristics = {
|
|
94884
|
+
ALL_PACKAGES: AllPackagesHeuristic,
|
|
94885
|
+
DEFAULT_OPTIONS: DefaultOptionsHeuristic,
|
|
94886
|
+
MAX_ROUNDS_2: MaxRounds2Heuristic,
|
|
94887
|
+
MAX_ROUNDS_3: MaxRounds3Heuristic,
|
|
94888
|
+
MAX_ROUNDS_5: MaxRounds5Heuristic,
|
|
94889
|
+
ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE: OnlyVulnPathPackagesExceptVulnerablePackageHeuristic,
|
|
94890
|
+
ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_2: OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds2Heuristic,
|
|
94891
|
+
ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_3: OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds3Heuristic,
|
|
94892
|
+
ONLY_VULN_PATH_PACKAGES_EXCEPT_VULNERABLE_PACKAGE_AND_MAX_ROUNDS_8: OnlyVulnPathPackagesExceptVulnerablePackageAndMaxRounds8Heuristic,
|
|
94893
|
+
createIncludePackagesHeuristic: (packageNames, options) => ({
|
|
94894
|
+
// Create a heuristic for only analyzing the packages in the packageNames array
|
|
94895
|
+
name: `INCLUDE_PACKAGES_${packageNames.join("_")}`,
|
|
94896
|
+
getOptions: () => ({ ...options, includePackages: packageNames }),
|
|
94897
|
+
splitAnalysisInBuckets: true
|
|
94898
|
+
}),
|
|
94899
|
+
IGNORE_DEPENDENCIES_AND_MAX_ROUNDS_3: IgnoreDependenciesAndMaxRounds3Heuristic
|
|
94900
|
+
};
|
|
94901
|
+
function getAllPackagesHeuristicOptions() {
|
|
94902
|
+
return {};
|
|
94903
|
+
}
|
|
94904
|
+
function getMaxRoundsHeuristicOptions(maxRounds) {
|
|
94905
|
+
return {
|
|
94906
|
+
maxIndirections: maxRounds
|
|
94907
|
+
};
|
|
94908
|
+
}
|
|
94909
|
+
function getOnlyPackagesInVulnPathsWithoutLeafPackagesHeuristicOptions(vulnerabilities) {
|
|
94910
|
+
return {
|
|
94911
|
+
includePackages: computePackagesOnVulnPathExcludingVulnerablePackage(vulnerabilities)
|
|
94912
|
+
};
|
|
94913
|
+
}
|
|
94914
|
+
function computePackagesOnVulnPathExcludingVulnerablePackage(vulnerabilities) {
|
|
94915
|
+
const packagesToAnalyze = /* @__PURE__ */ new Set();
|
|
94916
|
+
vulnerabilities.filter((v) => !v.vulnerabilityAccessPaths || typeof v.vulnerabilityAccessPaths !== "string").forEach((v) => {
|
|
94917
|
+
const visitedIdentifiers = [];
|
|
94918
|
+
const helper = (node) => {
|
|
94919
|
+
if (node.children && node.children.length > 0)
|
|
94920
|
+
packagesToAnalyze.add(node.packageName);
|
|
94921
|
+
node.children?.filter((c) => !visitedIdentifiers.includes(c)).forEach((c) => {
|
|
94922
|
+
visitedIdentifiers.push(c);
|
|
94923
|
+
helper(v.vulnChainDetails.transitiveDependencies[c]);
|
|
94924
|
+
});
|
|
94925
|
+
};
|
|
94926
|
+
helper(v.vulnChainDetails);
|
|
94927
|
+
});
|
|
94928
|
+
return [...packagesToAnalyze];
|
|
94929
|
+
}
|
|
94930
|
+
|
|
94956
94931
|
// dist/whole-program-code-aware-vulnerability-scanner/js/js-code-aware-vulnerability-scanner.js
|
|
94957
94932
|
var JSCodeAwareVulnerabilityScanner = class _JSCodeAwareVulnerabilityScanner {
|
|
94958
94933
|
mainProjectDir;
|
|
@@ -95129,6 +95104,29 @@ import { existsSync as existsSync9, createReadStream, createWriteStream as creat
|
|
|
95129
95104
|
import { readFile as readFile8, rm as rm4, cp as cp4 } from "fs/promises";
|
|
95130
95105
|
import zlib2 from "zlib";
|
|
95131
95106
|
import { join as join17, resolve as resolve9, sep } from "path";
|
|
95107
|
+
|
|
95108
|
+
// dist/whole-program-code-aware-vulnerability-scanner/go/heuristics.js
|
|
95109
|
+
var GoanaHeuristics = {
|
|
95110
|
+
DEFAULT: {
|
|
95111
|
+
// analyzes all packages disregarding what vulnerabilities affect the project being analyzed
|
|
95112
|
+
name: "DEFAULT",
|
|
95113
|
+
includeTests: true,
|
|
95114
|
+
splitAnalysisInBuckets: false
|
|
95115
|
+
},
|
|
95116
|
+
NO_TESTS: {
|
|
95117
|
+
name: "NO_TESTS",
|
|
95118
|
+
includeTests: false,
|
|
95119
|
+
splitAnalysisInBuckets: false
|
|
95120
|
+
},
|
|
95121
|
+
IMPORT_REACHABILITY: {
|
|
95122
|
+
// pre-analysis to filter out vulnerabilities that are unreachable based on the import graph
|
|
95123
|
+
name: "IMPORT_REACHABILITY",
|
|
95124
|
+
includeTests: true,
|
|
95125
|
+
splitAnalysisInBuckets: false
|
|
95126
|
+
}
|
|
95127
|
+
};
|
|
95128
|
+
|
|
95129
|
+
// dist/whole-program-code-aware-vulnerability-scanner/go/go-code-aware-vulnerability-scanner.js
|
|
95132
95130
|
import { pipeline } from "stream/promises";
|
|
95133
95131
|
var { uniq: uniq5 } = import_lodash11.default;
|
|
95134
95132
|
var GoCodeAwareVulnerabilityScanner = class {
|
|
@@ -96990,6 +96988,10 @@ function getPreInstalledDepInfos(workspaceData) {
|
|
|
96990
96988
|
}
|
|
96991
96989
|
}
|
|
96992
96990
|
|
|
96991
|
+
// dist/env.js
|
|
96992
|
+
var COANA_API_KEY = process.env.COANA_API_KEY;
|
|
96993
|
+
var COANA_REPORT_ID = process.env.COANA_REPORT_ID;
|
|
96994
|
+
|
|
96993
96995
|
// dist/whole-program-code-aware-vulnerability-scanner/analyze-in-buckets.js
|
|
96994
96996
|
var { groupBy } = import_lodash17.default;
|
|
96995
96997
|
var CLI_VERSION_TO_USE_CACHING_FROM = { PIP: "14.9.15" };
|
|
@@ -97087,7 +97089,7 @@ async function analyzeWithHeuristics(state, vulns, heuristicsInOrder, doNotRecom
|
|
|
97087
97089
|
}
|
|
97088
97090
|
}
|
|
97089
97091
|
async function getBucketsBasedOnPreviousResults() {
|
|
97090
|
-
if (!SOCKET_MODE && (!COANA_REPORT_ID || apiKey.type === "missing"))
|
|
97092
|
+
if (state.otherAnalysisOptions.skipCacheUsage || !SOCKET_MODE && (!COANA_REPORT_ID || apiKey.type === "missing"))
|
|
97091
97093
|
return void 0;
|
|
97092
97094
|
const bucketsFromLastAnalysisAndCliVersion = await dashboardAPI.getBucketsForLastReport(relative5(state.rootWorkingDir, state.subprojectDir) || ".", state.workspacePath, vulnerabilities[0].ecosystem ?? "NPM", COANA_REPORT_ID, apiKey);
|
|
97093
97095
|
if (!bucketsFromLastAnalysisAndCliVersion)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@socketsecurity/cli-with-sentry",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.106",
|
|
4
4
|
"description": "CLI for Socket.dev, includes Sentry error handling, otherwise identical to the regular `socket` package",
|
|
5
5
|
"homepage": "https://github.com/SocketDev/socket-cli",
|
|
6
6
|
"license": "MIT",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"@babel/preset-typescript": "7.27.1",
|
|
87
87
|
"@babel/runtime": "7.28.3",
|
|
88
88
|
"@biomejs/biome": "2.2.2",
|
|
89
|
-
"@coana-tech/cli": "14.12.
|
|
89
|
+
"@coana-tech/cli": "14.12.12",
|
|
90
90
|
"@cyclonedx/cdxgen": "11.6.0",
|
|
91
91
|
"@dotenvx/dotenvx": "1.49.0",
|
|
92
92
|
"@eslint/compat": "1.3.2",
|