airbyte-faros-destination 0.10.31 → 0.10.32
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/lib/converters/github/common.d.ts +26 -1
- package/lib/converters/github/common.js +66 -0
- package/lib/converters/github/common.js.map +1 -1
- package/lib/converters/github/faros_code_scanning_alerts.d.ts +8 -0
- package/lib/converters/github/faros_code_scanning_alerts.js +48 -0
- package/lib/converters/github/faros_code_scanning_alerts.js.map +1 -0
- package/lib/converters/github/faros_dependabot_alerts.d.ts +8 -0
- package/lib/converters/github/faros_dependabot_alerts.js +77 -0
- package/lib/converters/github/faros_dependabot_alerts.js.map +1 -0
- package/lib/converters/github/faros_secret_scanning_alerts.d.ts +8 -0
- package/lib/converters/github/faros_secret_scanning_alerts.js +47 -0
- package/lib/converters/github/faros_secret_scanning_alerts.js.map +1 -0
- package/lib/converters/notion/common.d.ts +200 -200
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
|
-
import { User } from 'faros-airbyte-common/github';
|
|
2
|
+
import { CodeScanningAlert, DependabotAlert, SecretScanningAlert, User } from 'faros-airbyte-common/github';
|
|
3
3
|
import { Dictionary } from 'ts-essentials';
|
|
4
4
|
import { PullRequestKey, RepoKey } from '../common/vcs';
|
|
5
5
|
import { Converter, DestinationRecord, StreamContext } from '../converter';
|
|
@@ -9,6 +9,8 @@ export type PartialUser = Partial<Omit<User, 'type'> & {
|
|
|
9
9
|
export type GitHubConfig = {
|
|
10
10
|
sync_repo_issues?: boolean;
|
|
11
11
|
};
|
|
12
|
+
type SecurityAlert = CodeScanningAlert | DependabotAlert | SecretScanningAlert;
|
|
13
|
+
type SecurityAlertType = 'code-scanning' | 'dependabot' | 'secret-scanning';
|
|
12
14
|
/** Common functions shares across GitHub converters */
|
|
13
15
|
export declare class GitHubCommon {
|
|
14
16
|
static readonly MAX_DESCRIPTION_LENGTH = 1000;
|
|
@@ -30,6 +32,28 @@ export declare class GitHubCommon {
|
|
|
30
32
|
};
|
|
31
33
|
static repoKey(org: string, repo: string, source: string): RepoKey;
|
|
32
34
|
static pullRequestKey(number: number, org: string, repo: string, source: string): PullRequestKey;
|
|
35
|
+
static vulnerabilityUid(org: string, repo: string, alertType: SecurityAlertType, number: number): string;
|
|
36
|
+
static vulnerabilityType(alert: SecurityAlert, alertType: SecurityAlertType): {
|
|
37
|
+
category: string;
|
|
38
|
+
detail: string;
|
|
39
|
+
};
|
|
40
|
+
static vulnerabilityStatus(alert: SecurityAlert): {
|
|
41
|
+
category: string;
|
|
42
|
+
detail: "open";
|
|
43
|
+
} | {
|
|
44
|
+
category: string;
|
|
45
|
+
detail: "dismissed" | "false positive" | "won't fix" | "used in tests" | "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk";
|
|
46
|
+
} | {
|
|
47
|
+
category: string;
|
|
48
|
+
detail: "auto_dismissed";
|
|
49
|
+
} | {
|
|
50
|
+
category: string;
|
|
51
|
+
detail: "fixed";
|
|
52
|
+
} | {
|
|
53
|
+
category: string;
|
|
54
|
+
detail: "resolved" | "false_positive" | "wont_fix" | "revoked" | "used_in_tests";
|
|
55
|
+
};
|
|
56
|
+
static vulnerabilitySeverity(alert: SecurityAlert): 3 | 6 | 9 | 10;
|
|
33
57
|
private static buildStatus;
|
|
34
58
|
}
|
|
35
59
|
/** Github converter base */
|
|
@@ -51,3 +75,4 @@ export interface ProjectKey {
|
|
|
51
75
|
uid: string;
|
|
52
76
|
source: string;
|
|
53
77
|
}
|
|
78
|
+
export {};
|
|
@@ -149,6 +149,72 @@ class GitHubCommon {
|
|
|
149
149
|
repository: this.repoKey(org, repo, source),
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
|
+
static vulnerabilityUid(org, repo, alertType, number) {
|
|
153
|
+
return (0, lodash_1.toLower)(`${org}/${repo}/${alertType}/${number}`);
|
|
154
|
+
}
|
|
155
|
+
static vulnerabilityType(alert, alertType) {
|
|
156
|
+
switch (alertType) {
|
|
157
|
+
case 'code-scanning':
|
|
158
|
+
if (!(0, lodash_1.isEmpty)(alert.rule.security_severity_level)) {
|
|
159
|
+
return {
|
|
160
|
+
category: 'Security',
|
|
161
|
+
detail: 'security code-scanning alert',
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
return {
|
|
166
|
+
category: 'CodingError',
|
|
167
|
+
detail: 'non-security code-scanning alert',
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
case 'dependabot':
|
|
171
|
+
return {
|
|
172
|
+
category: 'Dependency',
|
|
173
|
+
detail: 'dependabot alert',
|
|
174
|
+
};
|
|
175
|
+
case 'secret-scanning':
|
|
176
|
+
return {
|
|
177
|
+
category: 'SecretLeak',
|
|
178
|
+
detail: 'secret-scanning alert',
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
static vulnerabilityStatus(alert) {
|
|
183
|
+
var _a, _b;
|
|
184
|
+
const state = alert.state;
|
|
185
|
+
switch (state) {
|
|
186
|
+
case 'open':
|
|
187
|
+
return { category: 'Open', detail: state };
|
|
188
|
+
case 'dismissed':
|
|
189
|
+
return {
|
|
190
|
+
category: 'Ignored',
|
|
191
|
+
detail: (_a = alert.dismissed_reason) !== null && _a !== void 0 ? _a : state,
|
|
192
|
+
};
|
|
193
|
+
case 'auto_dismissed':
|
|
194
|
+
return { category: 'Ignored', detail: state };
|
|
195
|
+
case 'fixed':
|
|
196
|
+
return { category: 'Resolved', detail: state };
|
|
197
|
+
case 'resolved':
|
|
198
|
+
return { category: 'Resolved', detail: (_b = alert.resolution) !== null && _b !== void 0 ? _b : state };
|
|
199
|
+
default:
|
|
200
|
+
return { category: 'Custom', detail: state };
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// https://nvd.nist.gov/vuln-metrics/cvss
|
|
204
|
+
static vulnerabilitySeverity(alert) {
|
|
205
|
+
var _a, _b, _c;
|
|
206
|
+
const level = (_b = (_a = alert.rule) === null || _a === void 0 ? void 0 : _a.security_severity_level) !== null && _b !== void 0 ? _b : (_c = alert.security_vulnerability) === null || _c === void 0 ? void 0 : _c.severity;
|
|
207
|
+
switch (level) {
|
|
208
|
+
case 'low':
|
|
209
|
+
return 3.0;
|
|
210
|
+
case 'medium':
|
|
211
|
+
return 6.0;
|
|
212
|
+
case 'high':
|
|
213
|
+
return 9.0;
|
|
214
|
+
case 'critical':
|
|
215
|
+
return 10.0;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
152
218
|
static buildStatus(conclusion) {
|
|
153
219
|
const conclusionLower = conclusion.toLowerCase();
|
|
154
220
|
switch (conclusionLower) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/github/common.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/github/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
|
+
import { DestinationModel, DestinationRecord } from '../converter';
|
|
3
|
+
import { GitHubConverter } from './common';
|
|
4
|
+
export declare class FarosCodeScanningAlerts extends GitHubConverter {
|
|
5
|
+
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
|
+
readonly alertType = "code-scanning";
|
|
7
|
+
convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FarosCodeScanningAlerts = void 0;
|
|
4
|
+
const faros_js_client_1 = require("faros-js-client");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
class FarosCodeScanningAlerts extends common_1.GitHubConverter {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.destinationModels = [
|
|
10
|
+
'sec_Vulnerability',
|
|
11
|
+
'vcs_RepositoryVulnerability',
|
|
12
|
+
];
|
|
13
|
+
this.alertType = 'code-scanning';
|
|
14
|
+
}
|
|
15
|
+
async convert(record) {
|
|
16
|
+
var _a, _b, _c;
|
|
17
|
+
const alert = record.record.data;
|
|
18
|
+
const repository = common_1.GitHubCommon.repoKey(alert.org, alert.repo, this.streamName.source);
|
|
19
|
+
const uid = common_1.GitHubCommon.vulnerabilityUid(alert.org, alert.repo, this.alertType, alert.number);
|
|
20
|
+
return [
|
|
21
|
+
{
|
|
22
|
+
model: 'sec_Vulnerability',
|
|
23
|
+
record: {
|
|
24
|
+
uid,
|
|
25
|
+
source: this.streamName.source,
|
|
26
|
+
type: common_1.GitHubCommon.vulnerabilityType(alert, this.alertType),
|
|
27
|
+
title: (_a = alert.rule.name) !== null && _a !== void 0 ? _a : alert.rule.id,
|
|
28
|
+
description: faros_js_client_1.Utils.cleanAndTruncate(alert.rule.description),
|
|
29
|
+
severity: common_1.GitHubCommon.vulnerabilitySeverity(alert),
|
|
30
|
+
url: alert.html_url,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
model: 'vcs_RepositoryVulnerability',
|
|
35
|
+
record: {
|
|
36
|
+
vulnerability: { uid, source: this.streamName.source },
|
|
37
|
+
repository,
|
|
38
|
+
url: alert.html_url,
|
|
39
|
+
createdAt: faros_js_client_1.Utils.toDate(alert.created_at),
|
|
40
|
+
resolvedAt: (_c = (_b = faros_js_client_1.Utils.toDate(alert.fixed_at)) !== null && _b !== void 0 ? _b : faros_js_client_1.Utils.toDate(alert.dismissed_at)) !== null && _c !== void 0 ? _c : null,
|
|
41
|
+
status: common_1.GitHubCommon.vulnerabilityStatus(alert),
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.FarosCodeScanningAlerts = FarosCodeScanningAlerts;
|
|
48
|
+
//# sourceMappingURL=faros_code_scanning_alerts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faros_code_scanning_alerts.js","sourceRoot":"","sources":["../../../src/converters/github/faros_code_scanning_alerts.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAGtC,qCAAuD;AAEvD,MAAa,uBAAwB,SAAQ,wBAAe;IAA5D;;QACW,sBAAiB,GAAoC;YAC5D,mBAAmB;YACnB,6BAA6B;SAC9B,CAAC;QAEO,cAAS,GAAG,eAAe,CAAC;IA8CvC,CAAC;IA5CC,KAAK,CAAC,OAAO,CACX,MAAqB;;QAErB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAyB,CAAC;QACtD,MAAM,UAAU,GAAG,qBAAY,CAAC,OAAO,CACrC,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,UAAU,CAAC,MAAM,CACvB,CAAC;QACF,MAAM,GAAG,GAAG,qBAAY,CAAC,gBAAgB,CACvC,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,SAAS,EACd,KAAK,CAAC,MAAM,CACb,CAAC;QACF,OAAO;YACL;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE;oBACN,GAAG;oBACH,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAC9B,IAAI,EAAE,qBAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;oBAC3D,KAAK,EAAE,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,mCAAI,KAAK,CAAC,IAAI,CAAC,EAAE;oBACvC,WAAW,EAAE,uBAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC3D,QAAQ,EAAE,qBAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC;oBACnD,GAAG,EAAE,KAAK,CAAC,QAAQ;iBACpB;aACF;YACD;gBACE,KAAK,EAAE,6BAA6B;gBACpC,MAAM,EAAE;oBACN,aAAa,EAAE,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;oBACpD,UAAU;oBACV,GAAG,EAAE,KAAK,CAAC,QAAQ;oBACnB,SAAS,EAAE,uBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;oBACzC,UAAU,EACR,MAAA,MAAA,uBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,mCAC5B,uBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,mCAChC,IAAI;oBACN,MAAM,EAAE,qBAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC;iBAChD;aACF;SACF,CAAC;IACJ,CAAC;CACF;AApDD,0DAoDC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
|
+
import { DestinationModel, DestinationRecord } from '../converter';
|
|
3
|
+
import { GitHubConverter } from './common';
|
|
4
|
+
export declare class FarosDependabotAlerts extends GitHubConverter {
|
|
5
|
+
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
|
+
readonly alertType = "dependabot";
|
|
7
|
+
convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FarosDependabotAlerts = void 0;
|
|
4
|
+
const faros_js_client_1 = require("faros-js-client");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
const common_1 = require("./common");
|
|
7
|
+
class FarosDependabotAlerts extends common_1.GitHubConverter {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.destinationModels = [
|
|
11
|
+
'sec_Vulnerability',
|
|
12
|
+
'sec_VulnerabilityIdentifier',
|
|
13
|
+
'sec_VulnerabilityIdentifierRelationship',
|
|
14
|
+
'vcs_RepositoryVulnerability',
|
|
15
|
+
];
|
|
16
|
+
this.alertType = 'dependabot';
|
|
17
|
+
}
|
|
18
|
+
async convert(record) {
|
|
19
|
+
var _a, _b, _c;
|
|
20
|
+
const alert = record.record.data;
|
|
21
|
+
const repository = common_1.GitHubCommon.repoKey(alert.org, alert.repo, this.streamName.source);
|
|
22
|
+
const uid = common_1.GitHubCommon.vulnerabilityUid(alert.org, alert.repo, this.alertType, alert.number);
|
|
23
|
+
const vulnerabilityIdentifiers = alert.security_advisory.identifiers.map((i) => ({
|
|
24
|
+
model: 'sec_VulnerabilityIdentifier',
|
|
25
|
+
record: {
|
|
26
|
+
uid: i.value,
|
|
27
|
+
type: {
|
|
28
|
+
category: ['CVE', 'GHSA'].includes(i.type) ? i.type : 'Custom',
|
|
29
|
+
detail: i.type,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
}));
|
|
33
|
+
return [
|
|
34
|
+
{
|
|
35
|
+
model: 'sec_Vulnerability',
|
|
36
|
+
record: {
|
|
37
|
+
uid,
|
|
38
|
+
source: this.streamName.source,
|
|
39
|
+
type: common_1.GitHubCommon.vulnerabilityType(alert, this.alertType),
|
|
40
|
+
title: alert.security_advisory.summary,
|
|
41
|
+
description: faros_js_client_1.Utils.cleanAndTruncate(alert.security_advisory.description),
|
|
42
|
+
vulnerabilityIds: vulnerabilityIdentifiers.map((vi) => vi.record.uid),
|
|
43
|
+
severity: common_1.GitHubCommon.vulnerabilitySeverity(alert),
|
|
44
|
+
url: alert.html_url,
|
|
45
|
+
publishedAt: faros_js_client_1.Utils.toDate(alert.security_advisory.published_at),
|
|
46
|
+
remediatedInVersions: [
|
|
47
|
+
alert.security_vulnerability.first_patched_version.identifier,
|
|
48
|
+
],
|
|
49
|
+
affectedVersions: [
|
|
50
|
+
alert.security_vulnerability.vulnerable_version_range,
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
...vulnerabilityIdentifiers,
|
|
55
|
+
...vulnerabilityIdentifiers.map((vi) => ({
|
|
56
|
+
model: 'sec_VulnerabilityIdentifierRelationship',
|
|
57
|
+
record: {
|
|
58
|
+
vulnerability: { uid, source: this.streamName.source },
|
|
59
|
+
identifier: (0, lodash_1.pick)(vi.record, ['uid', 'type']),
|
|
60
|
+
},
|
|
61
|
+
})),
|
|
62
|
+
{
|
|
63
|
+
model: 'vcs_RepositoryVulnerability',
|
|
64
|
+
record: {
|
|
65
|
+
vulnerability: { uid, source: this.streamName.source },
|
|
66
|
+
repository,
|
|
67
|
+
url: alert.html_url,
|
|
68
|
+
createdAt: faros_js_client_1.Utils.toDate(alert.created_at),
|
|
69
|
+
resolvedAt: (_c = (_b = (_a = faros_js_client_1.Utils.toDate(alert.fixed_at)) !== null && _a !== void 0 ? _a : faros_js_client_1.Utils.toDate(alert.dismissed_at)) !== null && _b !== void 0 ? _b : faros_js_client_1.Utils.toDate(alert.auto_dismissed_at)) !== null && _c !== void 0 ? _c : null,
|
|
70
|
+
status: common_1.GitHubCommon.vulnerabilityStatus(alert),
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.FarosDependabotAlerts = FarosDependabotAlerts;
|
|
77
|
+
//# sourceMappingURL=faros_dependabot_alerts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faros_dependabot_alerts.js","sourceRoot":"","sources":["../../../src/converters/github/faros_dependabot_alerts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
|
+
import { DestinationModel, DestinationRecord } from '../converter';
|
|
3
|
+
import { GitHubConverter } from './common';
|
|
4
|
+
export declare class FarosSecretScanningAlerts extends GitHubConverter {
|
|
5
|
+
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
|
+
readonly alertType = "secret-scanning";
|
|
7
|
+
convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FarosSecretScanningAlerts = void 0;
|
|
4
|
+
const faros_js_client_1 = require("faros-js-client");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
class FarosSecretScanningAlerts extends common_1.GitHubConverter {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.destinationModels = [
|
|
10
|
+
'sec_Vulnerability',
|
|
11
|
+
'vcs_RepositoryVulnerability',
|
|
12
|
+
];
|
|
13
|
+
this.alertType = 'secret-scanning';
|
|
14
|
+
}
|
|
15
|
+
async convert(record) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
const alert = record.record.data;
|
|
18
|
+
const repository = common_1.GitHubCommon.repoKey(alert.org, alert.repo, this.streamName.source);
|
|
19
|
+
const uid = common_1.GitHubCommon.vulnerabilityUid(alert.org, alert.repo, this.alertType, alert.number);
|
|
20
|
+
return [
|
|
21
|
+
{
|
|
22
|
+
model: 'sec_Vulnerability',
|
|
23
|
+
record: {
|
|
24
|
+
uid,
|
|
25
|
+
source: this.streamName.source,
|
|
26
|
+
type: common_1.GitHubCommon.vulnerabilityType(alert, this.alertType),
|
|
27
|
+
title: (_a = alert.secret_type_display_name) !== null && _a !== void 0 ? _a : alert.secret_type,
|
|
28
|
+
description: alert.secret,
|
|
29
|
+
url: alert.html_url,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
model: 'vcs_RepositoryVulnerability',
|
|
34
|
+
record: {
|
|
35
|
+
vulnerability: { uid, source: this.streamName.source },
|
|
36
|
+
repository,
|
|
37
|
+
url: alert.html_url,
|
|
38
|
+
createdAt: faros_js_client_1.Utils.toDate(alert.created_at),
|
|
39
|
+
resolvedAt: (_b = faros_js_client_1.Utils.toDate(alert.resolved_at)) !== null && _b !== void 0 ? _b : null,
|
|
40
|
+
status: common_1.GitHubCommon.vulnerabilityStatus(alert),
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.FarosSecretScanningAlerts = FarosSecretScanningAlerts;
|
|
47
|
+
//# sourceMappingURL=faros_secret_scanning_alerts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faros_secret_scanning_alerts.js","sourceRoot":"","sources":["../../../src/converters/github/faros_secret_scanning_alerts.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAGtC,qCAAuD;AAEvD,MAAa,yBAA0B,SAAQ,wBAAe;IAA9D;;QACW,sBAAiB,GAAoC;YAC5D,mBAAmB;YACnB,6BAA6B;SAC9B,CAAC;QAEO,cAAS,GAAG,iBAAiB,CAAC;IA0CzC,CAAC;IAxCC,KAAK,CAAC,OAAO,CACX,MAAqB;;QAErB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAA2B,CAAC;QACxD,MAAM,UAAU,GAAG,qBAAY,CAAC,OAAO,CACrC,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,UAAU,CAAC,MAAM,CACvB,CAAC;QACF,MAAM,GAAG,GAAG,qBAAY,CAAC,gBAAgB,CACvC,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,SAAS,EACd,KAAK,CAAC,MAAM,CACb,CAAC;QACF,OAAO;YACL;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE;oBACN,GAAG;oBACH,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAC9B,IAAI,EAAE,qBAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;oBAC3D,KAAK,EAAE,MAAA,KAAK,CAAC,wBAAwB,mCAAI,KAAK,CAAC,WAAW;oBAC1D,WAAW,EAAE,KAAK,CAAC,MAAM;oBACzB,GAAG,EAAE,KAAK,CAAC,QAAQ;iBACpB;aACF;YACD;gBACE,KAAK,EAAE,6BAA6B;gBACpC,MAAM,EAAE;oBACN,aAAa,EAAE,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;oBACpD,UAAU;oBACV,GAAG,EAAE,KAAK,CAAC,QAAQ;oBACnB,SAAS,EAAE,uBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;oBACzC,UAAU,EAAE,MAAA,uBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,mCAAI,IAAI;oBACnD,MAAM,EAAE,qBAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC;iBAChD;aACF;SACF,CAAC;IACJ,CAAC;CACF;AAhDD,8DAgDC"}
|