@contrast/common 1.7.0 → 1.9.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signatures/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const mongodb: Map<string, any>;
2
+ export default mongodb;
3
+ //# sourceMappingURL=mongodb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb.d.ts","sourceRoot":"","sources":["../../src/signatures/mongodb.ts"],"names":[],"mappings":"AAyCA,QAAA,MAAM,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAE5B,CAAC;AAEH,eAAe,OAAO,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright: 2022 Contrast Security, Inc
4
+ * Contact: support@contrastsecurity.com
5
+ * License: Commercial
6
+
7
+ * NOTICE: This Software and the patented inventions embodied within may only be
8
+ * used as part of Contrast Security’s commercial offerings. Even though it is
9
+ * made available through public repositories, use of this Software is subject to
10
+ * the applicable End User Licensing Agreement found at
11
+ * https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
12
+ * between Contrast Security and the End User. The Software may not be reverse
13
+ * engineered, modified, repackaged, sold, redistributed or otherwise used in a
14
+ * way not consistent with the End User License Agreement.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ const collectionSignatures = [
18
+ 'find',
19
+ 'findOne',
20
+ 'findAndModify',
21
+ 'findOneAndDelete',
22
+ 'findOneAndReplace',
23
+ 'findOneAndUpdate',
24
+ 'remove',
25
+ 'removeOne',
26
+ 'replaceOne',
27
+ 'removeMany',
28
+ 'save',
29
+ 'update',
30
+ 'updateOne',
31
+ 'updateMany',
32
+ 'deleteOne',
33
+ 'deleteMany',
34
+ ].map((method) => [
35
+ `mongodb.Collection.prototype.${method}`,
36
+ {
37
+ moduleName: 'mongodb',
38
+ methodName: `Collection.prototype.${method}`,
39
+ isModule: true,
40
+ }
41
+ ]);
42
+ const mongodb = new Map([
43
+ ...collectionSignatures,
44
+ ]);
45
+ exports.default = mongodb;
46
+ //# sourceMappingURL=mongodb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb.js","sourceRoot":"","sources":["../../src/signatures/mongodb.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAEH,MAAM,oBAAoB,GAAoB;IAC5C,MAAM;IACN,SAAS;IACT,eAAe;IACf,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;CACb,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAChB,gCAAgC,MAAM,EAAE;IACxC;QACE,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,wBAAwB,MAAM,EAAE;QAC5C,QAAQ,EAAE,IAAI;KACf;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,GAAqB,IAAI,GAAG,CAAC;IACxC,GAAG,oBAAoB;CACxB,CAAC,CAAC;AAEH,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Signature } from '../types';
2
+ declare const mssql: Map<string, Signature>;
3
+ export default mssql;
4
+ //# sourceMappingURL=mssql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mssql.d.ts","sourceRoot":"","sources":["../../src/signatures/mssql.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,QAAA,MAAM,KAAK,wBA+BgB,CAAC;AAE5B,eAAe,KAAK,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright: 2022 Contrast Security, Inc
4
+ * Contact: support@contrastsecurity.com
5
+ * License: Commercial
6
+
7
+ * NOTICE: This Software and the patented inventions embodied within may only be
8
+ * used as part of Contrast Security’s commercial offerings. Even though it is
9
+ * made available through public repositories, use of this Software is subject to
10
+ * the applicable End User Licensing Agreement found at
11
+ * https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
12
+ * between Contrast Security and the End User. The Software may not be reverse
13
+ * engineered, modified, repackaged, sold, redistributed or otherwise used in a
14
+ * way not consistent with the End User License Agreement.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ const mssql = new Map([
18
+ [
19
+ 'mssql/lib/base/prepared-statement.prototype.prepare',
20
+ {
21
+ moduleName: 'mssql',
22
+ version: '>=6.4.0',
23
+ fileName: 'lib/base/prepared-statement.js',
24
+ methodName: 'PreparedStatement.prototype.prepare',
25
+ isModule: true,
26
+ },
27
+ ],
28
+ [
29
+ 'mssql/lib/base/request.prototype.batch',
30
+ {
31
+ moduleName: 'mssql',
32
+ version: '>=6.4.0',
33
+ fileName: 'lib/base/request.js',
34
+ methodName: 'Request.prototype.batch',
35
+ isModule: true,
36
+ },
37
+ ],
38
+ [
39
+ 'mssql/lib/base/request.prototype.query',
40
+ {
41
+ moduleName: 'mssql',
42
+ version: '>=6.4.0',
43
+ fileName: 'lib/base/request.js',
44
+ methodName: 'Request.prototype.query',
45
+ isModule: true,
46
+ },
47
+ ],
48
+ ]);
49
+ exports.default = mssql;
50
+ //# sourceMappingURL=mssql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mssql.js","sourceRoot":"","sources":["../../src/signatures/mssql.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAKH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAoB;IACvC;QACE,qDAAqD;QACrD;YACE,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,gCAAgC;YAC1C,UAAU,EAAE,qCAAqC;YACjD,QAAQ,EAAE,IAAI;SACf;KACF;IACD;QACE,wCAAwC;QACxC;YACE,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,qBAAqB;YAC/B,UAAU,EAAE,yBAAyB;YACrC,QAAQ,EAAE,IAAI;SACf;KACF;IACD;QACE,wCAAwC;QACxC;YACE,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,qBAAqB;YAC/B,UAAU,EAAE,yBAAyB;YACrC,QAAQ,EAAE,IAAI;SACf;KACF;CACuB,CAAC,CAAC;AAE5B,kBAAe,KAAK,CAAC"}
package/lib/types.d.ts CHANGED
@@ -1,6 +1,20 @@
1
1
  /// <reference types="node" />
