@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.
- package/bin/VERSION +1 -1
- package/bin/linux/contrast-service +0 -0
- package/bin/mac/contrast-service +0 -0
- package/bin/windows/contrast-service.exe +0 -0
- package/lib/assess/hapi/route-coverage.js +3 -3
- package/lib/assess/membrane/index.js +2 -8
- package/lib/assess/membrane/source-membrane.js +3 -4
- package/lib/assess/models/base-event.js +2 -2
- package/lib/assess/models/call-context.js +0 -3
- package/lib/assess/models/tag-range/index.js +6 -16
- package/lib/assess/policy/signatures.json +95 -0
- package/lib/assess/policy/util.js +9 -2
- package/lib/assess/propagators/path/common.js +165 -36
- package/lib/assess/propagators/path/join.js +5 -1
- package/lib/assess/propagators/path/normalize.js +5 -1
- package/lib/assess/propagators/path/resolve.js +11 -2
- package/lib/assess/response-scanning/autocomplete-missing.js +0 -2
- package/lib/assess/response-scanning/parameter-pollution.js +0 -2
- package/lib/assess/sinks/mongodb.js +11 -7
- package/lib/core/arch-components/dynamodb.js +1 -2
- package/lib/core/arch-components/dynamodbv3.js +44 -0
- package/lib/core/arch-components/index.js +1 -0
- package/lib/core/async-storage/hooks/bluebird.js +20 -0
- package/lib/core/express/utils.js +1 -1
- package/lib/core/logger/debug-logger.js +15 -17
- package/lib/core/stacktrace.js +1 -3
- package/lib/feature-set.js +2 -1
- package/lib/hooks/encoding.js +1 -1
- package/lib/hooks/patcher.js +10 -12
- package/lib/protect/analysis/aho-corasick.js +13 -30
- package/lib/protect/rules/cmd-injection-command-backdoors/backdoor-detector.js +3 -3
- package/lib/protect/rules/signatures/reflected-xss/helpers/function-call.js +1 -1
- package/lib/protect/rules/xss/helpers/function-call.js +1 -1
- package/lib/util/clean-stack.js +1 -1
- package/lib/util/clean-string/brackets.js +3 -3
- package/lib/util/clean-string/concatenations.js +1 -1
- package/lib/util/clean-string/util.js +1 -2
- package/lib/util/ip-analyzer.js +1 -1
- package/lib/util/some.js +27 -0
- package/lib/util/xml-analyzer/external-entity-finder.js +1 -1
- package/node_modules/unix-dgram/build/Makefile +2 -2
- package/node_modules/unix-dgram/build/Release/.deps/Release/obj.target/unix_dgram/src/unix_dgram.o.d +35 -35
- package/node_modules/unix-dgram/build/config.gypi +8 -8
- package/node_modules/unix-dgram/build/unix_dgram.target.mk +14 -14
- 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 (
|
|
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
|
|
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
|
-
(
|
|
100
|
-
this.normalizedCmd
|
|
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('[
|
|
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('[
|
|
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
|
}
|
package/lib/util/clean-stack.js
CHANGED
|
@@ -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(/\((
|
|
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
|
|
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
|
|
62
|
-
const match =
|
|
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
|
|
@@ -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
|
|
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);
|
package/lib/util/ip-analyzer.js
CHANGED
|
@@ -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(
|
|
69
|
+
return header ? header.split(',').map((x) => x.trim()) : [];
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
/**
|
package/lib/util/some.js
ADDED
|
@@ -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+(
|
|
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.
|
|
312
|
-
Makefile: $(srcdir)/
|
|
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
|
package/node_modules/unix-dgram/build/Release/.deps/Release/obj.target/unix_dgram/src/unix_dgram.o.d
CHANGED
|
@@ -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.
|
|
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.
|
|
5
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
6
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
7
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
8
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
9
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
10
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
11
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
12
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
13
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
14
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
15
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
16
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
17
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
18
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
19
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
20
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
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.
|
|
30
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
31
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
32
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
33
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
34
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
35
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
36
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
37
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
38
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
39
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
40
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
41
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
42
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
43
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
44
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
45
|
-
/home/runner/.cache/node-gyp/12.22.
|
|
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.
|
|
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.
|
|
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": "
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
44
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
45
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
46
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
47
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
48
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
49
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
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.
|
|
88
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
89
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
90
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
91
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
92
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
93
|
-
-I/home/runner/.cache/node-gyp/12.22.
|
|
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.
|
|
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.
|
|
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",
|