@ampsec/platform-client 58.3.2 → 58.4.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.
@@ -5,13 +5,11 @@ export type TypedAmpSettingsKey<T> = {
5
5
  id: AmpSettingKey;
6
6
  defaultValue: T;
7
7
  };
8
- export type RawAmpSettingsMap = {
9
- [key: AmpSettingKey]: unknown;
10
- };
11
- export type TenantSettingsMap = {
12
- tenantSettings: RawAmpSettingsMap;
8
+ export type RawAmpSettingsMap = Record<AmpSettingKey, unknown>;
9
+ export type TenantSettingsMap<ValT> = {
10
+ tenantSettings: Record<AmpSettingKey, ValT>;
13
11
  connectorSettings: {
14
- [cid: string]: RawAmpSettingsMap;
12
+ [cid: string]: Record<AmpSettingKey, ValT>;
15
13
  };
16
14
  };
17
15
  export declare class AmpSettingsService {
@@ -33,7 +31,6 @@ export declare class AmpSettingsService {
33
31
  value: unknown;
34
32
  }[]) => Promise<AmpSettingDto[]>;
35
33
  delete: (id: string) => Promise<AmpSettingDto>;
36
- static formatSettingMap: (settings: AmpSettingDto[], valuesOnly?: boolean) => TenantSettingsMap;
37
34
  }
