@contrast/agent 4.4.0-beta.0 → 4.5.2

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.
Files changed (45) hide show
  1. package/bin/VERSION +1 -1
  2. package/bin/linux/contrast-service +0 -0
  3. package/bin/mac/contrast-service +0 -0
  4. package/bin/windows/contrast-service.exe +0 -0
  5. package/lib/assess/hapi/route-coverage.js +3 -3
  6. package/lib/assess/membrane/index.js +2 -8
  7. package/lib/assess/membrane/source-membrane.js +3 -4
  8. package/lib/assess/models/base-event.js +2 -2
  9. package/lib/assess/models/call-context.js +0 -3
  10. package/lib/assess/models/tag-range/index.js +6 -16
  11. package/lib/assess/policy/signatures.json +95 -0
  12. package/lib/assess/policy/util.js +9 -2
  13. package/lib/assess/propagators/path/common.js +165 -36
  14. package/lib/assess/propagators/path/join.js +5 -1
  15. package/lib/assess/propagators/path/normalize.js +5 -1
  16. package/lib/assess/propagators/path/resolve.js +11 -2
  17. package/lib/assess/response-scanning/autocomplete-missing.js +0 -2
  18. package/lib/assess/response-scanning/parameter-pollution.js +0 -2
  19. package/lib/assess/sinks/mongodb.js +11 -7
  20. package/lib/core/arch-components/dynamodb.js +1 -2
  21. package/lib/core/arch-components/dynamodbv3.js +44 -0
  22. package/lib/core/arch-components/index.js +1 -0
  23. package/lib/core/async-storage/hooks/bluebird.js +20 -0
  24. package/lib/core/express/utils.js +1 -1
  25. package/lib/core/logger/debug-logger.js +15 -17
  26. package/lib/core/stacktrace.js +1 -3
  27. package/lib/feature-set.js +2 -1
  28. package/lib/hooks/encoding.js +1 -1
  29. package/lib/hooks/patcher.js +10 -12
  30. package/lib/protect/analysis/aho-corasick.js +13 -30
  31. package/lib/protect/rules/cmd-injection-command-backdoors/backdoor-detector.js +3 -3
  32. package/lib/protect/rules/signatures/reflected-xss/helpers/function-call.js +1 -1
  33. package/lib/protect/rules/xss/helpers/function-call.js +1 -1
  34. package/lib/util/clean-stack.js +1 -1
  35. package/lib/util/clean-string/brackets.js +3 -3
  36. package/lib/util/clean-string/concatenations.js +1 -1
  37. package/lib/util/clean-string/util.js +1 -2
  38. package/lib/util/ip-analyzer.js +1 -1
  39. package/lib/util/some.js +27 -0
  40. package/lib/util/xml-analyzer/external-entity-finder.js +1 -1
  41. package/node_modules/unix-dgram/build/Makefile +2 -2
  42. package/node_modules/unix-dgram/build/Release/.deps/Release/obj.target/unix_dgram/src/unix_dgram.o.d +35 -35
  43. package/node_modules/unix-dgram/build/config.gypi +8 -8
  44. package/node_modules/unix-dgram/build/unix_dgram.target.mk +14 -14
  45. package/package.json +4 -2
@@ -17,9 +17,16 @@ Copyright: 2021 Contrast Security, Inc
17
17
  // https://www.geeksforgeeks.org/aho-corasick-algorithm-pattern-searching/
18
18
 
19
19
  const a = 'a'.charCodeAt(0);
20
- const z = 'z'.charCodeAt(0);
21
20
  const A = 'A'.charCodeAt(0);
22
21
  const Z = 'Z'.charCodeAt(0);
22
+ const l2u = a - A;
23
+
24
+ // initialize the lower -> upper and upper -> lower translation array.
25
+ const TRANSLATION = [];
26
+ for (let byte = A; byte <= Z; byte++) {
27
+ // translate the uppercase character to lowercase
28
+ TRANSLATION[byte] = byte + l2u;
29
+ }
23
30
 
