@contrast/agent-bundle 5.40.0 → 5.42.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.
Files changed (290) hide show
  1. package/node_modules/@contrast/agent/package.json +12 -11
  2. package/node_modules/@contrast/agent-swc-plugin/index.js +9 -3
  3. package/node_modules/@contrast/agent-swc-plugin/methods.js +15 -1
  4. package/node_modules/@contrast/agent-swc-plugin/package.json +5 -8
  5. package/node_modules/@contrast/agent-swc-plugin/rewriter.wasm +0 -0
  6. package/node_modules/@contrast/agentify/lib/index.js +2 -2
  7. package/node_modules/@contrast/agentify/package.json +15 -14
  8. package/node_modules/@contrast/architecture-components/package.json +5 -5
  9. package/node_modules/@contrast/assess/lib/dataflow/propagation/install/util-format.js +44 -21
  10. package/node_modules/@contrast/assess/lib/dataflow/sources/install/body-parser.js +1 -1
  11. package/node_modules/@contrast/assess/lib/dataflow/sources/install/koa/koa-bodyparsers.js +3 -1
  12. package/node_modules/@contrast/assess/lib/dataflow/sources/install/qs6.js +5 -5
  13. package/node_modules/@contrast/assess/lib/dataflow/sources/install/querystring.js +2 -1
  14. package/node_modules/@contrast/assess/lib/index.d.ts +0 -1
  15. package/node_modules/@contrast/assess/lib/make-source-context.js +7 -37
  16. package/node_modules/@contrast/assess/lib/sampler/common.js +7 -11
  17. package/node_modules/@contrast/assess/package.json +12 -11
  18. package/node_modules/@contrast/common/lib/types.d.ts +7 -1
  19. package/node_modules/@contrast/common/package.json +1 -1
  20. package/node_modules/@contrast/config/lib/common.js +1 -1
  21. package/node_modules/@contrast/config/lib/config.js +49 -27
  22. package/node_modules/@contrast/config/lib/index.d.ts +2 -2
  23. package/node_modules/@contrast/config/lib/options.js +4 -4
  24. package/node_modules/@contrast/config/package.json +4 -3
  25. package/node_modules/@contrast/core/lib/sensitive-data-masking/protect-listener.js +15 -15
  26. package/node_modules/@contrast/core/package.json +6 -6
  27. package/node_modules/@contrast/deadzones/package.json +5 -5
  28. package/node_modules/@contrast/dep-hooks/package.json +3 -3
  29. package/node_modules/@contrast/esm-hooks/package.json +6 -6
  30. package/node_modules/@contrast/instrumentation/lib/index.js +0 -1
  31. package/node_modules/@contrast/instrumentation/package.json +5 -5
  32. package/node_modules/@contrast/library-analysis/lib/install/library-reporting/dep.json +298 -148
  33. package/node_modules/@contrast/library-analysis/package.json +4 -4
  34. package/node_modules/@contrast/logger/lib/serializers.js +2 -2
  35. package/node_modules/@contrast/logger/package.json +3 -3
  36. package/node_modules/@contrast/metrics/package.json +6 -6
  37. package/node_modules/@contrast/patcher/package.json +2 -2
  38. package/node_modules/@contrast/protect/lib/get-source-context.js +3 -1
  39. package/node_modules/@contrast/protect/lib/index.js +6 -1
  40. package/node_modules/@contrast/protect/lib/input-analysis/handlers.js +7 -9
  41. package/node_modules/@contrast/protect/lib/input-analysis/install/http.js +18 -19
  42. package/node_modules/@contrast/protect/lib/input-analysis/install/qs6.js +18 -17
  43. package/node_modules/@contrast/protect/lib/input-analysis/install/universal-cookie4.js +2 -3
  44. package/node_modules/@contrast/protect/lib/make-source-context.js +22 -66
  45. package/node_modules/@contrast/protect/lib/semantic-analysis/handlers.js +73 -72
  46. package/node_modules/@contrast/protect/package.json +11 -11
  47. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/application-activity/index.js +7 -7
  48. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/application-activity/translations.d.ts +3 -3
  49. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/application-activity/translations.js +24 -21
  50. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/index.d.ts +11 -11
  51. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/index.js +76 -86
  52. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/translations.d.ts +1 -2
  53. package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/translations.js +8 -2
  54. package/node_modules/@contrast/reporter/lib/reporters/security-logger/index.d.ts +2 -2
  55. package/node_modules/@contrast/reporter/lib/reporters/security-logger/index.js +22 -20
  56. package/node_modules/@contrast/reporter/package.json +7 -7
  57. package/node_modules/@contrast/rewriter/lib/index.js +2 -2
  58. package/node_modules/@contrast/rewriter/package.json +6 -6
  59. package/node_modules/@contrast/route-coverage/lib/index.js +1 -9
  60. package/node_modules/@contrast/route-coverage/lib/install/express/express5.js +17 -19
  61. package/node_modules/@contrast/route-coverage/lib/install/hapi.js +9 -2
  62. package/node_modules/@contrast/route-coverage/package.json +8 -8
  63. package/node_modules/@contrast/scopes/package.json +5 -5
  64. package/node_modules/@contrast/sec-obs/lib/traces/http.js +2 -2
  65. package/node_modules/@contrast/sec-obs/lib/traces/http.test.js +17 -0
  66. package/node_modules/@contrast/sec-obs/lib/traces/outbound-service-call.js +2 -2
  67. package/node_modules/@contrast/sec-obs/lib/traces/outbound-service-call.test.js +17 -0
  68. package/node_modules/@contrast/sec-obs/package.json +9 -9
  69. package/node_modules/@contrast/sources/lib/index.js +109 -0
  70. package/node_modules/@contrast/sources/lib/index.test.js +120 -0
  71. package/node_modules/@contrast/{route-coverage/lib/normalized-url-mapper.js → sources/lib/normalized-uri-mapper.js} +10 -3
  72. package/node_modules/@contrast/sources/lib/normalized-uri-mapper.test.js +59 -0
  73. package/node_modules/@contrast/{sec-obs/node_modules/@contrast/core/lib/sensitive-data-masking/constants.js → sources/lib/req-data.js} +0 -6
  74. package/node_modules/@contrast/sources/lib/source-info.js +183 -0
  75. package/node_modules/@contrast/sources/lib/source-info.test.js +68 -0
  76. package/node_modules/@contrast/sources/package.json +16 -0
  77. package/node_modules/@contrast/telemetry/package.json +6 -6
  78. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.d.ts +2831 -77
  79. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js +2831 -77
  80. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js.map +1 -1
  81. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.d.ts +415 -98
  82. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js +415 -98
  83. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js.map +1 -1
  84. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.d.ts +106 -0
  85. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +106 -0
  86. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +1 -1
  87. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.d.ts +1 -1
  88. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js +1 -1
  89. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js.map +1 -1
  90. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.d.ts +2831 -77
  91. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js +2831 -77
  92. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js.map +1 -1
  93. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.d.ts +415 -98
  94. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js +415 -98
  95. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js.map +1 -1
  96. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.d.ts +106 -0
  97. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js +106 -0
  98. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js.map +1 -1
  99. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.d.ts +1 -1
  100. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js +1 -1
  101. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js.map +1 -1
  102. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.d.ts +2831 -77
  103. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js +2858 -103
  104. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js.map +1 -1
  105. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.d.ts +415 -98
  106. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js +420 -102
  107. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js.map +1 -1
  108. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.d.ts +106 -0
  109. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js +106 -0
  110. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js.map +1 -1
  111. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.d.ts +1 -1
  112. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js +1 -1
  113. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js.map +1 -1
  114. package/node_modules/@opentelemetry/semantic-conventions/package.json +3 -3
  115. package/node_modules/@swc/types/index.d.ts +3 -2
  116. package/node_modules/@swc/types/package.json +1 -1
  117. package/node_modules/@types/node/README.md +2 -2
  118. package/node_modules/@types/node/crypto.d.ts +17 -1
  119. package/node_modules/@types/node/fs/promises.d.ts +7 -3
  120. package/node_modules/@types/node/fs.d.ts +11 -1
  121. package/node_modules/@types/node/http.d.ts +4 -19
  122. package/node_modules/@types/node/http2.d.ts +13 -11
  123. package/node_modules/@types/node/inspector.d.ts +163 -6
  124. package/node_modules/@types/node/module.d.ts +24 -0
  125. package/node_modules/@types/node/package.json +4 -89
  126. package/node_modules/@types/node/perf_hooks.d.ts +14 -0
  127. package/node_modules/@types/node/repl.d.ts +11 -1
  128. package/node_modules/@types/node/sqlite.d.ts +0 -1
  129. package/node_modules/@types/node/stream/web.d.ts +4 -0
  130. package/node_modules/@types/node/stream.d.ts +17 -6
  131. package/node_modules/@types/node/test.d.ts +16 -1
  132. package/node_modules/@types/node/timers.d.ts +0 -2
  133. package/node_modules/@types/node/url.d.ts +1 -1
  134. package/node_modules/@types/node/util.d.ts +6 -2
  135. package/node_modules/@types/node/worker_threads.d.ts +12 -0
  136. package/node_modules/@types/node/zlib.d.ts +8 -2
  137. package/node_modules/axios/CHANGELOG.md +17 -0
  138. package/node_modules/axios/README.md +1 -4
  139. package/node_modules/axios/dist/axios.js +39 -5
  140. package/node_modules/axios/dist/axios.js.map +1 -1
  141. package/node_modules/axios/dist/axios.min.js +2 -2
  142. package/node_modules/axios/dist/axios.min.js.map +1 -1
  143. package/node_modules/axios/dist/browser/axios.cjs +46 -9
  144. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  145. package/node_modules/axios/dist/esm/axios.js +46 -9
  146. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  147. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  148. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  149. package/node_modules/axios/dist/node/axios.cjs +46 -9
  150. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  151. package/node_modules/axios/index.d.cts +13 -2
  152. package/node_modules/axios/lib/core/Axios.js +2 -2
  153. package/node_modules/axios/lib/core/mergeConfig.js +1 -1
  154. package/node_modules/axios/lib/env/data.js +1 -1
  155. package/node_modules/axios/lib/helpers/throttle.js +1 -1
  156. package/node_modules/axios/lib/helpers/toURLEncodedForm.js +4 -3
  157. package/node_modules/axios/lib/utils.js +36 -0
  158. package/node_modules/axios/package.json +5 -5
  159. package/node_modules/deepmerge/.editorconfig +7 -0
  160. package/node_modules/deepmerge/.eslintcache +1 -0
  161. package/node_modules/deepmerge/changelog.md +167 -0
  162. package/node_modules/deepmerge/dist/cjs.js +133 -0
  163. package/node_modules/deepmerge/dist/umd.js +139 -0
  164. package/node_modules/deepmerge/index.d.ts +20 -0
  165. package/node_modules/deepmerge/index.js +106 -0
  166. package/node_modules/deepmerge/license.txt +21 -0
  167. package/node_modules/deepmerge/package.json +42 -0
  168. package/node_modules/deepmerge/readme.md +264 -0
  169. package/node_modules/deepmerge/rollup.config.js +22 -0
  170. package/node_modules/follow-redirects/package.json +1 -1
  171. package/node_modules/form-data/CHANGELOG.md +601 -0
  172. package/node_modules/form-data/{Readme.md → README.md} +4 -4
  173. package/node_modules/form-data/lib/form_data.js +2 -6
  174. package/node_modules/form-data/package.json +22 -6
  175. package/node_modules/nan/.github/workflows/ci.yml +8 -10
  176. package/node_modules/nan/.pre-commit-config.yaml +8 -0
  177. package/node_modules/nan/CHANGELOG.md +5 -1
  178. package/node_modules/nan/README.md +4 -4
  179. package/node_modules/nan/nan.h +16 -12
  180. package/node_modules/nan/nan_callbacks.h +13 -0
  181. package/node_modules/nan/nan_callbacks_12_inl.h +16 -2
  182. package/node_modules/nan/nan_callbacks_pre_12_inl.h +6 -2
  183. package/node_modules/nan/nan_maybe_43_inl.h +1 -1
  184. package/node_modules/nan/nan_maybe_pre_43_inl.h +1 -1
  185. package/node_modules/nan/nan_scriptorigin.h +11 -9
  186. package/node_modules/nan/nan_typedarray_contents.h +1 -1
  187. package/node_modules/nan/package.json +2 -2
  188. package/node_modules/undici-types/agent.d.ts +4 -0
  189. package/node_modules/undici-types/client-stats.d.ts +15 -0
  190. package/node_modules/undici-types/client.d.ts +6 -3
  191. package/node_modules/undici-types/mock-agent.d.ts +3 -0
  192. package/node_modules/undici-types/package.json +1 -1
  193. package/node_modules/undici-types/pool.d.ts +2 -0
  194. package/node_modules/undici-types/proxy-agent.d.ts +1 -0
  195. package/node_modules/yaml/README.md +2 -20
  196. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +1 -1
  197. package/node_modules/yaml/dist/stringify/stringifyString.js +1 -1
  198. package/node_modules/yaml/package.json +2 -1
  199. package/package.json +3 -2
  200. package/node_modules/@contrast/agentify/lib/sources.js +0 -95
  201. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/LICENSE +0 -12
  202. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/lib/constants.d.ts +0 -385
  203. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/lib/constants.js +0 -270
  204. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/lib/index.d.ts +0 -40
  205. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/lib/index.js +0 -228
  206. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/lib/primordials.d.ts +0 -65
  207. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/lib/primordials.js +0 -66
  208. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/lib/types.d.ts +0 -383
  209. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/lib/types.js +0 -30
  210. package/node_modules/@contrast/sec-obs/node_modules/@contrast/common/package.json +0 -23
  211. package/node_modules/@contrast/sec-obs/node_modules/@contrast/config/LICENSE +0 -12
  212. package/node_modules/@contrast/sec-obs/node_modules/@contrast/config/README.md +0 -44
  213. package/node_modules/@contrast/sec-obs/node_modules/@contrast/config/lib/common.js +0 -131
  214. package/node_modules/@contrast/sec-obs/node_modules/@contrast/config/lib/config.js +0 -290
  215. package/node_modules/@contrast/sec-obs/node_modules/@contrast/config/lib/index.d.ts +0 -328
  216. package/node_modules/@contrast/sec-obs/node_modules/@contrast/config/lib/index.js +0 -29
  217. package/node_modules/@contrast/sec-obs/node_modules/@contrast/config/lib/options.js +0 -836
  218. package/node_modules/@contrast/sec-obs/node_modules/@contrast/config/lib/validators.js +0 -23
  219. package/node_modules/@contrast/sec-obs/node_modules/@contrast/config/package.json +0 -27
  220. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/LICENSE +0 -12
  221. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/README.md +0 -98
  222. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/agent-info.js +0 -36
  223. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/app-info.js +0 -233
  224. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/build-id.js +0 -51
  225. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/capture-stacktrace.js +0 -256
  226. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/contrast-methods.js +0 -155
  227. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/index.d.ts +0 -52
  228. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/ioc/core.js +0 -95
  229. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/is-agent-path.js +0 -37
  230. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/messages.js +0 -28
  231. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/sensitive-data-masking/index.js +0 -63
  232. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/sensitive-data-masking/protect-listener.js +0 -111
  233. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/sensitive-data-masking/server-settings-listener.js +0 -44
  234. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/system-info/cloud-provider-metadata.js +0 -146
  235. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/system-info/index.js +0 -225
  236. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/system-info/linux-os-info.js +0 -137
  237. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/lib/system-info/utils.js +0 -35
  238. package/node_modules/@contrast/sec-obs/node_modules/@contrast/core/package.json +0 -33
  239. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/LICENSE +0 -12
  240. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/README.md +0 -94
  241. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/export-handler-registry.d.ts +0 -121
  242. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/export-handler-registry.js +0 -206
  243. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/export-hook-descriptor.d.ts +0 -72
  244. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/export-hook-descriptor.js +0 -88
  245. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/handler-invoker.d.ts +0 -46
  246. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/handler-invoker.js +0 -106
  247. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/helpers.d.ts +0 -28
  248. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/helpers.js +0 -66
  249. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/index.d.ts +0 -115
  250. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/index.js +0 -208
  251. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/package-finder.d.ts +0 -43
  252. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/lib/package-finder.js +0 -79
  253. package/node_modules/@contrast/sec-obs/node_modules/@contrast/dep-hooks/package.json +0 -29
  254. package/node_modules/@contrast/sec-obs/node_modules/@contrast/logger/LICENSE +0 -12
  255. package/node_modules/@contrast/sec-obs/node_modules/@contrast/logger/README.md +0 -270
  256. package/node_modules/@contrast/sec-obs/node_modules/@contrast/logger/lib/index.d.ts +0 -16
  257. package/node_modules/@contrast/sec-obs/node_modules/@contrast/logger/lib/index.js +0 -132
  258. package/node_modules/@contrast/sec-obs/node_modules/@contrast/logger/lib/serializers.d.ts +0 -33
  259. package/node_modules/@contrast/sec-obs/node_modules/@contrast/logger/lib/serializers.js +0 -75
  260. package/node_modules/@contrast/sec-obs/node_modules/@contrast/logger/lib/utils.d.ts +0 -15
  261. package/node_modules/@contrast/sec-obs/node_modules/@contrast/logger/lib/utils.js +0 -34
  262. package/node_modules/@contrast/sec-obs/node_modules/@contrast/logger/package.json +0 -28
  263. package/node_modules/@contrast/sec-obs/node_modules/@contrast/patcher/LICENSE +0 -12
  264. package/node_modules/@contrast/sec-obs/node_modules/@contrast/patcher/README.md +0 -51
  265. package/node_modules/@contrast/sec-obs/node_modules/@contrast/patcher/lib/index.d.ts +0 -101
  266. package/node_modules/@contrast/sec-obs/node_modules/@contrast/patcher/lib/index.js +0 -544
  267. package/node_modules/@contrast/sec-obs/node_modules/@contrast/patcher/package.json +0 -25
  268. package/node_modules/@contrast/sec-obs/node_modules/@contrast/rewriter/LICENSE +0 -12
  269. package/node_modules/@contrast/sec-obs/node_modules/@contrast/rewriter/README.md +0 -6
  270. package/node_modules/@contrast/sec-obs/node_modules/@contrast/rewriter/lib/cache.js +0 -318
  271. package/node_modules/@contrast/sec-obs/node_modules/@contrast/rewriter/lib/index.js +0 -216
  272. package/node_modules/@contrast/sec-obs/node_modules/@contrast/rewriter/lib/rewrite-is-deadzoned.js +0 -143
  273. package/node_modules/@contrast/sec-obs/node_modules/@contrast/rewriter/package.json +0 -30
  274. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/LICENSE +0 -12
  275. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/constants.js +0 -26
  276. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/index.d.ts +0 -46
  277. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/index.js +0 -70
  278. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/install/bluebird.js +0 -128
  279. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/install/index.js +0 -34
  280. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/install/mongodb-core.js +0 -83
  281. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/install/mongodb3.js +0 -89
  282. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/install/mongodb4.js +0 -80
  283. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/install/mongodb6.js +0 -46
  284. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/install/mysql.js +0 -151
  285. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/install/redis.js +0 -79
  286. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/lib/utils.js +0 -35
  287. package/node_modules/@contrast/sec-obs/node_modules/@contrast/scopes/package.json +0 -28
  288. package/node_modules/@types/node/ts5.1/compatibility/disposable.d.ts +0 -12
  289. package/node_modules/@types/node/ts5.1/index.d.ts +0 -98
  290. package/node_modules/form-data/README.md.bak +0 -355