2
- import { Event, Rule, ProtectRuleMode } from './constants';
3
2
  import { EventEmitter } from 'events';
3
+ import { Event, ProtectRuleMode, Rule } from './constants';
4
+ export interface Installable {
5
+ install(): void | Promise<void>;
6
+ uninstall?(): void | Promise<void>;
7
+ }
8
+ export interface Signature {
9
+ moduleName: string;
10
+ methodName: string;
11
+ fileName?: string;
12
+ version?: string;
13
+ isModule: boolean;
14
+ isConstructor?: boolean;
15
+ source?: 'O' | 'P' | 'R';
16
+ target?: 'O' | 'P' | 'R';
17
+ }
4
18
  export interface AppInfo {
5
19
  os: {
6
20
  type: string;
@@ -100,6 +114,12 @@ export interface ProtectMessage {
100
114
  parsedParams: any;
101
115
  parsedQuery: any;
102
116
  }
117
+ export interface SourceInfo {
118
+ serverType: string;
119
+ port: number;
120
+ protocol: string;
121
+ time: number;
122
+ }
103
123
  /**
104
124
  * this is known as RequestStore even though, in the future, instrumentation
105
125
  * will exist for message buses or sources other than HTTP requests. "request"
@@ -111,18 +131,142 @@ export interface ProtectMessage {
111
131
  * with, requests, whether from HTTP or elsewhere.
112
132
  */
113
133
  export interface RequestStore {
134
+ sourceInfo?: SourceInfo;
114
135
  protect?: ProtectMessage;
115
136
  assess?: any;
137
+ route?: any;
138
+ }
139
+ /**
140
+ * Architecture Component registration event payload.
141
+ */
142
+ export interface ArchitectureComponent {
143
+ /** The type of this component: database, ldap, or web server connection. */
144
+ type: 'db' | 'ldap' | 'ws';
145
+ /**
146
+ * The URL to which this component responds.
147
+ * @example "mysql://host:3306"
148
+ */
149
+ url: string;
150
+ /**
151
+ * Some indication of the subtype of the connection.
152
+ * @example "MySQL"
153
+ */
154
+ vendor?: string;
116
155
  }
156
+ /**
157
+ * Library discovery event payload.
158
+ */
159
+ export interface Library {
160
+ /**
161
+ * The time, in ms, that the library was last modified on the filesystem.
162
+ * Must be greater than 0 and less than 32503679999000 (Tuesday, 31 December 2999 23:59:59).
163
+ * @todo
164
+ */
165
+ externalDate: number;
166
+ /**
167
+ * The time, in ms, that the library was last modified on the filesystem.
168
+ * Must be greater than 0 and less than 32503679999000 (Tuesday, 31 December 2999 23:59:59).
169
+ * @todo
170
+ */
171
+ internalDate: number;
172
+ /**
173
+ * The version of the library.
174
+ * @example "2.18.1"
175
+ */
176
+ version: string;
177
+ /**
178
+ * Hash of the library. uses the provided SHA sum when present, or a generated
179
+ * identifer otherwise.
180
+ * @example "2254143855c5a8c73825e4522baf2ea021766717"
181
+ * @example "mysql:2.18.1"
182
+ */
183
+ hash: string;
184
+ /**
185
+ * Name of the library with version data
186
+ * @example "mysql-2.18.1"
187
+ */
188
+ file: string;
189
+ /**
190
+ * Homepage or source of the library.
191
+ * @example "https://github.com/mysqljs/mysql#readme"
192
+ * @example "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz"
193
+ */
194
+ url?: string;
195
+ /**
196
+ * String describing the library, including name, description, license,
197
+ * dependencies and dependents.
198
+ */
199
+ manifest: string;
200
+ /**
201
+ * Library tags provided by the user to the agent.
202
+ */
203
+ tags: string;
204
+ }
205
+ /**
206
+ * Library usage update event payload.
207
+ */
208
+ export interface LibraryUsage {
209
+ id: string;
210
+ names: string[];
211
+ }
212
+ /**
213
+ * Route discovery or observation event payload.
214
+ */
215
+ export interface RouteInfo {
216
+ /**
217
+ * Language specific signature of the controller method.
218
+ * @example "Router.get('prefix/route/path', [Function])"
219
+ */
220
+ signature: string;
221
+ /**
222
+ * The HTTP method supported by the discovered route url, if one is reported.
223
+ * @example "get"
224
+ */
225
+ method?: string;
226
+ /**
227
+ * Normalized URL for a route.
228
+ * @example "prefix/route/path"
229
+ */
230
+ url: string;
231
+ }
232
+ /**
233
+ * Agent event emitter for messaging to/from external systems. Use cases are
234
+ * reporting agent findings and broadcasting settings updates.
235
+ *
236
+ * The final, generic, overloads for emit/on matches any calls that don't match
237
+ * one of the more specific definitions.
238
+ */
117
239
  export interface Messages extends EventEmitter {
118
- addListener(event: Event.PROTECT, listener: (msg: RequestStore) => void): this;
119
- addListener(event: Event.SERVER_SETTINGS_UPDATE, listener: (msg: Record<string, any>) => void): this;
240
+ emit(event: Event.ARCHITECTURE_COMPONENT, msg: ArchitectureComponent): boolean;
241
+ emit(event: Event.ASSESS_DATAFLOW_FINDING, msg: any): boolean;
242
+ emit(event: Event.LIBRARY, msg: Library): boolean;
243
+ emit(event: Event.LIBRARY_USAGE, msg: LibraryUsage): boolean;
120
244
  emit(event: Event.PROTECT, msg: RequestStore): boolean;
245
+ emit(event: Event.ROUTE_COVERAGE_DISCOVERY, route: RouteInfo): boolean;
246
+ emit(event: Event.ROUTE_COVERAGE_DISCOVERY_FINISHED, routes: RouteInfo[]): boolean;
247
+ emit(event: Event.ROUTE_COVERAGE_OBSERVATION, route: RouteInfo): boolean;
121
248
  emit(event: Event.SERVER_SETTINGS_UPDATE, msg: Record<string, any>): boolean;
122
- on(event: Event.ARCHITECTURE_COMPONENT, listener: (msg: Record<string, any>) => void): this;
249
+ emit(event: Event, ...args: any[]): boolean;
250
+ on(event: Event.ARCHITECTURE_COMPONENT, listener: (msg: ArchitectureComponent) => void): this;
251
+ on(event: Event.ASSESS_DATAFLOW_FINDING, listenter: (msg: any) => void): this;
252
+ on(event: Event.LIBRARY, listener: (msg: Library) => void): this;
253
+ on(event: Event.LIBRARY_USAGE, listener: (msg: LibraryUsage) => void): this;
123
254
  on(event: Event.PROTECT, listener: (msg: RequestStore) => void): this;
124
- on(event: Event.LIBRARY_USAGE, listener: (msg: Record<string, any>) => void): this;
255
+ on(event: Event.ROUTE_COVERAGE_DISCOVERY, listener: (route: RouteInfo) => void): this;
256
+ on(event: Event.ROUTE_COVERAGE_DISCOVERY_FINISHED, listener: (routes: RouteInfo[]) => void): this;
257
+ on(event: Event.ROUTE_COVERAGE_OBSERVATION, listener: (route: RouteInfo) => void): this;
125
258
  on(event: Event.SERVER_SETTINGS_UPDATE, listener: (msg: Record<string, any>) => void): this;
126
- prependListener(event: Event.PROTECT, listener: (msg: RequestStore) => void): this;
127
- prependOnceListener(event: Event.PROTECT, listener: (msg: RequestStore) => void): this;
259
+ on(event: Event, listener: (...args: any[]) => void): this;
260
+ }
261
+ /**
262
+ * Agent event emitter for broadcasting internal lifecycle events.
263
+ *
264
+ * The final, generic, overloads for emit/on matches any calls that don't match
265
+ * one of the more specific definitions.
266
+ */
267
+ export interface Lifecycle extends EventEmitter {
268
+ emit(event: Event, ...args: any[]): boolean;
269
+ on(event: Event.RESPONSE_FINISH, listener: (msg: RequestStore) => void): this;
270
+ on(event: Event, listener: (...args: any[]) => void): this;
128
271
  }
272
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/common",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "description": "Shared constants and utilities for all Contrast Agent modules",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",
package/src/constants.ts CHANGED
@@ -22,8 +22,10 @@ export enum Event {
22
22
  SERVER_SETTINGS_UPDATE = 'server-settings-update',
23
23
  ASSESS_DATAFLOW_FINDING = 'assess-dataflow-findings',
24
24
  ASSESS_RESPONSE_SCANNING_FINDING = 'assess-response-scanning-findings',
25
+ RESPONSE_FINISH = 'response-finish',
25
26
  ROUTE_COVERAGE_DISCOVERY = 'route-coverage-discovery',
26
- ROUTE_COVERAGE_OBSERVATION = 'route-coverage-observation'
27
+ ROUTE_COVERAGE_DISCOVERY_FINISHED = 'route-coverage-discovery-finished',
28
+ ROUTE_COVERAGE_OBSERVATION = 'route-coverage-observation',
27
29
  }
28
30
 
29
31
  export enum ProtectRuleMode {
@@ -92,5 +94,141 @@ export enum InputType {
92
94
  UNKNOWN = 'UNKNOWN',
93
95
  }
94
96
 
97
+ export enum DataflowTag {
98
+ XML_ENCODED = 'XML_ENCODED',
99
+ XML_DECODED = 'XML_DECODED',
100
+ HTML_ENCODED = 'HTML_ENCODED',
101
+ HTML_DECODED = 'HTML_DECODED',
102
+ URL_ENCODED = 'URL_ENCODED',
103
+ URL_DECODED = 'URL_DECODED',
104
+ CSS_ENCODED = 'CSS_ENCODED',
105
+ CSS_DECODED = 'CSS_DECODED',
106
+ BASE64_ENCODED = 'BASE64_ENCODED',
107
+ BASE64_DECODED = 'BASE64_DECODED',
108
+ JAVASCRIPT_ENCODED = 'JAVASCRIPT_ENCODED',
109
+ JAVASCRIPT_DECODED = 'JAVASCRIPT_DECODED',
110
+ JAVA_ENCODED = 'JAVA_ENCODED',
111
+ JAVA_DECODED = 'JAVA_DECODED',
112
+ CSV_ENCODED = 'CSV_ENCODED',
113
+ CSV_DECODED = 'CSV_DECODED',
114
+ SQL_ENCODED = 'SQL_ENCODED',
115
+ SQL_DECODED = 'SQL_DECODED',
116
+ LDAP_ENCODED = 'LDAP_ENCODED',
117
+ LDAP_DECODED = 'LDAP_DECODED',
118
+ XPATH_ENCODED = 'XPATH_ENCODED',
119
+ XPATH_DECODED = 'XPATH_DECODED',
120
+ OS_ENCODED = 'OS_ENCODED',
121
+ OS_DECODED = 'OS_DECODED',
122
+ VBSCRIPT_ENCODED = 'VBSCRIPT_ENCODED',
123
+ VBSCRIPT_DECODED = 'VBSCRIPT_DECODED',
124
+ POTENTIAL_SANITIZED = 'POTENTIAL_SANITIZED',
125
+ POTENTIAL_VALIDATED = 'POTENTIAL_VALIDATED',
126
+ NO_CONTROL_CHARS = 'NO_CONTROL_CHARS',
127
+ CUSTOM = 'CUSTOM_CATCH_ALL',
128
+ // custom encoded/validated tags, only for data flow rules
129
+ CUSTOM_ENCODED = 'CUSTOM_ENCODED',
130
+ CUSTOM_ENCODED_CMD_INJECTION = 'CUSTOM_ENCODED_CMD_INJECTION',
131
+ CUSTOM_ENCODED_EXPRESSION_LANGUAGE_INJECTION = 'CUSTOM_ENCODED_EXPRESSION_LANGUAGE_INJECTION',
132
+ CUSTOM_ENCODED_HEADER_INJECTION = 'CUSTOM_ENCODED_HEADER_INJECTION',
133
+ CUSTOM_ENCODED_HQL_INJECTION = 'CUSTOM_ENCODED_HQL_INJECTION',
134
+ CUSTOM_ENCODED_LDAP_INJECTION = 'CUSTOM_ENCODED_LDAP_INJECTION',
135
+ CUSTOM_ENCODED_LOG_INJECTION = 'CUSTOM_ENCODED_LOG_INJECTION',
136
+ CUSTOM_ENCODED_NOSQL_INJECTIOn = 'CUSTOM_ENCODED_NOSQL_INJECTION',
137
+ CUSTOM_ENCODED_PATH_TRAVERSAL = 'CUSTOM_ENCODED_PATH_TRAVERSAL',
138
+ CUSTOM_ENCODED_REDOS = 'CUSTOM_ENCODED_REDOS',
139
+ CUSTOM_ENCODED_REFLECTED_XSS = 'CUSTOM_ENCODED_REFLECTED_XSS',
140
+ CUSTOM_ENCODED_REFLECTION_INJECTION = 'CUSTOM_ENCODED_REFLECTION_INJECTION',
141
+ CUSTOM_ENCODED_SMTP_INJECTION = 'CUSTOM_ENCODED_SMTP_INJECTION',
142
+ CUSTOM_ENCODED_SQL_INJECTION = 'CUSTOM_ENCODED_SQL_INJECTION',
143
+ CUSTOM_ENCODED_SSRF = 'CUSTOM_ENCODED_SSRF',
144
+ CUSTOM_ENCODED_STORED_XSS = 'CUSTOM_ENCODED_STORED_XSS',
145
+ CUSTOM_ENCODED_TRUST_BOUNDARY_VIOLATION = 'CUSTOM_ENCODED_TRUST_BOUNDARY_VIOLATION',
146
+ CUSTOM_ENCODED_UNSAFE_CODE_EXECUTION = 'CUSTOM_ENCODED_UNSAFE_CODE_EXECUTION',
147
+ CUSTOM_ENCODED_UNSAFE_READLINE = 'CUSTOM_ENCODED_UNSAFE_READLINE',
148
+ CUSTOM_ENCODED_UNSAFE_XML_DECODE = 'CUSTOM_ENCODED_UNSAFE_XML_DECODE',
149
+ CUSTOM_ENCODED_UNTRUSTED_DESERIALIZATION = 'CUSTOM_ENCODED_UNTRUSTED_DESERIALIZATION',
150
+ CUSTOM_ENCODED_UNVALIDATED_FORWARD = 'CUSTOM_ENCODED_UNVALIDATED_FORWARD',
151
+ CUSTOM_ENCODED_UNVALIDATED_REDIRECT = 'CUSTOM_ENCODED_UNVALIDATED_REDIRECT',
152
+ CUSTOM_ENCODED_XPATH_INJECTION = 'CUSTOM_ENCODED_XPATH_INJECTION',
153
+ CUSTOM_ENCODED_XXE = 'CUSTOM_ENCODED_XXE',
154
+ CUSTOM_SECURITY_CONTROL_APPLIED = 'CUSTOM_SECURITY_CONTROL_APPLIED',
155
+ CUSTOM_VALIDATED = 'CUSTOM_VALIDATED',
156
+ CUSTOM_VALIDATED_CMD_INJECTION = 'CUSTOM_VALIDATED_CMD_INJECTION',
157
+ CUSTOM_VALIDATED_EXPRESSION_LANGUAGE_INJECTION = 'CUSTOM_VALIDATED_EXPRESSION_LANGUAGE_INJECTION',
158
+ CUSTOM_VALIDATED_HEADER_INJECTION = 'CUSTOM_VALIDATED_HEADER_INJECTION',
159
+ CUSTOM_VALIDATED_HQL_INJECTION = 'CUSTOM_VALIDATED_HQL_INJECTION',
160
+ CUSTOM_VALIDATED_LDAP_INJECTION = 'CUSTOM_VALIDATED_LDAP_INJECTION',
161
+ CUSTOM_VALIDATED_LOG_INJECTION = 'CUSTOM_VALIDATED_LOG_INJECTION',
162
+ CUSTOM_VALIDATED_NOSQL_INJECTION = 'CUSTOM_VALIDATED_NOSQL_INJECTION',
163
+ CUSTOM_VALIDATED_PATH_TRAVERSAL = 'CUSTOM_VALIDATED_PATH_TRAVERSAL',
164
+ CUSTOM_VALIDATED_REDOS = 'CUSTOM_VALIDATED_REDOS',
165
+ CUSTOM_VALIDATED_REFLECTED_XSS = 'CUSTOM_VALIDATED_REFLECTED_XSS',
166
+ CUSTOM_VALIDATED_REFLECTION_INJECTION = 'CUSTOM_VALIDATED_REFLECTION_INJECTION',
167
+ CUSTOM_VALIDATED_SMTP_INJECTION = 'CUSTOM_VALIDATED_SMTP_INJECTION',
168
+ CUSTOM_VALIDATED_SQL_INJECTION = 'CUSTOM_VALIDATED_SQL_INJECTION',
169
+ CUSTOM_VALIDATED_SSRF = 'CUSTOM_VALIDATED_SSRF',
170
+ CUSTOM_VALIDATED_STORED_XSS = 'CUSTOM_VALIDATED_STORED_XSS',
171
+ CUSTOM_VALIDATED_TRUST_BOUNDARY_VIOLATION = 'CUSTOM_VALIDATED_TRUST_BOUNDARY_VIOLATION',
172
+ CUSTOM_VALIDATED_UNSAFE_CODE_EXECUTION = 'CUSTOM_VALIDATED_UNSAFE_CODE_EXECUTION',
173
+ CUSTOM_VALIDATED_UNSAFE_READLINE = 'CUSTOM_VALIDATED_UNSAFE_READLINE',
174
+ CUSTOM_VALIDATED_UNSAFE_XML_DECODE = 'CUSTOM_VALIDATED_UNSAFE_XML_DECODE',
175
+ CUSTOM_VALIDATED_UNTRUSTED_DESERIALIZATION = 'CUSTOM_VALIDATED_UNTRUSTED_DESERIALIZATION',
176
+ CUSTOM_VALIDATED_UNVALIDATED_FORWARD = 'CUSTOM_VALIDATED_UNVALIDATED_FORWARD',
177
+ CUSTOM_VALIDATED_UNVALIDATED_REDIRECT = 'CUSTOM_VALIDATED_UNVALIDATED_REDIRECT',
178
+ CUSTOM_VALIDATED_XPATH_INJECTION = 'CUSTOM_VALIDATED_XPATH_INJECTION',
179
+ CUSTOM_VALIDATED_XXE = 'CUSTOM_VALIDATED_XXE',
180
+ // tracked_string range tags
181
+ NO_NEWLINES = 'NO_NEWLINES',
182
+ UNTRUSTED = 'UNTRUSTED',
183
+ CROSS_SITE = 'CROSS_SITE',
184
+ LIMITED_CHARS = 'LIMITED_CHARS',
185
+ ALPHANUM_SPACE_HYPHEN = 'ALPHANUM_SPACE_HYPHEN',
186
+ STRING_TYPE_CHECKED = 'STRING_TYPE_CHECKED',
187
+ DATABASE_WRITE = 'DATABASE_WRITE',
188
+ HEADER = 'HEADER',
189
+ COOKIE = 'COOKIE',
190
+ WEAK_URL_ENCODED = 'WEAK_URL_ENCODED',
191
+ }
192
+
95
193
  export const BLOCKING_MODES = ['block', 'block_at_perimeter'];
96
194
 
195
+ export const FS_METHODS = [
196
+ { name: 'access', promises: true, sync: true, indices: [0] },
197
+ { name: 'appendFile', promises: true, sync: true, indices: [0] },
198
+ { name: 'chmod', promises: true, sync: true, indices: [0] },
199
+ { name: 'chown', promises: true, sync: true, indices: [0] },
200
+ { name: 'copyFile', promises: true, sync: true, indices: [0, 1] },
201
+ { name: 'cp', promises: true, sync: true, indices: [0, 1] },
202
+ { name: 'createReadStream', promises: false, sync: false, indices: [0] },
203
+ { name: 'createWriteStream', promises: false, sync: false, indices: [0] },
204
+ { name: 'exists', promises: false, sync: true, indices: [0] },
205
+ { name: 'lchmod', promises: true, sync: true, indices: [0] },
206
+ { name: 'lchown', promises: true, sync: true, indices: [0] },
207
+ { name: 'link', promises: true, sync: true, indices: [0] },
208
+ { name: 'lstat', promises: true, sync: true, indices: [0] },
209
+ { name: 'lutimes', promises: true, sync: true, indices: [0] },
210
+ { name: 'mkdir', promises: true, sync: true, indices: [0] },
211
+ { name: 'mkdtemp', promises: true, sync: true, indices: [0] },
212
+ { name: 'open', promises: true, sync: true, indices: [0] },
213
+ { name: 'openAsBlob', promises: false, sync: false, indices: [0] },
214
+ { name: 'opendir', promises: true, sync: true, indices: [0] },
215
+ { name: 'readdir', promises: true, sync: true, indices: [0] },
216
+ { name: 'readFile', promises: true, sync: true, indices: [0] },
217
+ { name: 'readlink', promises: true, sync: true, indices: [0] },
218
+ { name: 'realpath', promises: true, sync: true, indices: [0] },
219
+ { name: 'rename', promises: true, sync: true, indices: [0, 1] },
220
+ { name: 'rmdir', promises: true, sync: true, indices: [0] },
221
+ { name: 'rm', promises: true, sync: true, indices: [0] },
222
+ { name: 'stat', promises: true, sync: true, indices: [0] },
223
+ { name: 'statfs', promises: true, sync: true, indices: [0] },
224
+ { name: 'symlink', promises: true, sync: true, indices: [0, 1] },
225
+ { name: 'truncate', promises: true, sync: true, indices: [0] },
226
+ { name: 'unlink', promises: true, sync: true, indices: [0] },
227
+ { name: 'unwatchFile', promises: false, sync: false, indices: [0] },
228
+ { name: 'utimes', promises: true, sync: true, indices: [0] },
229
+ { name: 'watch', promises: true, sync: false, indices: [0] },
230
+ { name: 'watchFile', promises: false, sync: false, indices: [0] },
231
+ { name: 'writeFile', promises: true, sync: true, indices: [0] },
232
+ ] as const;
233
+
234
+
package/src/index.ts CHANGED
@@ -18,6 +18,7 @@ import { CommonRulesResultsMap, HardeningResultsMap, ResultMap, SemanticAnalysis
18
18
 
19
19
  export * from './constants';
20
20
  export * from './types';
21
+ export * from './signatures/';
21
22
 
22
23
  interface TraverseCallback {
23
24
  (path: any[], type: 'Key' | 'Value', value: any, obj: any): unknown;
@@ -197,7 +198,7 @@ export function mergeRemoteData(
197
198
  const targetConfig = target || config;
198
199
  for (const [name, readerFn] of Object.entries(readers)) {
199
200
  const remoteValue = readerFn(remoteData);
200
- if (['DEFAULT', 'ContrastUI'].includes(config._sources[name]) && remoteValue != null) {
201
+ if (['DEFAULT_VALUE', 'CONTRAST_UI'].includes(config._sources[name]) && remoteValue != null) {
201
202
  setterFn(targetConfig, name, remoteValue);
202
203
  }
203
204
  }
@@ -254,7 +255,7 @@ export function join(arr: Array<any>, ...args: []) {
254
255
  }
255
256
 
256
257
  const { substring: origSubstring } = String.prototype;
257
- export function substring(str: string, ...args: []) {
258
+ export function substring(str: string, ...args: any[]) {
258
259
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
259
260
  // @ts-ignore
260
261
  return origSubstring.call(str, ...args);
@@ -281,3 +282,10 @@ const { trim: origTrim } = String.prototype;
281
282
  export function trim(str: string, ...args: []) {
282
283
  return origTrim.call(str, ...args);
283
284
  }
285
+
286
+ import { inspect as originalInspect } from 'util';
287
+ export function inspect(...args: any) {
288
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
289
+ // @ts-ignore
290
+ return originalInspect.call(null, ...args);
291
+ }
@@ -0,0 +1,65 @@
1
+ /*
2
+ * Copyright: 2022 Contrast Security, Inc
3
+ * Contact: support@contrastsecurity.com
4
+ * License: Commercial
5
+
6
+ * NOTICE: This Software and the patented inventions embodied within may only be
7
+ * used as part of Contrast Security’s commercial offerings. Even though it is
8
+ * made available through public repositories, use of this Software is subject to
9
+ * the applicable End User Licensing Agreement found at
10
+ * https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
11
+ * between Contrast Security and the End User. The Software may not be reverse
12
+ * engineered, modified, repackaged, sold, redistributed or otherwise used in a
13
+ * way not consistent with the End User License Agreement.
14
+ */
15
+
16
+ import { FS_METHODS } from '../constants';
17
+ import { Signature } from '../types';
18
+
19
+ const fs = new Map<string, Signature>(
20
+ FS_METHODS.reduce((sigs, method) => {
21
+ sigs.push([
22
+ `fs.${method.name}`,
23
+ {
24
+ moduleName: 'fs',
25
+ methodName: method.name,
26
+ isModule: true,
27
+ }
28
+ ]);
29
+
30
+ if (method.sync) {
31
+ sigs.push([
32
+ `fs.${method.name}Sync`,
33
+ {
34
+ moduleName: 'fs',
35
+ methodName: `${method.name}Sync`,
36
+ isModule: true,
37
+ }
38
+ ]);
39
+ }
40
+
41
+ if (method.promises) {
42
+ sigs.push([
43
+ `fs.promises.${method.name}`,
44
+ {
45
+ moduleName: 'fs.promises',
46
+ methodName: method.name,
47
+ isModule: true,
48
+ }
49
+ ]);
50
+
51
+ sigs.push([
52
+ `fsPromises.${method.name}`,
53
+ {
54
+ moduleName: 'fsPromises',
55
+ methodName: method.name,
56
+ isModule: true,
57
+ }
58
+ ]);
59
+ }
60
+
61
+ return sigs;
62
+ }, [] as [string, Signature][])
63
+ );
64
+
65
+ export default fs;