24
31
  class AhoCorasick {
25
32
  constructor(words) {
@@ -28,16 +35,6 @@ class AhoCorasick {
28
35
  this.maxStates = 0;
29
36
  for (const word of words) {
30
37
  this.maxStates += word.length;
31
- for (const char of word) {
32
- // allow for any character to be upper or lower case. this could be
33
- // restricted to certain words if desired, by changing the signature
34
- // to {caseInsensitive, caseSensitive}.
35
- if (char >= 'a' && char <= 'z') {
36
- this.maxStates += 1;
37
- } else if (char >= 'A' && char <= 'Z') {
38
- this.maxStates += 1;
39
- }
40
- }
41
38
  }
42
39
 
43
40
  // can optimize this by trading off computation for space.
@@ -83,33 +80,17 @@ class AhoCorasick {
83
80
  let state = 0;
84
81
 
85
82
  // create transitions for all character of the current word
86
- for (const byte of word) {
83
+ for (let byte of word) {
87
84
  if (byte & 0x80) {
88
85
  throw new Error('pattern character codes cannot exceed 127');
86
+ } else if (TRANSLATION[byte]) {
87
+ byte = TRANSLATION[byte];
89
88
  }
90
89
  if (this.goto[state][byte] === undefined) {
91
90
  this.goto[state][byte] = stateCount;
92
91
  stateCount += 1;
93
92
  }
94
- const previousState = state;
95
93
  state = this.goto[state][byte];
96
-
97
- // now make it case insensitive by mapping the alternate case to the
98
- // same state as the original case.
99
- let extra;
100
- if (byte >= a && byte <= z) {
101
- extra = byte - (a - A);
102
- } else if (byte >= A && byte <= Z) {
103
- extra = byte + (a - A);
104
- } else {
105
- continue;
106
- }
107
-
108
- if (this.goto[previousState][extra] === undefined) {
109
- // transition to the state that the other case character transitioned
110
- // to.
111
- this.goto[previousState][extra] = stateCount - 1;
112
- }
113
94
  }
114
95
 
115
96
  // add current word to terminal list
@@ -177,6 +158,8 @@ class AhoCorasick {
177
158
  // passes in. and they can be offset by the lowest charcode as well.
178
159
  if (byte >= this.maxChars) {
179
160
  byte = 0;
161
+ } else if (TRANSLATION[byte]) {
162
+ byte = TRANSLATION[byte];
180
163
  }
181
164
  let next = this.state;
182
165
  while (this.goto[next][byte] === undefined) {
@@ -14,7 +14,7 @@ Copyright: 2021 Contrast Security, Inc
14
14
  */
15
15
  'use strict';
16
16
  const { INPUT_TYPES } = require('../common');
17
- const SINK_EXPLOIT_PATTERN = /(?:^|\\|\/)(?:sh|bash|zsh|ksh|tcsh|csh|fish|cmd)([-/].*)*[-/][a-zA-Z]*c/i;
17
+ const SINK_EXPLOIT_PATTERN_START = /(?:^|\\|\/)(?:sh|bash|zsh|ksh|tcsh|csh|fish|cmd)/;
18
18
  const stripWhiteSpace = (str) => str.replace(/\s/g, '');
19
19
  const REQUEST_KEYS = {
20
20
  queryParams: INPUT_TYPES.QUERYSTRING,
@@ -96,8 +96,8 @@ module.exports = class BackdoorDetector {
96
96
  const normalizedParam = stripWhiteSpace(requestValue);
97
97
  return (
98
98
  normalizedParam === this.normalizedCmd ||
99
- (SINK_EXPLOIT_PATTERN.test(this.normalizedCmd) &&
100
- this.normalizedCmd.endsWith(normalizedParam))
99
+ (this.normalizedCmd.endsWith(normalizedParam) &&
100
+ SINK_EXPLOIT_PATTERN_START.test(this.normalizedCmd))
101
101
  );
102
102
  }
103
103
  };
@@ -73,7 +73,7 @@ class FunctionCall {
73
73
  hasMultipleUnquotedBarewords() {
74
74
  let rc = false;
75
75
  const QUOTES = new RegExp('[\'|"]');
76
- const MULTI_WORDS = new RegExp('[a-zA-Z]+\\s+[a-zA-Z]+');
76
+ const MULTI_WORDS = new RegExp('[\\w\\s]+');
77
77
  if (!this.expression.match(QUOTES)) {
78
78
  rc = this.expression.match(MULTI_WORDS);
79
79
  }
@@ -72,7 +72,7 @@ class FunctionCall {
72
72
  hasMultipleUnquotedBarewords() {
73
73
  let rc = false;
74
74
  const QUOTES = new RegExp('[\'|"]');
75
- const MULTI_WORDS = new RegExp('[a-zA-Z]+\\s+[a-zA-Z]+');
75
+ const MULTI_WORDS = new RegExp('[\\w\\s]+');
76
76
  if (!this.expression.match(QUOTES)) {
77
77
  rc = this.expression.match(MULTI_WORDS);
78
78
  }
@@ -202,7 +202,7 @@ const makeFrame = (callsite) => {
202
202
  evalOrigin = CleanStack.formatFileName(callsite.getEvalOrigin());
203
203
  [, file, lineNumber, columnNumber] = callsite
204
204
  .getEvalOrigin()
205
- .match(/\((.*?):(\d+):\d+\)/);
205
+ .match(/\((.{3,4095}?):(\d+):\d+\)/);
206
206
  }
207
207
 
208
208
  file = file || callsite.getFileName();
@@ -40,7 +40,7 @@ class Brackets {
40
40
  }
41
41
 
42
42
  /**
43
- * Coerces occurrances of substrings that look like
43
+ * Coerces occurrences of substrings that look like
44
44
  * bracket accessors (['abcd'], ["efgh"]) into their
45
45
  * dot-accessor equivalents (.abcd, .efgh).
46
46
  * @param {} str
@@ -58,8 +58,8 @@ function coerceToDotAccessors(str) {
58
58
  }
59
59
 
60
60
  const bracketed = str.substring(startIdx, stopIdx + 1);
61
- const patt = /^\[\s*(?:`|'|")([a-zA-Z_]+[a-zA-Z0-9_]*)(?:`|'|")\s*\]$/;
62
- const match = patt.exec(bracketed);
61
+ const pattern = /^\[\s*[`'"]([a-zA-Z_]+[a-zA-Z0-9_]*)[`'"]\s*]$/;
62
+ const match = pattern.exec(bracketed);
63
63
 
64
64
  return !match
65
65
  ? str
@@ -109,7 +109,7 @@ class Concatenations {
109
109
  }
110
110
 
111
111
  /**
112
- * Captures the next string concatenation occurrance
112
+ * Captures the next string concatenation occurrence
113
113
  * within the instance's string value.
114
114
  * @param {} info
115
115
  * @param {} str
@@ -27,9 +27,8 @@ function searchTimesF(times, target, str, startIdx) {
27
27
 
28
28
  const coll = [];
29
29
  let counter = -1;
30
- const stop = false;
31
30
 
32
- while (0 < times - ++counter || stop) {
31
+ while (0 < times - ++counter) {
33
32
  const fromIndex =
34
33
  coll[counter - 1] !== undefined ? coll[counter - 1] : startIdx;
35
34
  const idx = str.indexOf(target, fromIndex + 1);
@@ -66,7 +66,7 @@ const getReqAddresses = (req = {}) => {
66
66
  */
67
67
  const getForwardedFor = (req = {}) => {
68
68
  const header = req.headers && req.headers['x-forwarded-for'];
69
- return header ? header.split(/\s*,\s*/) : [];
69
+ return header ? header.split(',').map((x) => x.trim()) : [];
70
70
  };
71
71
 
72
72
  /**
@@ -0,0 +1,27 @@
1
+ /**
2
+ Copyright: 2021 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
+ function some(array, predicate) {
16
+ let index = -1;
17
+ const length = array == null ? 0 : array.length;
18
+
19
+ while (++index < length) {
20
+ if (predicate(array[index], index, array)) {
21
+ return true;
22
+ }
23
+ }
24
+ return false;
25
+ }
26
+
27
+ module.exports = some;
@@ -38,7 +38,7 @@ const UP_DIR_LINUX = '../';
38
38
  const UP_DIR_WIN = '..\\';
39
39
  const ENTITY_TYPES = { SYSTEM: 'SYSTEM', PUBLIC: 'PUBLIC' };
40
40
 
41
- const EXTERNAL_RX = /<!ENTITY\s+[a-zA-Z0-f]+\s+(?:SYSTEM|PUBLIC)\s+(?:.*?)>/g;
41
+ const EXTERNAL_RX = /<!ENTITY\s+[a-zA-Z0-f]+\s+(?:SYSTEM|PUBLIC)\s+"(.*?)"\s*>/g;
42
42
  // <!ENTITY name SYSTEM "URI">
43
43
  const SYSTEM_ID_REGEX = /<!ENTITY\s+([a-zA-Z0-9]+)\s+SYSTEM\s+"(.*?)"\s*>/;
44
44
  // <!ENTITY name PUBLIC "public_ID" "URI">
@@ -308,8 +308,8 @@ ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
308
308
  endif
309
309
 
310
310
  quiet_cmd_regen_makefile = ACTION Regenerating $@
311
- cmd_regen_makefile = cd $(srcdir); /opt/hostedtoolcache/node/12.22.6/x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/home/runner/.cache/node-gyp/12.22.6" "-Dnode_gyp_dir=/opt/hostedtoolcache/node/12.22.6/x64/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/home/runner/.cache/node-gyp/12.22.6/<(target_arch)/node.lib" "-Dmodule_root_dir=/home/runner/work/node-agent/node-agent/target/node_modules/unix-dgram" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/home/runner/work/node-agent/node-agent/target/node_modules/unix-dgram/build/config.gypi -I/opt/hostedtoolcache/node/12.22.6/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/home/runner/.cache/node-gyp/12.22.6/include/node/common.gypi "--toplevel-dir=." binding.gyp
312
- Makefile: $(srcdir)/binding.gyp $(srcdir)/../../../../../../../../opt/hostedtoolcache/node/12.22.6/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/../../../../../../.cache/node-gyp/12.22.6/include/node/common.gypi $(srcdir)/build/config.gypi
311
+ cmd_regen_makefile = cd $(srcdir); /opt/hostedtoolcache/node/12.22.7/x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/home/runner/.cache/node-gyp/12.22.7" "-Dnode_gyp_dir=/opt/hostedtoolcache/node/12.22.7/x64/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/home/runner/.cache/node-gyp/12.22.7/<(target_arch)/node.lib" "-Dmodule_root_dir=/home/runner/work/node-agent/node-agent/target/node_modules/unix-dgram" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/home/runner/work/node-agent/node-agent/target/node_modules/unix-dgram/build/config.gypi -I/opt/hostedtoolcache/node/12.22.7/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/home/runner/.cache/node-gyp/12.22.7/include/node/common.gypi "--toplevel-dir=." binding.gyp
312
+ Makefile: $(srcdir)/../../../../../../.cache/node-gyp/12.22.7/include/node/common.gypi $(srcdir)/../../../../../../../../opt/hostedtoolcache/node/12.22.7/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/build/config.gypi $(srcdir)/binding.gyp
313
313
  $(call do_cmd,regen_makefile)
314
314
 
315
315
  # "all" is a concatenation of the "all" targets from all the included
@@ -1,23 +1,23 @@
1
- cmd_Release/obj.target/unix_dgram/src/unix_dgram.o := g++ '-DNODE_GYP_MODULE_NAME=unix_dgram' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DBUILDING_NODE_EXTENSION' -I/home/runner/.cache/node-gyp/12.22.6/include/node -I/home/runner/.cache/node-gyp/12.22.6/src -I/home/runner/.cache/node-gyp/12.22.6/deps/openssl/config -I/home/runner/.cache/node-gyp/12.22.6/deps/openssl/openssl/include -I/home/runner/.cache/node-gyp/12.22.6/deps/uv/include -I/home/runner/.cache/node-gyp/12.22.6/deps/zlib -I/home/runner/.cache/node-gyp/12.22.6/deps/v8/include -I../../nan -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++1y -MMD -MF ./Release/.deps/Release/obj.target/unix_dgram/src/unix_dgram.o.d.raw -c -o Release/obj.target/unix_dgram/src/unix_dgram.o ../src/unix_dgram.cc
1
+ cmd_Release/obj.target/unix_dgram/src/unix_dgram.o := g++ '-DNODE_GYP_MODULE_NAME=unix_dgram' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DBUILDING_NODE_EXTENSION' -I/home/runner/.cache/node-gyp/12.22.7/include/node -I/home/runner/.cache/node-gyp/12.22.7/src -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/config -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/openssl/include -I/home/runner/.cache/node-gyp/12.22.7/deps/uv/include -I/home/runner/.cache/node-gyp/12.22.7/deps/zlib -I/home/runner/.cache/node-gyp/12.22.7/deps/v8/include -I../../nan -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++1y -MMD -MF ./Release/.deps/Release/obj.target/unix_dgram/src/unix_dgram.o.d.raw -c -o Release/obj.target/unix_dgram/src/unix_dgram.o ../src/unix_dgram.cc
2
2
  Release/obj.target/unix_dgram/src/unix_dgram.o: ../src/unix_dgram.cc \
3
3
  ../../nan/nan.h \
4
- /home/runner/.cache/node-gyp/12.22.6/include/node/node_version.h \
5
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv.h \
6
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/errno.h \
7
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/version.h \
8
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/unix.h \
9
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/threadpool.h \
10
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/linux.h \
11
- /home/runner/.cache/node-gyp/12.22.6/include/node/node.h \
12
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8.h \
13
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8-internal.h \
14
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8-version.h \
15
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8config.h \
16
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8-platform.h \
17
- /home/runner/.cache/node-gyp/12.22.6/include/node/node_version.h \
18
- /home/runner/.cache/node-gyp/12.22.6/include/node/node_buffer.h \
19
- /home/runner/.cache/node-gyp/12.22.6/include/node/node.h \
20
- /home/runner/.cache/node-gyp/12.22.6/include/node/node_object_wrap.h \
4
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node_version.h \
5
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv.h \
6
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/errno.h \
7
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/version.h \
8
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/unix.h \
9
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/threadpool.h \
10
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/linux.h \
11
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node.h \
12
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8.h \
13
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8-internal.h \
14
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8-version.h \
15
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8config.h \
16
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8-platform.h \
17
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node_version.h \
18
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node_buffer.h \
19
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node.h \
20
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node_object_wrap.h \
21
21
  ../../nan/nan_callbacks.h ../../nan/nan_callbacks_12_inl.h \
22
22
  ../../nan/nan_maybe_43_inl.h ../../nan/nan_converters.h \
23
23
  ../../nan/nan_converters_43_inl.h ../../nan/nan_new.h \
@@ -26,23 +26,23 @@ Release/obj.target/unix_dgram/src/unix_dgram.o: ../src/unix_dgram.cc \
26
26
  ../../nan/nan_typedarray_contents.h ../../nan/nan_json.h
27
27
  ../src/unix_dgram.cc:
28
28
  ../../nan/nan.h:
29
- /home/runner/.cache/node-gyp/12.22.6/include/node/node_version.h:
30
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv.h:
31
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/errno.h:
32
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/version.h:
33
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/unix.h:
34
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/threadpool.h:
35
- /home/runner/.cache/node-gyp/12.22.6/include/node/uv/linux.h:
36
- /home/runner/.cache/node-gyp/12.22.6/include/node/node.h:
37
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8.h:
38
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8-internal.h:
39
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8-version.h:
40
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8config.h:
41
- /home/runner/.cache/node-gyp/12.22.6/include/node/v8-platform.h:
42
- /home/runner/.cache/node-gyp/12.22.6/include/node/node_version.h:
43
- /home/runner/.cache/node-gyp/12.22.6/include/node/node_buffer.h:
44
- /home/runner/.cache/node-gyp/12.22.6/include/node/node.h:
45
- /home/runner/.cache/node-gyp/12.22.6/include/node/node_object_wrap.h:
29
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node_version.h:
30
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv.h:
31
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/errno.h:
32
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/version.h:
33
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/unix.h:
34
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/threadpool.h:
35
+ /home/runner/.cache/node-gyp/12.22.7/include/node/uv/linux.h:
36
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node.h:
37
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8.h:
38
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8-internal.h:
39
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8-version.h:
40
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8config.h:
41
+ /home/runner/.cache/node-gyp/12.22.7/include/node/v8-platform.h:
42
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node_version.h:
43
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node_buffer.h:
44
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node.h:
45
+ /home/runner/.cache/node-gyp/12.22.7/include/node/node_object_wrap.h:
46
46
  ../../nan/nan_callbacks.h:
47
47
  ../../nan/nan_callbacks_12_inl.h:
48
48
  ../../nan/nan_maybe_43_inl.h:
@@ -76,7 +76,7 @@
76
76
  "v8_use_siphash": 1,
77
77
  "v8_use_snapshot": 1,
78
78
  "want_separate_host_toolset": 0,
79
- "nodedir": "/home/runner/.cache/node-gyp/12.22.6",
79
+ "nodedir": "/home/runner/.cache/node-gyp/12.22.7",
80
80
  "standalone_static_library": 1,
81
81
  "dmode": "493",
82
82
  "cache_lock_stale": "60000",
@@ -84,7 +84,7 @@
84
84
  "legacy_bundling": "",
85
85
  "sign_git_tag": "",
86
86
  "fmode": "420",
87
- "user_agent": "npm/6.14.15 node/v12.22.6 linux x64 ci/github-actions",
87
+ "user_agent": "npm/6.14.15 node/v12.22.7 linux x64 ci/github-actions",
88
88
  "always_auth": "",
89
89
  "bin_links": "true",
90
90
  "key": "",
@@ -126,7 +126,7 @@
126
126
  "progress": "",
127
127
  "https_proxy": "",
128
128
  "save_prod": "",
129
- "npm_session": "122c0d87d87563f8",
129
+ "npm_session": "3f130026df618e76",
130
130
  "audit": "true",
131
131
  "cidr": "",
132
132
  "onload_script": "",
@@ -137,7 +137,7 @@
137
137
  "shell": "bash",
138
138
  "dry_run": "",
139
139
  "format_package_lock": "true",
140
- "prefix": "/opt/hostedtoolcache/node/12.22.6/x64",
140
+ "prefix": "/opt/hostedtoolcache/node/12.22.7/x64",
141
141
  "scope": "",
142
142
  "browser": "",
143
143
  "cache_lock_wait": "10000",
@@ -154,7 +154,7 @@
154
154
  "version": "",
155
155
  "local_address": "",
156
156
  "viewer": "man",
157
- "node_gyp": "/opt/hostedtoolcache/node/12.22.6/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",
157
+ "node_gyp": "/opt/hostedtoolcache/node/12.22.7/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",
158
158
  "audit_level": "low",
159
159
  "prefer_offline": "",
160
160
  "color": "true",
@@ -183,7 +183,7 @@
183
183
  "unsafe_perm": "true",
184
184
  "update_notifier": "true",
185
185
  "auth_type": "legacy",
186
- "node_version": "12.22.6",
186
+ "node_version": "12.22.7",
187
187
  "tag": "latest",
188
188
  "git_tag_version": "true",
189
189
  "commit_hooks": "true",
@@ -193,10 +193,10 @@
193
193
  "save_exact": "",
194
194
  "strict_ssl": "true",
195
195
  "dev": "",
196
- "globalconfig": "/opt/hostedtoolcache/node/12.22.6/x64/etc/npmrc",
196
+ "globalconfig": "/opt/hostedtoolcache/node/12.22.7/x64/etc/npmrc",
197
197
  "init_module": "/home/runner/.npm-init.js",
198
198
  "parseable": "",
199
- "globalignorefile": "/opt/hostedtoolcache/node/12.22.6/x64/etc/npmignore",
199
+ "globalignorefile": "/opt/hostedtoolcache/node/12.22.7/x64/etc/npmignore",
200
200
  "cache_lock_retries": "10",
201
201
  "searchstaleness": "900",
202
202
  "log": "",
@@ -40,13 +40,13 @@ CFLAGS_CC_Debug := \
40
40
  -std=gnu++1y
41
41
 
42
42
  INCS_Debug := \
43
- -I/home/runner/.cache/node-gyp/12.22.6/include/node \
44
- -I/home/runner/.cache/node-gyp/12.22.6/src \
45
- -I/home/runner/.cache/node-gyp/12.22.6/deps/openssl/config \
46
- -I/home/runner/.cache/node-gyp/12.22.6/deps/openssl/openssl/include \
47
- -I/home/runner/.cache/node-gyp/12.22.6/deps/uv/include \
48
- -I/home/runner/.cache/node-gyp/12.22.6/deps/zlib \
49
- -I/home/runner/.cache/node-gyp/12.22.6/deps/v8/include \
43
+ -I/home/runner/.cache/node-gyp/12.22.7/include/node \
44
+ -I/home/runner/.cache/node-gyp/12.22.7/src \
45
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/config \
46
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/openssl/include \
47
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/uv/include \
48
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/zlib \
49
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/v8/include \
50
50
  -I$(srcdir)/../nan
51
51
 
52
52
  DEFS_Release := \
@@ -84,13 +84,13 @@ CFLAGS_CC_Release := \
84
84
  -std=gnu++1y
85
85
 
86
86
  INCS_Release := \
87
- -I/home/runner/.cache/node-gyp/12.22.6/include/node \
88
- -I/home/runner/.cache/node-gyp/12.22.6/src \
89
- -I/home/runner/.cache/node-gyp/12.22.6/deps/openssl/config \
90
- -I/home/runner/.cache/node-gyp/12.22.6/deps/openssl/openssl/include \
91
- -I/home/runner/.cache/node-gyp/12.22.6/deps/uv/include \
92
- -I/home/runner/.cache/node-gyp/12.22.6/deps/zlib \
93
- -I/home/runner/.cache/node-gyp/12.22.6/deps/v8/include \
87
+ -I/home/runner/.cache/node-gyp/12.22.7/include/node \
88
+ -I/home/runner/.cache/node-gyp/12.22.7/src \
89
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/config \
90
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/openssl/include \
91
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/uv/include \
92
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/zlib \
93
+ -I/home/runner/.cache/node-gyp/12.22.7/deps/v8/include \
94
94
  -I$(srcdir)/../nan
95
95
 
96
96
  OBJS := \
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/agent",
3
- "version": "4.4.0-beta.0",
3
+ "version": "4.5.2",
4
4
  "description": "Node.js security instrumentation by Contrast Security",
5
5
  "keywords": [
6
6
  "security",
@@ -74,7 +74,7 @@
74
74
  "@contrast/fn-inspect": "^2.4.2",
75
75
  "@contrast/heapdump": "^1.1.0",
76
76
  "@contrast/protobuf-api": "^3.2.0",
77
- "@contrast/require-hook": "^2.0.4",
77
+ "@contrast/require-hook": "^2.0.5",
78
78
  "@contrast/synchronous-source-maps": "^1.1.0",
79
79
  "amqp-connection-manager": "^3.2.2",
80
80
  "amqplib": "^0.8.0",
@@ -109,6 +109,7 @@
109
109
  "yaml": "^1.10.0"
110
110
  },
111
111
  "devDependencies": {
112
+ "@aws-sdk/client-dynamodb": "^3.39.0",
112
113
  "@bmacnaughton/string-generator": "^1.0.0",
113
114
  "@contrast/eslint-config": "^2.0.1",
114
115
  "@contrast/fake-module": "file:test/mock/contrast-fake",
@@ -129,6 +130,7 @@
129
130
  "config": "^3.3.3",
130
131
  "csv-writer": "^1.2.0",
131
132
  "deasync": "^0.1.20",
133
+ "ejs": "^3.1.6",
132
134
  "escape-html": "^1.0.3",
133
135
  "eslint": "^5.16.0",
134
136
  "eslint-config-prettier": "^6.11.0",