@@ -12,13 +12,14 @@
12
12
  * engineered, modified, repackaged, sold, redistributed or otherwise used in a
13
13
  * way not consistent with the End User License Agreement.
14
14
  */
15
-
15
+ // @ts-check
16
16
  'use strict';
17
17
 
18
18
  const process = require('process');
19
19
  const path = require('path');
20
20
  const fs = require('fs');
21
21
  const os = require('os');
22
+ const merge = require('deepmerge');
22
23
  const yaml = require('yaml');
23
24
  const { Event, get, set, primordials: { ArrayPrototypeJoin, StringPrototypeToUpperCase, JSONParse } } = require('@contrast/common');
24
25
  const options = require('./options');
@@ -42,12 +43,14 @@ const OS_CONFIG_DIR = os.platform() === 'win32'
42
43
  const REDACTED_KEYS = ['api.api_key', 'api.service_key', 'api.token'];
43
44
  const OVERRIDABLE_SOURCES = [DEFAULT_VALUE, CONTRAST_UI];
44
45
 
46
+ // Overwrites the existing array values completely rather than concatenating them.
47
+ const arrayMerge = (target, source, options) => source;
45
48
  const isValid = (opt) => opt !== undefined && opt !== null && opt !== '';
46
49
 
47
50
  module.exports = class Config {
48
51
  constructor(core) {
49
52
  // internals
50
- this._filepath = '';
53
+ this._filepaths = [];
51
54
  this._errors = [];
52
55
  this._effectiveMap = new Map();
53
56
  this._status = '';
@@ -74,6 +77,7 @@ module.exports = class Config {
74
77
  disabled_rules: ''
75
78
  };
76
79
  this.server = {};
80
+ this.preinstrument = false;
77
81
 
78
82
  // initialize
79
83
  this._build();
@@ -138,53 +142,65 @@ module.exports = class Config {
138
142
  }
139
143
 
140
144
  /**
141
- * Returns the locations to search for configuration files. Being a function
142
- * allows us to stub these locations within tests.
145
+ * Returns the locations to search for configuration files as an array of
146
+ * arrays where each inner array contains a set of files to be merged in order of precedence.
147
+ * Being a function allows us to stub these locations within tests.
143
148
  */
144
149
  _configDirs() {
145
- return [
146
- process.cwd(),
150
+ return [[
151
+ process.cwd()
152
+ ], [
147
153
  path.resolve(OS_CONFIG_DIR, 'node'),
148
154
  OS_CONFIG_DIR,
155
+ ], [
149
156
  path.resolve(HOME_CONFIG_DIR, 'node'),
150
157
  HOME_CONFIG_DIR,
151
- ];
158
+ ]];
152
159
  }
153
160
 
154
161
  _initFile() {
155
162
  let fileConfig = {};
156
163
 
157
- this._filepath = process.env[CONTRAST_CONFIG_PATH];
158
-
159
- if (!this._filepath) {
160
- for (const dir of this._configDirs()) {
161
- const currentPath = path.resolve(dir, 'contrast_security.yaml');
162
- if (fs.existsSync(currentPath)) {
163
- this._filepath = currentPath;
164
- break;
164
+ if (process.env[CONTRAST_CONFIG_PATH]) {
165
+ // deliberately ignore /dev/null (linux) and \\.\\nul (windows)
166
+ if (process.env[CONTRAST_CONFIG_PATH] === os.devNull) return fileConfig;
167
+
168
+ this._filepaths = [process.env[CONTRAST_CONFIG_PATH]];
169
+ } else {
170
+ for (const dirs of this._configDirs()) {
171
+ for (const dir of dirs) {
172
+ const currentPath = path.resolve(dir, 'contrast_security.yaml');
173
+ if (fs.existsSync(currentPath)) {
174
+ this._filepaths.push(currentPath);
175
+ }
165
176
  }
177
+ if (this._filepaths.length > 0) break;
166
178
  }
167
179
  }
168
180
 
169
- const { _filepath } = this;
170
-
171
- // deliberately ignore /dev/null (linux) and \\.\\nul (windows)
172
- if (_filepath && _filepath !== os.devNull) {
181
+ for (const filepath of this._filepaths) {
173
182
  let fileContents;
174
183
 
175
184
  try {
176
- fileContents = fs.readFileSync(_filepath, 'utf-8');
185
+ fileContents = fs.readFileSync(filepath, 'utf-8');
177
186
  } catch (e) {
178
- const err = new Error(`Unable to read Contrast configuration file: '${_filepath}'`);
187
+ const err = new Error(`Unable to read Contrast configuration file: '${filepath}'`);
179
188
  err.cause = e;
180
189
  this._errors.push(err);
181
190
  }
182
191
 
183
192
  if (fileContents) {
184
193
  try {
185
- fileConfig = yaml.parse(fileContents, { prettyErrors: true });
194
+ const yamlConfig = yaml.parse(fileContents, { prettyErrors: true });
195
+
196
+ if (yamlConfig.root) {
197
+ this._filepaths = [filepath];
198
+ return yamlConfig;
199
+ } else {
200
+ fileConfig = merge(yamlConfig, fileConfig, { arrayMerge });
201
+ }
186
202
  } catch (e) {
187
- const err = new Error(`Contrast configuration file is malformed: '${_filepath}'`);
203
+ const err = new Error(`Contrast configuration file is malformed: '${filepath}'`);
188
204
  this._errors.push(err);
189
205
  err.cause = e;
190
206
  }
@@ -229,7 +245,11 @@ module.exports = class Config {
229
245
  }
230
246
 
231
247
  // this is not a common config value
232
- this.setValue('preinstrument', !!process.env.CONTRAST_PREINSTRUMENT, ConfigSource.ENVIRONMENT_VARIABLE);
248
+ this.setValue(
249
+ 'preinstrument',
250
+ !!process.env.CONTRAST_PREINSTRUMENT,
251
+ process.env.CONTRAST_PREINSTRUMENT ? ConfigSource.ENVIRONMENT_VARIABLE : ConfigSource.DEFAULT_VALUE,
252
+ );
233
253
  }
234
254
 
235
255
  _redact(name, value) {
@@ -247,7 +267,7 @@ module.exports = class Config {
247
267
  }
248
268
  }
249
269
 
250
- getReport({ redact = true }) {
270
+ getReport({ redact = true, stringify = true } = {}) {
251
271
  const report = {
252
272
  report_create: new Date(),
253
273
  config: {
@@ -257,10 +277,12 @@ module.exports = class Config {
257
277
  const effective_config = [], environment_variable = [], contrast_ui = [];
258
278
 
259
279
  Array.from(this._effectiveMap.values()).forEach((v) => {
260
- let { value, name, canonical_name, source } = v;
280
+ let { value } = v;
261
281
  if (value === null) return;
282
+
283
+ const { name, canonical_name, source } = v;
262
284
  if (redact) value = this._redact(name, value);
263
- value = String(value);
285
+ if (stringify) value = String(value);
264
286
 
265
287
  effective_config.push({ value, name, canonical_name, source });
266
288
 
@@ -52,7 +52,7 @@ export interface ConfigOption<T> {
52
52
  }
53
53
 
54
54
  export interface Config {
55
- _filepath: string;
55
+ _filepaths: string[];
56
56
  _effectiveMap: Map<string, EffectiveEntry<any>>;
57
57
  _errors: Error[];
58
58
  _status: string,
@@ -320,7 +320,7 @@ export interface Config {
320
320
  };
321
321
  getEffectiveSource(cannonicalName: string): string;
322
322
  getEffectiveValue<T = any>(cannonicalName: string): T;
323
- getReport({ redact: boolean }): any;
323
+ getReport(opts?: { redact?: boolean, stringify?: boolean }): any;
324
324
  setValue<T = any>(name: string, value: T, source: string): void;
325
325
  }
326
326
 
@@ -194,25 +194,25 @@ const options = [
194
194
  },
195
195
  {
196
196
  name: 'api.certificate.ca_file',
197
- description: 'Set the absolute or relative path to a CA for communication with the Contrast UI using a self-signed certificate.',
197
+ desc: 'Set the absolute or relative path to a CA for communication with the Contrast UI using a self-signed certificate.',
198
198
  arg: '<path>',
199
199
  fn: toAbsolutePath,
200
200
  },
201
201
  {
202
202
  name: 'api.certificate.cert_file',
203
- description: 'Set the absolute or relative path to the Certificate PEM file for communication with the Contrast UI.',
203
+ desc: 'Set the absolute or relative path to the Certificate PEM file for communication with the Contrast UI.',
204
204
  arg: '<path>',
205
205
  fn: toAbsolutePath,
206
206
  },
207
207
  {
208
208
  name: 'api.certificate.key_file',
209
- description: 'Set the absolute or relative path to the Key PEM file for communication with the Contrast UI.',
209
+ desc: 'Set the absolute or relative path to the Key PEM file for communication with the Contrast UI.',
210
210
  arg: '<path>',
211
211
  fn: toAbsolutePath,
212
212
  },
213
213
  {
214
214
  name: 'api.certificate.ignore_cert_errors',
215
- description: 'When set to `true`, the agent ignores certificate verification errors when the agent communicates with the Contrast UI.',
215
+ desc: 'When set to `true`, the agent ignores certificate verification errors when the agent communicates with the Contrast UI.',
216
216
  arg: '[true]',
217
217
  default: false,
218
218
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/config",
3
- "version": "1.49.2",
3
+ "version": "1.50.0",
4
4
  "description": "An API for discovering Contrast agent configuration data",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",
@@ -20,8 +20,9 @@
20
20
  "test": "bash ../scripts/test.sh"
21
21
  },
22
22
  "dependencies": {
23
- "@contrast/common": "1.34.2",
24
- "@contrast/core": "1.54.2",
23
+ "@contrast/common": "1.35.0",
24
+ "@contrast/core": "1.55.0",
25
+ "deepmerge": "^4.3.1",
25
26
  "yaml": "^2.2.2"
26
27
  }
27
28
  }
@@ -27,8 +27,8 @@ module.exports = function (core) {
27
27
  sensitiveDataMasking: { policy, getRedactedText, traverseAndMask },
28
28
  } = core;
29
29
 
30
- messages.on(Event.PROTECT, (msg) => {
31
- if (!msg.protect || !policy.keywordSets.length) {
30
+ messages.on(Event.PROTECT, (store) => {
31
+ if (!store.protect || !policy.keywordSets.length || !store.sourceInfo) {
32
32
  return;
33
33
  }
34
34
 
@@ -36,33 +36,33 @@ module.exports = function (core) {
36
36
 
37
37
  const unmasked = policy.maskAttackVector ? new Set() : undefined;
38
38
  if (policy.maskHttpBody) {
39
- msg.protect.parsedBody = `${CONTRAST_REDACTED}-body`;
39
+ store.protect.parsedBody = `${CONTRAST_REDACTED}-body`;
40
40
  } else {
41
- traverseAndMask(msg.protect?.parsedBody, unmasked);
41
+ traverseAndMask(store.protect?.parsedBody, unmasked);
42
42
  }
43
43
 
44
- traverseAndMask(msg.protect?.parsedCookies, unmasked);
45
- traverseAndMask(msg.protect?.parsedQuery, unmasked);
44
+ traverseAndMask(store.protect?.parsedCookies, unmasked);
45
+ traverseAndMask(store.protect?.parsedQuery, unmasked);
46
46
 
47
47
  // Do parsed URL path params and urlPath together
48
- const params = msg.protect?.parsedParams;
48
+ const params = store.protect?.parsedParams;
49
49
  if (params) {
50
50
  for (const [key, value] of Object.entries(params)) {
51
51
  const redactedText = getRedactedText(key);
52
52
  if (redactedText) {
53
53
  const encoded = encodeURIComponent(value);
54
- msg.protect.reqData.uriPath = StringPrototypeReplace.call(
55
- msg.protect.reqData.uriPath,
54
+ store.sourceInfo.uriPath = StringPrototypeReplace.call(
55
+ store.sourceInfo.uriPath,
56
56
  encoded,
57
57
  redactedText
58
58
  );
59
- msg.protect.parsedParams[key] = redactedText;
59
+ store.protect.parsedParams[key] = redactedText;
60
60
  }
61
61
  }
62
62
  }
63
63
 
64
64
  // raw headers
65
- const headers = msg.protect?.reqData.headers;
65
+ const headers = store.sourceInfo.rawHeaders;
66
66
  for (let i = 0; i <= headers.length - 2; i += 2) {
67
67
  const key = headers[i];
68
68
 
@@ -73,20 +73,20 @@ module.exports = function (core) {
73
73
  }
74
74
 
75
75
  // raw queries
76
- if (msg.protect?.reqData?.queries) {
77
- const searchParams = new URLSearchParams(msg.protect.reqData.queries);
76
+ if (store.sourceInfo?.queries) {
77
+ const searchParams = new URLSearchParams(store.sourceInfo.queries);
78
78
  for (const [key] of searchParams) {
79
79
  const redactedText = getRedactedText(key);
80
80
  if (redactedText) {
81
81
  searchParams.set(key, redactedText);
82
82
  }
83
83
  }
84
- msg.protect.reqData.queries = searchParams.toString();
84
+ store.sourceInfo.queries = searchParams.toString();
85
85
  }
86
86
 
87
87
  if (policy.maskAttackVector) {
88
88
  // attack values
89
- const inputAnalysis = Object.entries(msg.protect?.resultsMap);
89
+ const inputAnalysis = Object.entries(store.protect?.resultsMap);
90
90
  for (const [, results] of inputAnalysis) {
91
91
  for (const result of results) {
92
92
  const redactedText = getRedactedText(result.key);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/core",
3
- "version": "1.54.2",
3
+ "version": "1.55.0",
4
4
  "description": "Preconfigured Contrast agent core services and models",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",
@@ -19,15 +19,15 @@
19
19
  "test": "bash ../scripts/test.sh"
20
20
  },
21
21
  "dependencies": {
22
- "@contrast/common": "1.34.2",
23
- "@contrast/config": "1.49.2",
22
+ "@contrast/common": "1.35.0",
23
+ "@contrast/config": "1.50.0",
24
24
  "@contrast/find-package-json": "^1.1.0",
25
25
  "@contrast/fn-inspect": "^4.3.0",
26
- "@contrast/logger": "1.27.2",
27
- "@contrast/patcher": "1.26.2",
26
+ "@contrast/logger": "1.28.0",
27
+ "@contrast/patcher": "1.27.0",
28
28
  "@contrast/perf": "1.3.1",
29
29
  "@tsxper/crc32": "^2.1.3",
30
- "axios": "^1.7.4",
30
+ "axios": "^1.11.0",
31
31
  "semver": "^7.6.0"
32
32
  }
33
33
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/deadzones",
3
- "version": "1.26.2",
3
+ "version": "1.27.0",
4
4
  "description": "Configures Contrast agent services and instrumentation within an application",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",
@@ -20,9 +20,9 @@
20
20
  "test": "bash ../scripts/test.sh"
21
21
  },
22
22
  "dependencies": {
23
- "@contrast/common": "1.34.2",
24
- "@contrast/dep-hooks": "1.23.2",
25
- "@contrast/patcher": "1.26.2",
26
- "@contrast/scopes": "1.24.2"
23
+ "@contrast/common": "1.35.0",
24
+ "@contrast/dep-hooks": "1.24.0",
25
+ "@contrast/patcher": "1.27.0",
26
+ "@contrast/scopes": "1.25.0"
27
27
  }
28
28
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/dep-hooks",
3
- "version": "1.23.2",
3
+ "version": "1.24.0",
4
4
  "description": "Post hooks for Module.prototype.require",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",
@@ -21,9 +21,9 @@
21
21
  "test": "bash ../scripts/test.sh"
22
22
  },
23
23
  "dependencies": {
24
- "@contrast/common": "1.34.2",
24
+ "@contrast/common": "1.35.0",
25
25
  "@contrast/find-package-json": "^1.1.0",
26
- "@contrast/logger": "1.27.2",
26
+ "@contrast/logger": "1.28.0",
27
27
  "semver": "^7.6.3"
28
28
  }
29
29
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/esm-hooks",
3
- "version": "2.28.2",
3
+ "version": "2.29.0",
4
4
  "type": "module",
5
5
  "description": "Support for loading and instrumenting ECMAScript modules",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -22,11 +22,11 @@
22
22
  "test": "bash ../scripts/test.sh"
23
23
  },
24
24
  "dependencies": {
25
- "@contrast/common": "1.34.2",
26
- "@contrast/config": "1.49.2",
27
- "@contrast/core": "1.54.2",
25
+ "@contrast/common": "1.35.0",
26
+ "@contrast/config": "1.50.0",
27
+ "@contrast/core": "1.55.0",
28
28
  "@contrast/find-package-json": "^1.1.0",
29
- "@contrast/logger": "1.27.2",
30
- "@contrast/rewriter": "1.30.2"
29
+ "@contrast/logger": "1.28.0",
30
+ "@contrast/rewriter": "1.31.0"
31
31
  }
32
32
  }
@@ -31,5 +31,4 @@ module.exports = function(core) {
31
31
  installers[moduleName](opts);
32
32
  },
33
33
  };
34
-
35
34
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/instrumentation",
3
- "version": "1.33.2",
3
+ "version": "1.34.0",
4
4
  "description": "Shared hooks and patches between Protect and Assess components",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",
@@ -20,9 +20,9 @@
20
20
  "test": "bash ../scripts/test.sh"
21
21
  },
22
22
  "dependencies": {
23
- "@contrast/common": "1.34.2",
24
- "@contrast/dep-hooks": "1.23.2",
25
- "@contrast/logger": "1.27.2",
26
- "@contrast/patcher": "1.26.2"
23
+ "@contrast/common": "1.35.0",
24
+ "@contrast/dep-hooks": "1.24.0",
25
+ "@contrast/logger": "1.28.0",
26
+ "@contrast/patcher": "1.27.0"
27
27
  }
28
28
  }