mobbdev 0.0.126 → 0.0.128
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/index.mjs +51 -31
- package/package.json +9 -9
package/dist/index.mjs
CHANGED
|
@@ -118,7 +118,7 @@ var VUL_REPORT_DIGEST_TIMEOUT_MS = 1e3 * 60 * 20;
|
|
|
118
118
|
// src/features/analysis/index.ts
|
|
119
119
|
import crypto from "node:crypto";
|
|
120
120
|
import fs3 from "node:fs";
|
|
121
|
-
import
|
|
121
|
+
import os from "node:os";
|
|
122
122
|
import path6 from "node:path";
|
|
123
123
|
import { pipeline } from "node:stream/promises";
|
|
124
124
|
|
|
@@ -396,59 +396,59 @@ var CreateProjectDocument = `
|
|
|
396
396
|
}
|
|
397
397
|
}
|
|
398
398
|
`;
|
|
399
|
-
var defaultWrapper = (action, _operationName, _operationType) => action();
|
|
399
|
+
var defaultWrapper = (action, _operationName, _operationType, _variables) => action();
|
|
400
400
|
function getSdk(client, withWrapper = defaultWrapper) {
|
|
401
401
|
return {
|
|
402
402
|
Me(variables, requestHeaders) {
|
|
403
|
-
return withWrapper((wrappedRequestHeaders) => client.request(MeDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "Me", "query");
|
|
403
|
+
return withWrapper((wrappedRequestHeaders) => client.request(MeDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "Me", "query", variables);
|
|
404
404
|
},
|
|
405
405
|
getOrgAndProjectId(variables, requestHeaders) {
|
|
406
|
-
return withWrapper((wrappedRequestHeaders) => client.request(GetOrgAndProjectIdDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getOrgAndProjectId", "query");
|
|
406
|
+
return withWrapper((wrappedRequestHeaders) => client.request(GetOrgAndProjectIdDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getOrgAndProjectId", "query", variables);
|
|
407
407
|
},
|
|
408
408
|
GetEncryptedApiToken(variables, requestHeaders) {
|
|
409
|
-
return withWrapper((wrappedRequestHeaders) => client.request(GetEncryptedApiTokenDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "GetEncryptedApiToken", "query");
|
|
409
|
+
return withWrapper((wrappedRequestHeaders) => client.request(GetEncryptedApiTokenDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "GetEncryptedApiToken", "query", variables);
|
|
410
410
|
},
|
|
411
411
|
FixReportState(variables, requestHeaders) {
|
|
412
|
-
return withWrapper((wrappedRequestHeaders) => client.request(FixReportStateDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "FixReportState", "query");
|
|
412
|
+
return withWrapper((wrappedRequestHeaders) => client.request(FixReportStateDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "FixReportState", "query", variables);
|
|
413
413
|
},
|
|
414
414
|
GetVulnerabilityReportPaths(variables, requestHeaders) {
|
|
415
|
-
return withWrapper((wrappedRequestHeaders) => client.request(GetVulnerabilityReportPathsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "GetVulnerabilityReportPaths", "query");
|
|
415
|
+
return withWrapper((wrappedRequestHeaders) => client.request(GetVulnerabilityReportPathsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "GetVulnerabilityReportPaths", "query", variables);
|
|
416
416
|
},
|
|
417
417
|
getAnalysis(variables, requestHeaders) {
|
|
418
|
-
return withWrapper((wrappedRequestHeaders) => client.request(GetAnalysisDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getAnalysis", "subscription");
|
|
418
|
+
return withWrapper((wrappedRequestHeaders) => client.request(GetAnalysisDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getAnalysis", "subscription", variables);
|
|
419
419
|
},
|
|
420
420
|
getAnalsyis(variables, requestHeaders) {
|
|
421
|
-
return withWrapper((wrappedRequestHeaders) => client.request(GetAnalsyisDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getAnalsyis", "query");
|
|
421
|
+
return withWrapper((wrappedRequestHeaders) => client.request(GetAnalsyisDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getAnalsyis", "query", variables);
|
|
422
422
|
},
|
|
423
423
|
getFixes(variables, requestHeaders) {
|
|
424
|
-
return withWrapper((wrappedRequestHeaders) => client.request(GetFixesDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getFixes", "query");
|
|
424
|
+
return withWrapper((wrappedRequestHeaders) => client.request(GetFixesDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getFixes", "query", variables);
|
|
425
425
|
},
|
|
426
426
|
getVulByNodesMetadata(variables, requestHeaders) {
|
|
427
|
-
return withWrapper((wrappedRequestHeaders) => client.request(GetVulByNodesMetadataDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getVulByNodesMetadata", "query");
|
|
427
|
+
return withWrapper((wrappedRequestHeaders) => client.request(GetVulByNodesMetadataDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "getVulByNodesMetadata", "query", variables);
|
|
428
428
|
},
|
|
429
429
|
updateScmToken(variables, requestHeaders) {
|
|
430
|
-
return withWrapper((wrappedRequestHeaders) => client.request(UpdateScmTokenDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "updateScmToken", "mutation");
|
|
430
|
+
return withWrapper((wrappedRequestHeaders) => client.request(UpdateScmTokenDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "updateScmToken", "mutation", variables);
|
|
431
431
|
},
|
|
432
432
|
uploadS3BucketInfo(variables, requestHeaders) {
|
|
433
|
-
return withWrapper((wrappedRequestHeaders) => client.request(UploadS3BucketInfoDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "uploadS3BucketInfo", "mutation");
|
|
433
|
+
return withWrapper((wrappedRequestHeaders) => client.request(UploadS3BucketInfoDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "uploadS3BucketInfo", "mutation", variables);
|
|
434
434
|
},
|
|
435
435
|
DigestVulnerabilityReport(variables, requestHeaders) {
|
|
436
|
-
return withWrapper((wrappedRequestHeaders) => client.request(DigestVulnerabilityReportDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "DigestVulnerabilityReport", "mutation");
|
|
436
|
+
return withWrapper((wrappedRequestHeaders) => client.request(DigestVulnerabilityReportDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "DigestVulnerabilityReport", "mutation", variables);
|
|
437
437
|
},
|
|
438
438
|
SubmitVulnerabilityReport(variables, requestHeaders) {
|
|
439
|
-
return withWrapper((wrappedRequestHeaders) => client.request(SubmitVulnerabilityReportDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "SubmitVulnerabilityReport", "mutation");
|
|
439
|
+
return withWrapper((wrappedRequestHeaders) => client.request(SubmitVulnerabilityReportDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "SubmitVulnerabilityReport", "mutation", variables);
|
|
440
440
|
},
|
|
441
441
|
CreateCommunityUser(variables, requestHeaders) {
|
|
442
|
-
return withWrapper((wrappedRequestHeaders) => client.request(CreateCommunityUserDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "CreateCommunityUser", "mutation");
|
|
442
|
+
return withWrapper((wrappedRequestHeaders) => client.request(CreateCommunityUserDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "CreateCommunityUser", "mutation", variables);
|
|
443
443
|
},
|
|
444
444
|
CreateCliLogin(variables, requestHeaders) {
|
|
445
|
-
return withWrapper((wrappedRequestHeaders) => client.request(CreateCliLoginDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "CreateCliLogin", "mutation");
|
|
445
|
+
return withWrapper((wrappedRequestHeaders) => client.request(CreateCliLoginDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "CreateCliLogin", "mutation", variables);
|
|
446
446
|
},
|
|
447
447
|
performCliLogin(variables, requestHeaders) {
|
|
448
|
-
return withWrapper((wrappedRequestHeaders) => client.request(PerformCliLoginDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "performCliLogin", "mutation");
|
|
448
|
+
return withWrapper((wrappedRequestHeaders) => client.request(PerformCliLoginDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "performCliLogin", "mutation", variables);
|
|
449
449
|
},
|
|
450
450
|
CreateProject(variables, requestHeaders) {
|
|
451
|
-
return withWrapper((wrappedRequestHeaders) => client.request(CreateProjectDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "CreateProject", "mutation");
|
|
451
|
+
return withWrapper((wrappedRequestHeaders) => client.request(CreateProjectDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), "CreateProject", "mutation", variables);
|
|
452
452
|
}
|
|
453
453
|
};
|
|
454
454
|
}
|
|
@@ -1845,8 +1845,24 @@ function getCommitUrl(params) {
|
|
|
1845
1845
|
analysisId
|
|
1846
1846
|
})}/commit?${searchParams.toString()}`;
|
|
1847
1847
|
}
|
|
1848
|
-
|
|
1849
|
-
|
|
1848
|
+
var userNamePattern = /^(https?:\/\/)([^@]+@)?([^/]+\/.+)$/;
|
|
1849
|
+
var sshPattern = /^git@([\w.-]+):([\w./-]+)$/;
|
|
1850
|
+
function normalizeUrl(repoUrl) {
|
|
1851
|
+
let trimmedUrl = repoUrl.trim().replace(/\/+$/, "");
|
|
1852
|
+
if (repoUrl.endsWith(".git")) {
|
|
1853
|
+
trimmedUrl = trimmedUrl.slice(0, -".git".length);
|
|
1854
|
+
}
|
|
1855
|
+
const usernameMatch = trimmedUrl.match(userNamePattern);
|
|
1856
|
+
if (usernameMatch) {
|
|
1857
|
+
const [_all, protocol, _username, repoPath] = usernameMatch;
|
|
1858
|
+
trimmedUrl = `${protocol}${repoPath}`;
|
|
1859
|
+
}
|
|
1860
|
+
const sshMatch = trimmedUrl.match(sshPattern);
|
|
1861
|
+
if (sshMatch) {
|
|
1862
|
+
const [_all, hostname, reporPath] = sshMatch;
|
|
1863
|
+
trimmedUrl = `https://${hostname}/${reporPath}`;
|
|
1864
|
+
}
|
|
1865
|
+
return trimmedUrl;
|
|
1850
1866
|
}
|
|
1851
1867
|
|
|
1852
1868
|
// src/features/analysis/scm/github/github.ts
|
|
@@ -2124,7 +2140,7 @@ async function getCommit({
|
|
|
2124
2140
|
});
|
|
2125
2141
|
}
|
|
2126
2142
|
function parseGithubOwnerAndRepo(gitHubUrl) {
|
|
2127
|
-
gitHubUrl =
|
|
2143
|
+
gitHubUrl = normalizeUrl(gitHubUrl);
|
|
2128
2144
|
const parsingResult = parseScmURL(gitHubUrl, "GitHub" /* GitHub */);
|
|
2129
2145
|
if (!parsingResult || parsingResult.hostname !== "github.com") {
|
|
2130
2146
|
throw new InvalidUrlPatternError(`invalid github repo Url ${gitHubUrl}`);
|
|
@@ -2351,7 +2367,7 @@ var EnvVariablesZod2 = z6.object({
|
|
|
2351
2367
|
).default("")
|
|
2352
2368
|
});
|
|
2353
2369
|
var { GITLAB_API_TOKEN, BROKERED_HOSTS } = EnvVariablesZod2.parse(process.env);
|
|
2354
|
-
function
|
|
2370
|
+
function removeTrailingSlash2(str) {
|
|
2355
2371
|
return str.trim().replace(/\/+$/, "");
|
|
2356
2372
|
}
|
|
2357
2373
|
function getGitBeaker(options) {
|
|
@@ -2580,7 +2596,7 @@ async function getGitlabReferenceData({ ref, gitlabUrl }, options) {
|
|
|
2580
2596
|
throw new RefNotFoundError(`ref: ${ref} does not exist`);
|
|
2581
2597
|
}
|
|
2582
2598
|
function parseGitlabOwnerAndRepo(gitlabUrl) {
|
|
2583
|
-
gitlabUrl =
|
|
2599
|
+
gitlabUrl = removeTrailingSlash2(gitlabUrl);
|
|
2584
2600
|
const parsingResult = parseScmURL(gitlabUrl, "GitLab" /* GitLab */);
|
|
2585
2601
|
if (!parsingResult || !parsingResult.repoName) {
|
|
2586
2602
|
throw new InvalidUrlPatternError(`invalid gitlab repo Url ${gitlabUrl}`);
|
|
@@ -2641,7 +2657,6 @@ initGitlabFetchMock();
|
|
|
2641
2657
|
|
|
2642
2658
|
// src/features/analysis/scm/scmSubmit/index.ts
|
|
2643
2659
|
import fs from "node:fs/promises";
|
|
2644
|
-
import os from "os";
|
|
2645
2660
|
import parseDiff from "parse-diff";
|
|
2646
2661
|
import path3 from "path";
|
|
2647
2662
|
import { simpleGit as simpleGit2 } from "simple-git";
|
|
@@ -2655,7 +2670,7 @@ var BaseSubmitToScmMessageZ = z7.object({
|
|
|
2655
2670
|
fixes: z7.array(
|
|
2656
2671
|
z7.object({
|
|
2657
2672
|
fixId: z7.string().uuid(),
|
|
2658
|
-
|
|
2673
|
+
patches: z7.array(z7.string())
|
|
2659
2674
|
})
|
|
2660
2675
|
),
|
|
2661
2676
|
commitHash: z7.string(),
|
|
@@ -2740,7 +2755,12 @@ var isValidBranchName = async (branchName) => {
|
|
|
2740
2755
|
return false;
|
|
2741
2756
|
}
|
|
2742
2757
|
};
|
|
2743
|
-
var FixesZ = z8.array(
|
|
2758
|
+
var FixesZ = z8.array(
|
|
2759
|
+
z8.object({
|
|
2760
|
+
fixId: z8.string(),
|
|
2761
|
+
patches: z8.array(z8.string())
|
|
2762
|
+
})
|
|
2763
|
+
).nonempty();
|
|
2744
2764
|
|
|
2745
2765
|
// src/features/analysis/scm/scm.ts
|
|
2746
2766
|
var GetRefererenceResultZ = z9.object({
|
|
@@ -3841,7 +3861,7 @@ var BitbucketParseResultZ = z10.object({
|
|
|
3841
3861
|
hostname: z10.literal(BITBUCKET_HOSTNAME)
|
|
3842
3862
|
});
|
|
3843
3863
|
function parseBitbucketOrganizationAndRepo(bitbucketUrl) {
|
|
3844
|
-
const parsedGitHubUrl =
|
|
3864
|
+
const parsedGitHubUrl = normalizeUrl(bitbucketUrl);
|
|
3845
3865
|
const parsingResult = parseScmURL(parsedGitHubUrl, "Bitbucket" /* Bitbucket */);
|
|
3846
3866
|
const validatedBitbucketResult = BitbucketParseResultZ.parse(parsingResult);
|
|
3847
3867
|
return {
|
|
@@ -4697,8 +4717,8 @@ import path5 from "path";
|
|
|
4697
4717
|
var debug7 = Debug8("mobbdev:checkmarx");
|
|
4698
4718
|
var require2 = createRequire(import.meta.url);
|
|
4699
4719
|
var getCheckmarxPath = () => {
|
|
4700
|
-
const
|
|
4701
|
-
const cxFileName =
|
|
4720
|
+
const os2 = type();
|
|
4721
|
+
const cxFileName = os2 === "Windows_NT" ? "cx.exe" : "cx";
|
|
4702
4722
|
try {
|
|
4703
4723
|
return require2.resolve(`.bin/${cxFileName}`);
|
|
4704
4724
|
} catch (e) {
|
|
@@ -5240,7 +5260,7 @@ async function _scan(params, { skipPrompts = false } = {}) {
|
|
|
5240
5260
|
const loginId = await gqlClient.createCliLogin({
|
|
5241
5261
|
publicKey: publicKey.export({ format: "pem", type: "pkcs1" }).toString()
|
|
5242
5262
|
});
|
|
5243
|
-
const browserUrl = `${webLoginUrl}/${loginId}?hostname=${
|
|
5263
|
+
const browserUrl = `${webLoginUrl}/${loginId}?hostname=${os.hostname()}`;
|
|
5244
5264
|
!ci && console.log(
|
|
5245
5265
|
`If the page does not open automatically, kindly access it through ${browserUrl}.`
|
|
5246
5266
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobbdev",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.128",
|
|
4
4
|
"description": "Automated secure code remediation tool",
|
|
5
5
|
"repository": "https://github.com/mobb-dev/bugsy",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@octokit/plugin-rest-endpoint-methods": "7.2.3",
|
|
33
33
|
"@octokit/request-error": "3.0.3",
|
|
34
34
|
"@types/libsodium-wrappers": "0.7.13",
|
|
35
|
-
"adm-zip": "0.5.
|
|
35
|
+
"adm-zip": "0.5.14",
|
|
36
36
|
"axios": "1.7.2",
|
|
37
37
|
"azure-devops-node-api": "12.1.0",
|
|
38
38
|
"bitbucket": "2.11.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"extract-zip": "2.0.1",
|
|
45
45
|
"globby": "13.2.2",
|
|
46
46
|
"graphql": "16.9.0",
|
|
47
|
-
"graphql-request": "
|
|
47
|
+
"graphql-request": "6.1.0",
|
|
48
48
|
"graphql-tag": "2.12.6",
|
|
49
49
|
"graphql-ws": "5.16.0",
|
|
50
50
|
"inquirer": "9.2.23",
|
|
@@ -71,11 +71,11 @@
|
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@graphql-codegen/cli": "5.0.2",
|
|
73
73
|
"@graphql-codegen/typescript": "3.0.4",
|
|
74
|
-
"@graphql-codegen/typescript-graphql-request": "
|
|
74
|
+
"@graphql-codegen/typescript-graphql-request": "6.2.0",
|
|
75
75
|
"@graphql-codegen/typescript-operations": "3.0.4",
|
|
76
76
|
"@octokit/request-error": "3.0.3",
|
|
77
77
|
"@octokit/types": "13.5.0",
|
|
78
|
-
"@types/adm-zip": "0.5.
|
|
78
|
+
"@types/adm-zip": "0.5.5",
|
|
79
79
|
"@types/chalk-animation": "1.6.3",
|
|
80
80
|
"@types/configstore": "6.0.2",
|
|
81
81
|
"@types/debug": "4.1.12",
|
|
@@ -86,9 +86,9 @@
|
|
|
86
86
|
"@types/uuid": "10.0.0",
|
|
87
87
|
"@types/ws": "8.5.10",
|
|
88
88
|
"@types/yargs": "17.0.32",
|
|
89
|
-
"@typescript-eslint/eslint-plugin": "
|
|
90
|
-
"@typescript-eslint/parser": "
|
|
91
|
-
"eslint": "8.
|
|
89
|
+
"@typescript-eslint/eslint-plugin": "7.16.0",
|
|
90
|
+
"@typescript-eslint/parser": "7.16.0",
|
|
91
|
+
"eslint": "8.57.0",
|
|
92
92
|
"eslint-plugin-import": "2.29.1",
|
|
93
93
|
"eslint-plugin-prettier": "5.1.3",
|
|
94
94
|
"eslint-plugin-simple-import-sort": "10.0.0",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"vitest": "0.34.6"
|
|
99
99
|
},
|
|
100
100
|
"engines": {
|
|
101
|
-
"node": ">=
|
|
101
|
+
"node": ">=18.18.0"
|
|
102
102
|
},
|
|
103
103
|
"files": [
|
|
104
104
|
"bin/cli.mjs",
|