38
35
  export declare class AmpSdkSettingsService {
39
36
  protected readonly rest: RestClient;
@@ -49,15 +46,17 @@ export declare class AmpSdkSettingsService {
49
46
  create: <T>(key: string | T, value: unknown, tid: string, cid: string | null) => Promise<AmpSettingDto>;
50
47
  update: (id: string, entity: AmpSettingUpsertDto) => Promise<AmpSettingDto>;
51
48
  delete: (id: string) => Promise<AmpSettingDto>;
52
- static formatSettingMap: (settings: AmpSettingDto[], valuesOnly?: boolean) => TenantSettingsMap;
53
49
  }
54
50
  export declare class AmpSettingsMap {
55
51
  private readonly settings;
56
52
  private readonly rawSettingsList;
57
- constructor(settings: TenantSettingsMap, rawSettingsList: AmpSettingDto[]);
53
+ constructor(settings: TenantSettingsMap<unknown>, rawSettingsList: AmpSettingDto[]);
58
54
  getGlobalSetting: <T>(key: TypedAmpSettingsKey<T>) => T;
59
55
  getConnectorSetting: <T>(cid: string, key: TypedAmpSettingsKey<T>) => T;
56
+ getGlobalDto: <T>(key: TypedAmpSettingsKey<T>) => AmpSettingDto | undefined;
57
+ getConnectorDto: <T>(cid: string, key: TypedAmpSettingsKey<T>) => AmpSettingDto | undefined;
60
58
  getConnectorSettings: (cid: string) => RawAmpSettingsMap | undefined;
61
- getRawMap: () => TenantSettingsMap;
59
+ getConnectorDtos: (cid: string) => AmpSettingDto[];
60
+ getRawMap: () => TenantSettingsMap<AmpSettingDto>;
62
61
  static asKey: <T>(key: AmpSettingKey, defaultValue?: T | undefined) => TypedAmpSettingsKey<T>;
63
62
  }
@@ -5,6 +5,42 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AmpSettingsMap = exports.AmpSdkSettingsService = exports.AmpSettingsService = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
+ const formatSettingMap = (settings) => {
9
+ const rawSettingsMap = {
10
+ tenantSettings: {},
11
+ connectorSettings: {},
12
+ };
13
+ settings.forEach(setting => {
14
+ if (setting.cid) {
15
+ if (!rawSettingsMap.connectorSettings[setting.cid]) {
16
+ rawSettingsMap.connectorSettings[setting.cid] = {};
17
+ }
18
+ rawSettingsMap.connectorSettings[setting.cid][setting.key] = setting.value;
19
+ }
20
+ else {
21
+ rawSettingsMap.tenantSettings[setting.key] = setting.value;
22
+ }
23
+ });
24
+ return rawSettingsMap;
25
+ };
26
+ const formatDtoMap = (settings) => {
27
+ const rawSettingsMap = {
28
+ tenantSettings: {},
29
+ connectorSettings: {},
30
+ };
31
+ settings.forEach(setting => {
32
+ if (setting.cid) {
33
+ if (!rawSettingsMap.connectorSettings[setting.cid]) {
34
+ rawSettingsMap.connectorSettings[setting.cid] = {};
35
+ }
36
+ rawSettingsMap.connectorSettings[setting.cid][setting.key] = setting;
37
+ }
38
+ else {
39
+ rawSettingsMap.tenantSettings[setting.key] = setting;
40
+ }
41
+ });
42
+ return rawSettingsMap;
43
+ };
8
44
  class AmpSettingsService {
9
45
  constructor(rest, targetApi = 'api') {
10
46
  this.getSettingsMap = async (tid) => {
@@ -16,11 +52,16 @@ class AmpSettingsService {
16
52
  const page = res.data;
17
53
  const settings = page.data;
18
54
  settings.forEach(setting => {
19
- if (lodash_1.default.isString(setting.value) && /^(?:".*"|\{.*\}|\[.*\]|-?\d+(?:\.\d+))$/i.test(setting.value)) {
20
- setting.value = JSON.parse(setting.value);
55
+ if (lodash_1.default.isString(setting.value)) {
56
+ try {
57
+ setting.value = JSON.parse(setting.value);
58
+ }
59
+ catch (error) {
60
+ // ignore JSON parse errors since I want to return the raw value
61
+ }
21
62
  }
22
63
  });
23
- const rawSettingsMap = AmpSettingsService.formatSettingMap(settings, true);
64
+ const rawSettingsMap = formatSettingMap(settings);
24
65
  return new AmpSettingsMap(rawSettingsMap, settings);
25
66
  };
26
67
  this.createMultiple = async (keyValues, cid) => {
@@ -80,24 +121,6 @@ class AmpSettingsService {
80
121
  }
81
122
  }
82
123
  exports.AmpSettingsService = AmpSettingsService;
83
- AmpSettingsService.formatSettingMap = (settings, valuesOnly = true) => {
84
- const rawSettingsMap = {
85
- tenantSettings: {},
86
- connectorSettings: {},
87
- };
88
- settings.forEach(setting => {
89
- if (setting.cid) {
90
- if (!rawSettingsMap.connectorSettings[setting.cid]) {
91
- rawSettingsMap.connectorSettings[setting.cid] = {};
92
- }
93
- rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
94
- }
95
- else {
96
- rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
97
- }
98
- });
99
- return rawSettingsMap;
100
- };
101
124
  class AmpSdkSettingsService {
102
125
  constructor(rest) {
103
126
  this.getSettingsMap = async (tid) => {
@@ -109,16 +132,16 @@ class AmpSdkSettingsService {
109
132
  const page = res.data;
110
133
  const settings = page.data;
111
134
  settings.forEach(setting => {
112
- if (lodash_1.default.isString(setting.value) && /^(?:".*"|\{.*\}|\[.*\]|-?\d+(?:\.\d+))$/i.test(setting.value)) {
135
+ if (lodash_1.default.isString(setting.value)) {
113
136
  try {
114
137
  setting.value = JSON.parse(setting.value);
115
138
  }
116
139
  catch (_e) {
117
- // noop
140
+ // ignore JSON parse errors since I want to return the raw value
118
141
  }
119
142
  }
120
143
  });
121
- const rawSettingsMap = AmpSettingsService.formatSettingMap(settings, true);
144
+ const rawSettingsMap = formatSettingMap(settings);
122
145
  return new AmpSettingsMap(rawSettingsMap, settings);
123
146
  };
124
147
  this.createMultiple = async (keyValues) => {
@@ -174,24 +197,6 @@ class AmpSdkSettingsService {
174
197
  }
175
198
  }
176
199
  exports.AmpSdkSettingsService = AmpSdkSettingsService;
177
- AmpSdkSettingsService.formatSettingMap = (settings, valuesOnly = true) => {
178
- const rawSettingsMap = {
179
- tenantSettings: {},
180
- connectorSettings: {},
181
- };
182
- settings.forEach(setting => {
183
- if (setting.cid) {
184
- if (!rawSettingsMap.connectorSettings[setting.cid]) {
185
- rawSettingsMap.connectorSettings[setting.cid] = {};
186
- }
187
- rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
188
- }
189
- else {
190
- rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
191
- }
192
- });
193
- return rawSettingsMap;
194
- };
195
200
  class AmpSettingsMap {
196
201
  constructor(settings, rawSettingsList) {
197
202
  this.rawSettingsList = new Array();
@@ -216,14 +221,23 @@ class AmpSettingsMap {
216
221
  }
217
222
  return key.defaultValue;
218
223
  };
224
+ this.getGlobalDto = (key) => {
225
+ return this.rawSettingsList.find(s => s.cid === null && s.key === key.id);
226
+ };
227
+ this.getConnectorDto = (cid, key) => {
228
+ return this.rawSettingsList.find(s => s.cid === cid && s.key === key.id);
229
+ };
219
230
  this.getConnectorSettings = (cid) => {
220
231
  if (!this.settings.connectorSettings[cid]) {
221
232
  return undefined;
222
233
  }
223
234
  return lodash_1.default.clone(this.settings.connectorSettings[cid]);
224
235
  };
236
+ this.getConnectorDtos = (cid) => {
237
+ return this.rawSettingsList.filter(s => s.cid === cid);
238
+ };
225
239
  this.getRawMap = () => {
226
- return AmpSettingsService.formatSettingMap(this.rawSettingsList, false);
240
+ return formatDtoMap(this.rawSettingsList);
227
241
  };
228
242
  this.settings = settings;
229
243
  this.rawSettingsList = rawSettingsList;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../src/services/settings.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../src/services/settings.service.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,16 @@ export declare const AMP_SETTINGS: {
63
63
  /********************
64
64
  * PROVIDERS *
65
65
  ********************/
66
+ crowdstrike: {
67
+ CROWDSTRIKE_ETL_VULN_ENABLED: import("./services").TypedAmpSettingsKey<boolean>;
68
+ CROWDSTRIKE_ETL_VULN_FILTER_BLOB: import("./services").TypedAmpSettingsKey<{
69
+ filter: string;
70
+ }>;
71
+ CROWDSTRIKE_VULN_CRIT_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
72
+ CROWDSTRIKE_VULN_HIGH_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
73
+ CROWDSTRIKE_VULN_MEDIUM_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
74
+ CROWDSTRIKE_VULN_LOW_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
75
+ };
66
76
  google: {
67
77
  GOOGLE_EXECUTIVE_GROUPS: import("./services").TypedAmpSettingsKey<string[]>;
68
78
  GOOGLE_PROD_ACCESS_GROUPS: import("./services").TypedAmpSettingsKey<string[]>;
@@ -89,6 +99,7 @@ export declare const AMP_SETTINGS: {
89
99
  KNOWBE4_PHISHING_EXP: import("./services").TypedAmpSettingsKey<string>;
90
100
  };
91
101
  tenable: {
102
+ TENABLE_ACTIVE_LAST_SEEN_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
92
103
  TENABLE_ASSET_ARCHIVED_RULE: import("./services").TypedAmpSettingsKey<unknown>;
93
104
  TENABLE_ASSET_ARCHIVED_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
94
105
  TENABLE_VULN_CRIT_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
@@ -50,6 +50,14 @@ const GLOBAL_CONNECTOR_DEFAULT_SETTINGS = {
50
50
  /********************
51
51
  * PROVIDERS *
52
52
  ********************/
53
+ const CROWDSTRIKE_SETTINGS = {
54
+ CROWDSTRIKE_ETL_VULN_ENABLED: services_1.AmpSettingsMap.asKey('tenable.etl.vuln.enabled', true),
55
+ CROWDSTRIKE_ETL_VULN_FILTER_BLOB: services_1.AmpSettingsMap.asKey('_tenable.etl.vuln.filter.blob', { filter: "status:!'closed'" }),
56
+ CROWDSTRIKE_VULN_CRIT_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.crit.deadline', '1 day'),
57
+ CROWDSTRIKE_VULN_HIGH_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.high.deadline', '7 day'),
58
+ CROWDSTRIKE_VULN_MEDIUM_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.medium.deadline', '30 day'),
59
+ CROWDSTRIKE_VULN_LOW_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.low.deadline', '90 day'),
60
+ };
53
61
  const GOOGLE_SETTINGS = {
54
62
  GOOGLE_EXECUTIVE_GROUPS: services_1.AmpSettingsMap.asKey('google.groups.exec.extIds', []),
55
63
  GOOGLE_PROD_ACCESS_GROUPS: services_1.AmpSettingsMap.asKey('google.groups.prod.extIds', []),
@@ -77,6 +85,7 @@ const SLACK_SETTINGS = {
77
85
  SLACK_CONTACT_SECURITY_TEMPLATE: services_1.AmpSettingsMap.asKey('slack.templates.contactSecurity', 'Thanks for getting in touch! We forwarded your message to our security team and they will get back to you shortly.'),
78
86
  };
79
87
  const TENABLE_SETTINGS = {
88
+ TENABLE_ACTIVE_LAST_SEEN_THRESHOLD: services_1.AmpSettingsMap.asKey('tenable.active.lastSeen.threshold', '14 day'),
80
89
  TENABLE_ASSET_ARCHIVED_RULE: services_1.AmpSettingsMap.asKey('tenable.asset.archived.rule', { MATCH_NOTHING: true }),
81
90
  TENABLE_ASSET_ARCHIVED_THRESHOLD: services_1.AmpSettingsMap.asKey('tenable.asset.archived.threshold', '1 year'),
82
91
  TENABLE_VULN_CRIT_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('tenable.vuln.crit.deadline', '1 day'),
@@ -121,6 +130,7 @@ exports.AMP_SETTINGS = {
121
130
  /********************
122
131
  * PROVIDERS *
123
132
  ********************/
133
+ crowdstrike: { ...CROWDSTRIKE_SETTINGS },
124
134
  google: { ...GOOGLE_SETTINGS },
125
135
  okta: { ...OKTA_SETTINGS },
126
136
  slack: { ...SLACK_SETTINGS },
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ampsec/platform-client",
3
- "version": "58.3.2",
3
+ "version": "58.4.0",
4
4
  "description": "",
5
5
  "main": "build/src/index.js",
6
6
  "runkitExampleFilename": "example/main.js",
@@ -9,15 +9,51 @@ export type TypedAmpSettingsKey<T> = {
9
9
  defaultValue: T;
10
10
  };
11
11
 
12
- export type RawAmpSettingsMap = {[key: AmpSettingKey]: unknown};
12
+ export type RawAmpSettingsMap = Record<AmpSettingKey, unknown>;
13
13
 
14
- export type TenantSettingsMap = {
15
- tenantSettings: RawAmpSettingsMap;
14
+ export type TenantSettingsMap<ValT> = {
15
+ tenantSettings: Record<AmpSettingKey, ValT>;
16
16
  connectorSettings: {
17
- [cid: string]: RawAmpSettingsMap;
17
+ [cid: string]: Record<AmpSettingKey, ValT>;
18
18
  };
19
19
  };
20
20
 
21
+ const formatSettingMap = (settings: AmpSettingDto[]): TenantSettingsMap<unknown> => {
22
+ const rawSettingsMap: TenantSettingsMap<unknown> = {
23
+ tenantSettings: {},
24
+ connectorSettings: {},
25
+ };
26
+ settings.forEach(setting => {
27
+ if (setting.cid) {
28
+ if (!rawSettingsMap.connectorSettings[setting.cid]) {
29
+ rawSettingsMap.connectorSettings[setting.cid] = {};
30
+ }
31
+ rawSettingsMap.connectorSettings[setting.cid][setting.key] = setting.value;
32
+ } else {
33
+ rawSettingsMap.tenantSettings[setting.key] = setting.value;
34
+ }
35
+ });
36
+ return rawSettingsMap;
37
+ };
38
+
39
+ const formatDtoMap = (settings: AmpSettingDto[]): TenantSettingsMap<AmpSettingDto> => {
40
+ const rawSettingsMap: TenantSettingsMap<AmpSettingDto> = {
41
+ tenantSettings: {},
42
+ connectorSettings: {},
43
+ };
44
+ settings.forEach(setting => {
45
+ if (setting.cid) {
46
+ if (!rawSettingsMap.connectorSettings[setting.cid]) {
47
+ rawSettingsMap.connectorSettings[setting.cid] = {};
48
+ }
49
+ rawSettingsMap.connectorSettings[setting.cid][setting.key] = setting;
50
+ } else {
51
+ rawSettingsMap.tenantSettings[setting.key] = setting;
52
+ }
53
+ });
54
+ return rawSettingsMap;
55
+ };
56
+
21
57
  export class AmpSettingsService {
22
58
  protected readonly rest: RestClient;
23
59
  protected readonly targetApi: string;
@@ -35,11 +71,15 @@ export class AmpSettingsService {
35
71
  const page = res.data as Page<AmpSettingDto>;
36
72
  const settings = page.data;
37
73
  settings.forEach(setting => {
38
- if (_.isString(setting.value) && /^(?:".*"|\{.*\}|\[.*\]|-?\d+(?:\.\d+))$/i.test(setting.value)) {
39
- setting.value = JSON.parse(setting.value);
74
+ if (_.isString(setting.value)) {
75
+ try {
76
+ setting.value = JSON.parse(setting.value);
77
+ } catch (error) {
78
+ // ignore JSON parse errors since I want to return the raw value
79
+ }
40
80
  }
41
81
  });
42
- const rawSettingsMap: TenantSettingsMap = AmpSettingsService.formatSettingMap(settings, true);
82
+ const rawSettingsMap: TenantSettingsMap<unknown> = formatSettingMap(settings);
43
83
  return new AmpSettingsMap(rawSettingsMap, settings);
44
84
  };
45
85
 
@@ -99,24 +139,6 @@ export class AmpSettingsService {
99
139
  const settings = page.data as AmpSettingDto[];
100
140
  return settings[0];
101
141
  };
102
-
103
- static formatSettingMap = (settings: AmpSettingDto[], valuesOnly = true): TenantSettingsMap => {
104
- const rawSettingsMap: TenantSettingsMap = {
105
- tenantSettings: {},
106
- connectorSettings: {},
107
- };
108
- settings.forEach(setting => {
109
- if (setting.cid) {
110
- if (!rawSettingsMap.connectorSettings[setting.cid]) {
111
- rawSettingsMap.connectorSettings[setting.cid] = {};
112
- }
113
- rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
114
- } else {
115
- rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
116
- }
117
- });
118
- return rawSettingsMap;
119
- };
120
142
  }
121
143
 
122
144
  export class AmpSdkSettingsService {
@@ -136,15 +158,15 @@ export class AmpSdkSettingsService {
136
158
  const page = res.data as Page<AmpSettingDto>;
137
159
  const settings = page.data;
138
160
  settings.forEach(setting => {
139
- if (_.isString(setting.value) && /^(?:".*"|\{.*\}|\[.*\]|-?\d+(?:\.\d+))$/i.test(setting.value)) {
161
+ if (_.isString(setting.value)) {
140
162
  try {
141
163
  setting.value = JSON.parse(setting.value);
142
164
  } catch (_e) {
143
- // noop
165
+ // ignore JSON parse errors since I want to return the raw value
144
166
  }
145
167
  }
146
168
  });
147
- const rawSettingsMap: TenantSettingsMap = AmpSettingsService.formatSettingMap(settings, true);
169
+ const rawSettingsMap: TenantSettingsMap<unknown> = formatSettingMap(settings);
148
170
  return new AmpSettingsMap(rawSettingsMap, settings);
149
171
  };
150
172
 
@@ -196,31 +218,13 @@ export class AmpSdkSettingsService {
196
218
  const settings = page.data as AmpSettingDto[];
197
219
  return settings[0];
198
220
  };
199
-
200
- static formatSettingMap = (settings: AmpSettingDto[], valuesOnly = true): TenantSettingsMap => {
201
- const rawSettingsMap: TenantSettingsMap = {
202
- tenantSettings: {},
203
- connectorSettings: {},
204
- };
205
- settings.forEach(setting => {
206
- if (setting.cid) {
207
- if (!rawSettingsMap.connectorSettings[setting.cid]) {
208
- rawSettingsMap.connectorSettings[setting.cid] = {};
209
- }
210
- rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
211
- } else {
212
- rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
213
- }
214
- });
215
- return rawSettingsMap;
216
- };
217
221
  }
218
222
 
219
223
  export class AmpSettingsMap {
220
- private readonly settings: TenantSettingsMap;
224
+ private readonly settings: TenantSettingsMap<unknown>;
221
225
  private readonly rawSettingsList = new Array<AmpSettingDto>();
222
226
 
223
- constructor(settings: TenantSettingsMap, rawSettingsList: AmpSettingDto[]) {
227
+ constructor(settings: TenantSettingsMap<unknown>, rawSettingsList: AmpSettingDto[]) {
224
228
  this.settings = settings;
225
229
  this.rawSettingsList = rawSettingsList;
226
230
  }
@@ -248,6 +252,14 @@ export class AmpSettingsMap {
248
252
  return key.defaultValue;
249
253
  };
250
254
 
255
+ getGlobalDto = <T>(key: TypedAmpSettingsKey<T>): AmpSettingDto | undefined => {
256
+ return this.rawSettingsList.find(s => s.cid === null && s.key === key.id);
257
+ };
258
+
259
+ getConnectorDto = <T>(cid: string, key: TypedAmpSettingsKey<T>): AmpSettingDto | undefined => {
260
+ return this.rawSettingsList.find(s => s.cid === cid && s.key === key.id);
261
+ };
262
+
251
263
  getConnectorSettings = (cid: string): RawAmpSettingsMap | undefined => {
252
264
  if (!this.settings.connectorSettings[cid]) {
253
265
  return undefined;
@@ -255,8 +267,12 @@ export class AmpSettingsMap {
255
267
  return _.clone(this.settings.connectorSettings[cid]);
256
268
  };
257
269
 
258
- getRawMap = (): TenantSettingsMap => {
259
- return AmpSettingsService.formatSettingMap(this.rawSettingsList, false);
270
+ getConnectorDtos = (cid: string): AmpSettingDto[] => {
271
+ return this.rawSettingsList.filter(s => s.cid === cid);
272
+ };
273
+
274
+ getRawMap = (): TenantSettingsMap<AmpSettingDto> => {
275
+ return formatDtoMap(this.rawSettingsList);
260
276
  };
261
277
 
262
278
  static asKey = <T>(key: AmpSettingKey, defaultValue?: T): TypedAmpSettingsKey<T> => {
package/src/settings.ts CHANGED
@@ -51,6 +51,15 @@ const GLOBAL_CONNECTOR_DEFAULT_SETTINGS = {
51
51
  /********************
52
52
  * PROVIDERS *
53
53
  ********************/
54
+ const CROWDSTRIKE_SETTINGS = {
55
+ CROWDSTRIKE_ETL_VULN_ENABLED: AmpSettingsMap.asKey<boolean>('tenable.etl.vuln.enabled', true),
56
+ CROWDSTRIKE_ETL_VULN_FILTER_BLOB: AmpSettingsMap.asKey<{filter: string}>('_tenable.etl.vuln.filter.blob', {filter: "status:!'closed'"}),
57
+ CROWDSTRIKE_VULN_CRIT_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.crit.deadline', '1 day'),
58
+ CROWDSTRIKE_VULN_HIGH_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.high.deadline', '7 day'),
59
+ CROWDSTRIKE_VULN_MEDIUM_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.medium.deadline', '30 day'),
60
+ CROWDSTRIKE_VULN_LOW_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.low.deadline', '90 day'),
61
+ };
62
+
54
63
  const GOOGLE_SETTINGS = {
55
64
  GOOGLE_EXECUTIVE_GROUPS: AmpSettingsMap.asKey<string[]>('google.groups.exec.extIds', []),
56
65
  GOOGLE_PROD_ACCESS_GROUPS: AmpSettingsMap.asKey<string[]>('google.groups.prod.extIds', []),
@@ -85,6 +94,7 @@ const SLACK_SETTINGS = {
85
94
  };
86
95
 
87
96
  const TENABLE_SETTINGS = {
97
+ TENABLE_ACTIVE_LAST_SEEN_THRESHOLD: AmpSettingsMap.asKey<string>('tenable.active.lastSeen.threshold', '14 day'),
88
98
  TENABLE_ASSET_ARCHIVED_RULE: AmpSettingsMap.asKey<unknown>('tenable.asset.archived.rule', {MATCH_NOTHING: true}),
89
99
  TENABLE_ASSET_ARCHIVED_THRESHOLD: AmpSettingsMap.asKey<string>('tenable.asset.archived.threshold', '1 year'),
90
100
  TENABLE_VULN_CRIT_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('tenable.vuln.crit.deadline', '1 day'),
@@ -130,6 +140,7 @@ export const AMP_SETTINGS = {
130
140
  /********************
131
141
  * PROVIDERS *
132
142
  ********************/
143
+ crowdstrike: {...CROWDSTRIKE_SETTINGS},
133
144
  google: {...GOOGLE_SETTINGS},
134
145
  okta: {...OKTA_SETTINGS},
135
146
  slack: {...SLACK_SETTINGS},