@dxworks/depinder 0.1.6 → 0.2.1
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/cache/json-cache.js.map +1 -1
- package/dist/cache/mongo-cache.js +20 -11
- package/dist/cache/mongo-cache.js.map +1 -1
- package/dist/commands/analyse.js +28 -27
- package/dist/commands/analyse.js.map +1 -1
- package/dist/commands/cache.js +6 -6
- package/dist/commands/cache.js.map +1 -1
- package/dist/commands/extractFrameworkVersion.js +67 -22
- package/dist/commands/extractFrameworkVersion.js.map +1 -1
- package/dist/commands/transformBlackDuckReports.d.ts +11 -0
- package/dist/commands/transformBlackDuckReports.js +491 -0
- package/dist/commands/transformBlackDuckReports.js.map +1 -0
- package/dist/commands/update.js +3 -4
- package/dist/commands/update.js.map +1 -1
- package/dist/depinder.js +4 -2
- package/dist/depinder.js.map +1 -1
- package/dist/extension-points/registrar.js +7 -8
- package/dist/extension-points/registrar.js.map +1 -1
- package/dist/info/php/parser.js +21 -12
- package/dist/info/php/parser.js.map +1 -1
- package/dist/plugins/dotnet/index.js +8 -16
- package/dist/plugins/dotnet/index.js.map +1 -1
- package/dist/plugins/index.js +3 -3
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/java/index.js +15 -23
- package/dist/plugins/java/index.js.map +1 -1
- package/dist/plugins/java/parsers/maven.js +2 -4
- package/dist/plugins/java/parsers/maven.js.map +1 -1
- package/dist/plugins/javascript/index.js +116 -24
- package/dist/plugins/javascript/index.js.map +1 -1
- package/dist/plugins/php/index.js +8 -11
- package/dist/plugins/php/index.js.map +1 -1
- package/dist/plugins/php/php-interfaces.js +4 -6
- package/dist/plugins/php/php-interfaces.js.map +1 -1
- package/dist/plugins/python/index.js +33 -20
- package/dist/plugins/python/index.js.map +1 -1
- package/dist/plugins/ruby/index.js +21 -12
- package/dist/plugins/ruby/index.js.map +1 -1
- package/dist/utils/npm.d.ts +0 -1
- package/dist/utils/projectMapping.d.ts +41 -0
- package/dist/utils/projectMapping.js +310 -0
- package/dist/utils/projectMapping.js.map +1 -0
- package/dist/utils/utils.js +6 -6
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/vulnerabilities.js +54 -54
- package/dist/utils/vulnerabilities.js.map +1 -1
- package/package.json +45 -49
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createPathMappings = createPathMappings;
|
|
37
|
+
exports.verifyProjectPath = verifyProjectPath;
|
|
38
|
+
exports.extractProjectInfo = extractProjectInfo;
|
|
39
|
+
/**
|
|
40
|
+
* Project mapping utilities for extracting project information from dependency paths
|
|
41
|
+
*/
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const END_DELIMITERS = [
|
|
45
|
+
'-yarn',
|
|
46
|
+
'-npm',
|
|
47
|
+
'node_modules',
|
|
48
|
+
'-pip',
|
|
49
|
+
'-maven',
|
|
50
|
+
'-gradle',
|
|
51
|
+
'-nuget',
|
|
52
|
+
'-sbt',
|
|
53
|
+
'-cargo',
|
|
54
|
+
'-rubygems',
|
|
55
|
+
'-packagist',
|
|
56
|
+
'-cocoapods',
|
|
57
|
+
'-swift',
|
|
58
|
+
'-xcode',
|
|
59
|
+
'-go_mod',
|
|
60
|
+
'-setuptools',
|
|
61
|
+
'-pnpm',
|
|
62
|
+
'-uv'
|
|
63
|
+
];
|
|
64
|
+
// Special case pattern for monorepo
|
|
65
|
+
const MONOREPO_PATTERN = /packages[\\/]([^\\/]+)[\\/]local[\\/]([^\\/]+)[\\/]-yarn/;
|
|
66
|
+
/**
|
|
67
|
+
* Check if a segment contains a version-like pattern
|
|
68
|
+
* @param segment Path segment to check
|
|
69
|
+
* @returns True if the segment looks like a version
|
|
70
|
+
*/
|
|
71
|
+
function isVersionSegment(segment) {
|
|
72
|
+
return /^\d+\.\d+\.\d+(?:[-.][A-Za-z0-9]+)*-?$/i.test(segment) ||
|
|
73
|
+
/^REPLACE_BY_CI$/i.test(segment) ||
|
|
74
|
+
segment.toLowerCase() === 'unspecified';
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Check if a segment contains a file that should be excluded
|
|
78
|
+
* @param segment Path segment to check
|
|
79
|
+
* @returns True if the segment contains a file to exclude
|
|
80
|
+
*/
|
|
81
|
+
function isFileSegment(segment) {
|
|
82
|
+
return segment.toLowerCase().endsWith('.csproj') ||
|
|
83
|
+
segment.toLowerCase().endsWith('.props') ||
|
|
84
|
+
segment.toLowerCase() === 'pom.xml';
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if a segment is an organization/company prefix that should be skipped
|
|
88
|
+
* @param segment Path segment to check
|
|
89
|
+
* @returns True if the segment looks like an organization prefix
|
|
90
|
+
*/
|
|
91
|
+
function isOrganizationPrefix(segment) {
|
|
92
|
+
// Common organization prefixes like com.company, org.apache, etc.
|
|
93
|
+
return /^(com|org|net|edu|gov)\.[a-zA-Z0-9.-]+$/.test(segment);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Resolves a path with relative segments (.., .)
|
|
97
|
+
* @param pathSegments Array of path segments to resolve
|
|
98
|
+
* @returns Array of resolved path segments
|
|
99
|
+
*/
|
|
100
|
+
function resolveRelativePath(pathSegments) {
|
|
101
|
+
const result = [];
|
|
102
|
+
let skipCount = 0;
|
|
103
|
+
for (const segment of pathSegments) {
|
|
104
|
+
if (segment === '..') {
|
|
105
|
+
skipCount++;
|
|
106
|
+
}
|
|
107
|
+
else if (segment !== '.' && segment !== '') {
|
|
108
|
+
if (skipCount > 0) {
|
|
109
|
+
// This segment is skipped because of a '..'
|
|
110
|
+
skipCount--;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
result.push(segment);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Standardizes a path by normalizing slashes, colons, and removing leading/trailing slashes
|
|
121
|
+
* @param inputPath Path to standardize
|
|
122
|
+
* @returns Standardized path
|
|
123
|
+
*/
|
|
124
|
+
function standardizePath(inputPath) {
|
|
125
|
+
if (!inputPath) {
|
|
126
|
+
return '';
|
|
127
|
+
}
|
|
128
|
+
let normalizedPath = inputPath.replace(/\\/g, '/');
|
|
129
|
+
normalizedPath = normalizedPath.replace(/:/g, '/');
|
|
130
|
+
if (normalizedPath.startsWith('/')) {
|
|
131
|
+
normalizedPath = normalizedPath.substring(1);
|
|
132
|
+
}
|
|
133
|
+
if (normalizedPath.endsWith('/')) {
|
|
134
|
+
normalizedPath = normalizedPath.substring(0, normalizedPath.length - 1);
|
|
135
|
+
}
|
|
136
|
+
return normalizedPath;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Check if a path matches the monorepo pattern and extract the project path
|
|
140
|
+
* @param path Normalized path to check
|
|
141
|
+
* @returns Project path if monorepo pattern matches, null otherwise
|
|
142
|
+
*/
|
|
143
|
+
function handleMonorepoPattern(path) {
|
|
144
|
+
const matches = path.match(MONOREPO_PATTERN);
|
|
145
|
+
if (matches) {
|
|
146
|
+
return `${matches[2]}/packages/${matches[1]}`;
|
|
147
|
+
}
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Parse project path from dependency path
|
|
152
|
+
* @param dependencyPath The path from the Black Duck report
|
|
153
|
+
* @returns Extracted project path
|
|
154
|
+
*/
|
|
155
|
+
function parseProjectPath(dependencyPath) {
|
|
156
|
+
if (!dependencyPath) {
|
|
157
|
+
return '';
|
|
158
|
+
}
|
|
159
|
+
try {
|
|
160
|
+
const normalizedPath = standardizePath(dependencyPath);
|
|
161
|
+
const monorepoPath = handleMonorepoPattern(normalizedPath);
|
|
162
|
+
if (monorepoPath) {
|
|
163
|
+
return monorepoPath;
|
|
164
|
+
}
|
|
165
|
+
const segments = normalizedPath.split('/');
|
|
166
|
+
let endDelimiterIndex = getEndDelimiterIndex(segments);
|
|
167
|
+
if (endDelimiterIndex === -1) {
|
|
168
|
+
throw new Error(`No end delimiter found in path: ${normalizedPath}`);
|
|
169
|
+
}
|
|
170
|
+
let projectSegments = segments.slice(0, endDelimiterIndex);
|
|
171
|
+
if (projectSegments.length > 0 && isVersionSegment(projectSegments[projectSegments.length - 1])) {
|
|
172
|
+
projectSegments.pop(); // Remove the version segment
|
|
173
|
+
}
|
|
174
|
+
if (projectSegments.length > 0 && isFileSegment(projectSegments[projectSegments.length - 1])) {
|
|
175
|
+
projectSegments.pop(); // Remove the last segment if it's a file segment
|
|
176
|
+
}
|
|
177
|
+
let startIndex = getStartDelimiterIndex(projectSegments);
|
|
178
|
+
if (startIndex !== -1) {
|
|
179
|
+
projectSegments = projectSegments.slice(startIndex + 1);
|
|
180
|
+
}
|
|
181
|
+
const resolvedSegments = resolveRelativePath(projectSegments);
|
|
182
|
+
return resolvedSegments.join('/');
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
console.error(`Error parsing path: ${error}`);
|
|
186
|
+
throw error;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function getStartDelimiterIndex(projectSegments) {
|
|
190
|
+
let startIndex = -1;
|
|
191
|
+
for (let i = 0; i < projectSegments.length; i++) {
|
|
192
|
+
if (isVersionSegment(projectSegments[i])) {
|
|
193
|
+
startIndex = i;
|
|
194
|
+
break; // Stop after finding a version segment
|
|
195
|
+
}
|
|
196
|
+
else if (isOrganizationPrefix(projectSegments[i])) {
|
|
197
|
+
startIndex = i;
|
|
198
|
+
// Continue looking for version segments after organization prefix
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return startIndex;
|
|
202
|
+
}
|
|
203
|
+
function getEndDelimiterIndex(segments) {
|
|
204
|
+
let endDelimiterIndex = -1;
|
|
205
|
+
for (let i = 0; i < segments.length; i++) {
|
|
206
|
+
const lowerSegment = segments[i].toLowerCase();
|
|
207
|
+
if (END_DELIMITERS.some(delimiter => lowerSegment === delimiter)) {
|
|
208
|
+
endDelimiterIndex = i;
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return endDelimiterIndex;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Create path mappings from mapping data
|
|
216
|
+
* @param mappings Array of path mapping objects
|
|
217
|
+
* @returns Map of extracted paths to actual paths
|
|
218
|
+
*/
|
|
219
|
+
function createPathMappings(mappings) {
|
|
220
|
+
const pathMappings = new Map();
|
|
221
|
+
for (const mapping of mappings) {
|
|
222
|
+
if (mapping.extractedPath && mapping.actualPath) {
|
|
223
|
+
pathMappings.set(mapping.extractedPath, mapping.actualPath);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return pathMappings;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Verify if a project path exists on the file system
|
|
230
|
+
* @param projectPath The extracted project path
|
|
231
|
+
* @param basePath Base directory to check against
|
|
232
|
+
* @param pathMappings Optional path mappings to use for verification
|
|
233
|
+
* @returns Verified path information
|
|
234
|
+
*/
|
|
235
|
+
function verifyProjectPath(projectPath, basePath, pathMappings) {
|
|
236
|
+
if (!projectPath || !basePath) {
|
|
237
|
+
return { projectPath, verifiedPath: '', projectPathExists: false };
|
|
238
|
+
}
|
|
239
|
+
try {
|
|
240
|
+
const fullPath = path.join(basePath, projectPath);
|
|
241
|
+
const originalExists = fs.existsSync(fullPath);
|
|
242
|
+
if (originalExists) {
|
|
243
|
+
return {
|
|
244
|
+
projectPath,
|
|
245
|
+
verifiedPath: projectPath,
|
|
246
|
+
projectPathExists: true
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
if (pathMappings && pathMappings.has(projectPath)) {
|
|
250
|
+
const mappedPath = pathMappings.get(projectPath);
|
|
251
|
+
const mappedFullPath = path.join(basePath, mappedPath);
|
|
252
|
+
const mappedExists = fs.existsSync(mappedFullPath);
|
|
253
|
+
return {
|
|
254
|
+
projectPath,
|
|
255
|
+
verifiedPath: mappedExists ? mappedPath : '',
|
|
256
|
+
projectPathExists: originalExists
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
// Try without the first path segment
|
|
260
|
+
const segments = projectPath.split('/');
|
|
261
|
+
if (segments.length > 1) {
|
|
262
|
+
const pathWithoutFirstSegment = segments.slice(1).join('/');
|
|
263
|
+
const modifiedFullPath = path.join(basePath, pathWithoutFirstSegment);
|
|
264
|
+
const modifiedExists = fs.existsSync(modifiedFullPath);
|
|
265
|
+
if (modifiedExists) {
|
|
266
|
+
return {
|
|
267
|
+
projectPath,
|
|
268
|
+
verifiedPath: pathWithoutFirstSegment,
|
|
269
|
+
projectPathExists: false
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
// No mapping found or modified path doesn't exist
|
|
274
|
+
return {
|
|
275
|
+
projectPath,
|
|
276
|
+
verifiedPath: '',
|
|
277
|
+
projectPathExists: false
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
console.error(`Error verifying project path: ${error}`);
|
|
282
|
+
return { projectPath, verifiedPath: '', projectPathExists: false };
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Extract project information from a dependency path based on origin type
|
|
287
|
+
* @param dependencyPath The path from the Black Duck report
|
|
288
|
+
* @param originName The origin name (e.g., npmjs, maven, nuget, pypi, sbt)
|
|
289
|
+
* @param basePath Optional base path to verify against
|
|
290
|
+
* @returns Object containing project path and verified path information
|
|
291
|
+
*/
|
|
292
|
+
function extractProjectInfo(dependencyPath, originName, basePath, pathMappings) {
|
|
293
|
+
if (!dependencyPath) {
|
|
294
|
+
return { projectPath: '', verifiedPath: '', projectPathExists: false };
|
|
295
|
+
}
|
|
296
|
+
try {
|
|
297
|
+
const projectPath = parseProjectPath(dependencyPath);
|
|
298
|
+
// Verify the path if basePath is provided
|
|
299
|
+
if (basePath) {
|
|
300
|
+
return verifyProjectPath(projectPath, basePath, pathMappings);
|
|
301
|
+
}
|
|
302
|
+
// Otherwise return unverified path with empty verifiedPath
|
|
303
|
+
return { projectPath, verifiedPath: '', projectPathExists: undefined };
|
|
304
|
+
}
|
|
305
|
+
catch (error) {
|
|
306
|
+
console.error(`Error extracting project info: ${error}`);
|
|
307
|
+
throw error;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
//# sourceMappingURL=projectMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectMapping.js","sourceRoot":"","sources":["../../src/utils/projectMapping.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/utils.js
CHANGED
|
@@ -3,7 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.depinderTempFolder = exports.depinderFolder = exports.npmExePath = exports._package = void 0;
|
|
7
|
+
exports.getAssetFile = getAssetFile;
|
|
8
|
+
exports.getHomeDir = getHomeDir;
|
|
9
|
+
exports.walkDir = walkDir;
|
|
10
|
+
exports.delay = delay;
|
|
11
|
+
exports.getPackageSemver = getPackageSemver;
|
|
7
12
|
const path_1 = __importDefault(require("path"));
|
|
8
13
|
const os_1 = require("os");
|
|
9
14
|
const fs_1 = __importDefault(require("fs"));
|
|
@@ -14,7 +19,6 @@ exports._package = require('../../package.json');
|
|
|
14
19
|
function getAssetFile(assetName) {
|
|
15
20
|
return path_1.default.join(__dirname, '..', 'assets', assetName);
|
|
16
21
|
}
|
|
17
|
-
exports.getAssetFile = getAssetFile;
|
|
18
22
|
exports.npmExePath = getBin('npm');
|
|
19
23
|
function getBin(exe) {
|
|
20
24
|
return path_1.default.resolve(__dirname, '..', '..', 'node_modules', '.bin', exe);
|
|
@@ -30,17 +34,14 @@ function getHomeDir() {
|
|
|
30
34
|
}
|
|
31
35
|
return exports.depinderFolder;
|
|
32
36
|
}
|
|
33
|
-
exports.getHomeDir = getHomeDir;
|
|
34
37
|
function walkDir(dir) {
|
|
35
38
|
const allChildren = fs_1.default.readdirSync(dir);
|
|
36
39
|
const files = allChildren.map(it => path_1.default.resolve(dir, it)).filter(it => fs_1.default.lstatSync(it).isFile());
|
|
37
40
|
return [...files, ...allChildren.map(it => path_1.default.resolve(dir, it)).filter(it => fs_1.default.lstatSync(it).isDirectory()).flatMap(it => walkDir(path_1.default.resolve(dir, it)))];
|
|
38
41
|
}
|
|
39
|
-
exports.walkDir = walkDir;
|
|
40
42
|
function delay(ms) {
|
|
41
43
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
42
44
|
}
|
|
43
|
-
exports.delay = delay;
|
|
44
45
|
function getPackageSemver(version) {
|
|
45
46
|
try {
|
|
46
47
|
return new semver_1.SemVer(version);
|
|
@@ -54,5 +55,4 @@ function getPackageSemver(version) {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
exports.getPackageSemver = getPackageSemver;
|
|
58
58
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;AAUA,oCAEC;AAYD,gCAQC;AAED,0BAIC;AAED,sBAEC;AAED,4CAWC;AAvDD,gDAAuB;AACvB,2BAA0B;AAC1B,4CAAmB;AACnB,mCAA6B;AAC7B,6DAAmC;AAEnC,8DAA8D;AACjD,QAAA,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAGrD,SAAgB,YAAY,CAAC,SAAiB;IAC1C,OAAO,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC1D,CAAC;AAEY,QAAA,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;AAEvC,SAAS,MAAM,CAAC,GAAW;IACvB,OAAO,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;AAC3E,CAAC;AAGY,QAAA,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,YAAO,GAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AACzD,QAAA,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC,sBAAc,EAAE,MAAM,CAAC,CAAA;AAEnE,SAAgB,UAAU;IACtB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,sBAAc,CAAC,EAAE,CAAC;QACjC,YAAE,CAAC,SAAS,CAAC,sBAAc,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,0BAAkB,CAAC,EAAE,CAAC;QACrC,YAAE,CAAC,SAAS,CAAC,0BAAkB,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,sBAAc,CAAA;AACzB,CAAC;AAED,SAAgB,OAAO,CAAC,GAAW;IAC/B,MAAM,WAAW,GAAG,YAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,YAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IAClG,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,YAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACjK,CAAC;AAED,SAAgB,KAAK,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAe;IAC5C,IAAI,CAAC;QACD,OAAO,IAAI,eAAM,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC;YACD,OAAO,IAAI,eAAM,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAA;QAE7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,iBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -3,62 +3,62 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
|
|
6
|
+
exports.getVulnerabilitiesFromGithub = getVulnerabilitiesFromGithub;
|
|
7
|
+
exports.getVulnerabilitiesFromSonatype = getVulnerabilitiesFromSonatype;
|
|
8
8
|
const axios_1 = __importDefault(require("axios"));
|
|
9
9
|
async function getVulnerabilitiesFromGithub(ecosystem, packageName) {
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
const query = `
|
|
11
|
+
query securityVulnerabilities($ecosystem: SecurityAdvisoryEcosystem, $package: String!){
|
|
12
|
+
securityVulnerabilities(first: 100, ecosystem: $ecosystem package: $package) {
|
|
13
|
+
pageInfo {
|
|
14
|
+
endCursor
|
|
15
|
+
hasNextPage
|
|
16
|
+
}
|
|
17
|
+
nodes {
|
|
18
|
+
firstPatchedVersion {
|
|
19
|
+
identifier
|
|
20
|
+
}
|
|
21
|
+
package {
|
|
22
|
+
name
|
|
23
|
+
ecosystem
|
|
24
|
+
}
|
|
25
|
+
severity
|
|
26
|
+
updatedAt
|
|
27
|
+
vulnerableVersionRange
|
|
28
|
+
advisory {
|
|
29
|
+
identifiers {
|
|
30
|
+
value
|
|
31
|
+
type
|
|
21
32
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
updatedAt
|
|
32
|
-
vulnerableVersionRange
|
|
33
|
-
advisory {
|
|
34
|
-
identifiers {
|
|
35
|
-
value
|
|
36
|
-
type
|
|
37
|
-
}
|
|
38
|
-
databaseId
|
|
39
|
-
description
|
|
40
|
-
ghsaId
|
|
41
|
-
id
|
|
42
|
-
origin
|
|
43
|
-
permalink
|
|
44
|
-
publishedAt
|
|
45
|
-
references {
|
|
46
|
-
url
|
|
47
|
-
}
|
|
48
|
-
severity
|
|
49
|
-
summary
|
|
50
|
-
updatedAt
|
|
51
|
-
withdrawnAt
|
|
52
|
-
}
|
|
33
|
+
databaseId
|
|
34
|
+
description
|
|
35
|
+
ghsaId
|
|
36
|
+
id
|
|
37
|
+
origin
|
|
38
|
+
permalink
|
|
39
|
+
publishedAt
|
|
40
|
+
references {
|
|
41
|
+
url
|
|
53
42
|
}
|
|
43
|
+
severity
|
|
44
|
+
summary
|
|
45
|
+
updatedAt
|
|
46
|
+
withdrawnAt
|
|
54
47
|
}
|
|
55
48
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
`.trim();
|
|
52
|
+
const { data: response } = await axios_1.default.post('https://api.github.com/graphql', {
|
|
53
|
+
query,
|
|
54
|
+
variables: { ecosystem, package: packageName }
|
|
55
|
+
}, {
|
|
56
|
+
headers: {
|
|
57
|
+
Authorization: `Bearer ${process.env.GH_TOKEN}`,
|
|
58
|
+
'Content-Type': 'application/json',
|
|
59
|
+
}
|
|
59
60
|
});
|
|
60
|
-
return response.securityVulnerabilities.nodes.map((it) => {
|
|
61
|
-
var _a;
|
|
61
|
+
return response.data.securityVulnerabilities.nodes.map((it) => {
|
|
62
62
|
return {
|
|
63
63
|
severity: it.severity,
|
|
64
64
|
updatedAt: it.updatedAt,
|
|
@@ -69,14 +69,14 @@ async function getVulnerabilitiesFromGithub(ecosystem, packageName) {
|
|
|
69
69
|
identifiers: it.advisory.identifiers,
|
|
70
70
|
references: it.advisory.references,
|
|
71
71
|
vulnerableRange: it.vulnerableVersionRange,
|
|
72
|
-
firstPatchedVersion:
|
|
72
|
+
firstPatchedVersion: it.firstPatchedVersion?.identifiers,
|
|
73
73
|
};
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
-
exports.getVulnerabilitiesFromGithub = getVulnerabilitiesFromGithub;
|
|
77
76
|
async function getVulnerabilitiesFromSonatype(purls) {
|
|
78
77
|
const { data } = await axios_1.default.post('https://ossindex.sonatype.org/api/v3/component-report', { coordinates: purls });
|
|
79
|
-
return data.reduce((a, v) => (
|
|
78
|
+
return data.reduce((a, v) => ({
|
|
79
|
+
...a, [v.coordinates]: v.vulnerabilities.map((it) => ({
|
|
80
80
|
severity: mapSeverity(it.cvssScore),
|
|
81
81
|
score: it.cvssScore,
|
|
82
82
|
description: it.description,
|
|
@@ -84,9 +84,9 @@ async function getVulnerabilitiesFromSonatype(purls) {
|
|
|
84
84
|
identifiers: [{ value: it.cve, type: 'CVE' }],
|
|
85
85
|
permalink: it.reference,
|
|
86
86
|
references: [it.reference, ...it.externalReferences],
|
|
87
|
-
}))
|
|
87
|
+
})),
|
|
88
|
+
}), {});
|
|
88
89
|
}
|
|
89
|
-
exports.getVulnerabilitiesFromSonatype = getVulnerabilitiesFromSonatype;
|
|
90
90
|
function mapSeverity(cvssScore) {
|
|
91
91
|
if (cvssScore < 1)
|
|
92
92
|
return 'NONE';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vulnerabilities.js","sourceRoot":"","sources":["../../src/utils/vulnerabilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vulnerabilities.js","sourceRoot":"","sources":["../../src/utils/vulnerabilities.ts"],"names":[],"mappings":";;;;;AAGA,oEAyEC;AACD,wEAcC;AA3FD,kDAAyB;AAGlB,KAAK,UAAU,4BAA4B,CAAC,SAAiB,EAAE,WAAmB;IACrF,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyCb,CAAC,IAAI,EAAE,CAAA;IAER,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAK,CAAC,IAAI,CACvC,gCAAgC,EAChC;QACI,KAAK;QACL,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE;KACjD,EACD;QACI,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC/C,cAAc,EAAE,kBAAkB;SACrC;KACJ,CACJ,CAAA;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE;QAC/D,OAAO;YACH,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO;YAC5B,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW;YACpC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS;YAChC,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW;YACpC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU;YAClC,eAAe,EAAE,EAAE,CAAC,sBAAsB;YAC1C,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,EAAE,WAAW;SAC1C,CAAA;IACtB,CAAC,CAAC,CAAA;AAEN,CAAC;AACM,KAAK,UAAU,8BAA8B,CAAC,KAAe;IAChE,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,uDAAuD,EAAE,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC,CAAA;IAE9G,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;YACvD,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC;YACnC,KAAK,EAAE,EAAE,CAAC,SAAS;YACnB,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,OAAO,EAAE,EAAE,CAAC,KAAK;YACjB,WAAW,EAAE,CAAC,EAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;YAC3C,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,UAAU,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC;SACrC,CAAA,CAAC;KACvB,CAAC,EAAE,EAAE,CAAC,CAAA;AACX,CAAC;AAGD,SAAS,WAAW,CAAC,SAAc;IAC/B,IAAG,SAAS,GAAG,CAAC;QACZ,OAAO,MAAM,CAAA;IACjB,IAAG,SAAS,GAAG,CAAC;QACZ,OAAO,KAAK,CAAA;IAChB,IAAG,SAAS,GAAG,CAAC;QACZ,OAAO,QAAQ,CAAA;IACnB,IAAG,SAAS,GAAG,CAAC;QACZ,OAAO,MAAM,CAAA;IACjB,IAAG,SAAS,IAAG,EAAE;QACb,OAAO,UAAU,CAAA;IAErB,OAAO,MAAM,CAAA;AACjB,CAAC"}
|