@newrelic/security-agent 2.4.2 → 2.4.4

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/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ### v2.4.4 (2025-09-12)
2
+ #### Miscellaneous chores
3
+ * (deps): Bump axios to v1.12.0
4
+ * (deps-dev): Bump koa from 2.16.1 to 3.0.1
5
+
6
+ ### v2.4.3 (2025-07-23)
7
+ #### Bug fixes
8
+ * Removed dependency sync-req and updated axios
9
+
1
10
  ### v2.4.2 (2025-05-14)
2
11
  #### Bug fixes
3
12
  * Fixed usage of incorrect method
@@ -7,21 +16,21 @@
7
16
  * Only listen once for uncaughtException
8
17
  #### Miscellaneous chores
9
18
  * (deps-dev): bump koa from v2.14.2 to v2.16.1
10
- * (deps-dev): bump tar-fs from v2.1.1 to v2.1.2
19
+ * (deps-dev): bump tar-fs from v2.1.1 to v2.1.2
11
20
 
12
21
 
13
22
  ### v2.4.0 (2025-03-21)
14
23
  #### Features
15
24
  * Support for gRPC error reporting
16
- * Support to detect API endpoints in next.js framework
25
+ * Support to detect API endpoints in next.js framework
17
26
  #### Miscellaneous chores
18
27
  * Updated axios to v1.8.4
19
28
 
20
29
  ### v2.3.2 (2025-03-11)
21
30
  #### Bug fixes
22
- * Updated axios to v1.8.2
31
+ * Updated axios to v1.8.2
23
32
  #### Miscellaneous chores
24
- * Updated readme
33
+ * Updated readme
25
34
 
26
35
 
27
36
  ### v2.3.1 (2025-02-04)
@@ -33,20 +42,20 @@
33
42
  #### Features
34
43
  * Added Support for VM module
35
44
  * IAST support for Next.js
36
- * Support for Insecure settings i.e crypto, hash and random modules
45
+ * Support for Insecure settings i.e crypto, hash and random modules
37
46
 
38
47
  #### Bug fixes
39
48
  * Fix for special characters in ws header
40
- * Fix for getting transaction in graphql instrumentation
41
- * Fix for mongodb unit tests
49
+ * Fix for getting transaction in graphql instrumentation
50
+ * Fix for mongodb unit tests
42
51
 
43
52
  #### Miscellaneous chores
44
53
  * deps-dev: bump undici from v5.28.4 to v5.28.5
45
- * Updated axios to v1.7.9
54
+ * Updated axios to v1.7.9
46
55
 
47
56
  ### v2.2.0 (2024-12-18)
48
57
  #### Features
49
- * Support for express 5.x
58
+ * Support for express 5.x
50
59
  * IAST support for GraphQL
51
60
  * Added support for trustboundary security events
52
61
 
@@ -55,7 +64,7 @@
55
64
 
56
65
  ### v2.1.1 (2024-11-07)
57
66
  #### Bug fixes
58
- * Fix for assignment to logger constant
67
+ * Fix for assignment to logger constant
59
68
 
60
69
  ### v2.1.0 (2024-11-05)
61
70
  #### Features
@@ -65,7 +74,7 @@
65
74
  * Added default values for scan_schedule, scan_controllers and exclude_from_iast_scan config
66
75
  * Fix for security home placeholder replacement in fuzz requests
67
76
  * Handling to not resolve file path in fs module instrumentation
68
- * Fix for batch size and condition of iast-data-request sending
77
+ * Fix for batch size and condition of iast-data-request sending
69
78
  #### Miscellaneous chores
70
79
  * Added requestURI field in http request for application-runtime-error
71
80
  * Updated instrumented to get the transaction directly instead of from the active segment
@@ -94,7 +103,7 @@
94
103
  #### Bug fixes
95
104
  * Fix for traceId in error reporting
96
105
  #### Miscellaneous chores
97
- * (deps): bumped axios from 1.6.8 to 1.7.4
106
+ * (deps): bumped axios from 1.6.8 to 1.7.4
98
107
  * (deps-dev): bumped ws from 7.5.9 to 8.18.0
99
108
  #### Continuous integration
100
109
  * Added Node.js v22.x to unit tests
@@ -102,26 +111,26 @@
102
111
  ### v1.4.0 (2024-06-24)
103
112
  #### Features
104
113
  * Added support to report application's errors while IAST scanning
105
- * Support to detect gRPC API endpoints
114
+ * Support to detect gRPC API endpoints
106
115
  #### Bug fixes
107
116
  * Remove additional headers added by IAST client
108
- * Fix for uncaught exception reporting
117
+ * Fix for uncaught exception reporting
109
118
  #### Miscellaneous chores
110
- * Updated package.json to bump ws from 8.14.2 to 8.17.1
111
- * (deps-dev): bump @grpc/grpc-js from 1.9.12 to 1.10.9
119
+ * Updated package.json to bump ws from 8.14.2 to 8.17.1
120
+ * (deps-dev): bump @grpc/grpc-js from 1.9.12 to 1.10.9
112
121
  * (deps-dev): bump braces from 3.0.2 to 3.0.3
113
- * (deps): bump ws from 8.14.2 to 8.17.1
122
+ * (deps): bump ws from 8.14.2 to 8.17.1
114
123
 
115
124
  ### v1.3.0 (2024-05-31)
116
125
  #### Features
117
126
  * Added route field in security event for API endpoint mapping
118
127
  #### Bug fixes
119
- * Fix for control commands acknowledgement in security agent
120
- * Added assert for typeof response data in Reflected XSS validation
121
- * Updated @grpc/grpc-js instrumentation to instrument submodules
128
+ * Fix for control commands acknowledgement in security agent
129
+ * Added assert for typeof response data in Reflected XSS validation
130
+ * Updated @grpc/grpc-js instrumentation to instrument submodules
122
131
  * Handling to convert header values into string
123
132
  #### Miscellaneous chores
124
- * Updated log level for critical messages
133
+ * Updated log level for critical messages
125
134
  * Readme update
126
135
  * (deps-dev): bump axios from 0.21.4 to 1.7.2
127
136
 
@@ -129,7 +138,7 @@
129
138
  #### Features
130
139
  * Added instrumentation for express framework's res.download() and res.sendFile()
131
140
  #### Bug fixes
132
- * Handling to decrypt fuzz header data for IAST scanning
141
+ * Handling to decrypt fuzz header data for IAST scanning
133
142
  * Logging and snapshot file fixes
134
143
  #### Miscellaneous chores
135
144
  * Prepend vulnerability case type with apiId
@@ -142,13 +151,13 @@
142
151
 
143
152
  ### v1.1.0 (2024-03-19)
144
153
  #### Features
145
- * IAST support for grpc
154
+ * IAST support for grpc
146
155
  * Functionality to report API endpoints of the application
147
156
  * IAST support for undici
148
157
  #### Bug fixes
149
158
  * Updated permissions for file/directory created by security agent
150
159
  #### Miscellaneous chores
151
- * Bumped follow-redirects from v1.15.2 to v1.15.4
160
+ * Bumped follow-redirects from v1.15.2 to v1.15.4
152
161
  * Updated axios to v1.6.8
153
162
  * Bumped ip from v2.0.0 to v2.0.1
154
163
  * Bumped undici from 5.28.2 to v5.28.3
@@ -156,7 +165,7 @@
156
165
 
157
166
  ### v1.0.1 (2024-02-07)
158
167
  #### Bug fixes
159
- * Reporting of framework in security event json
168
+ * Reporting of framework in security event json
160
169
  #### Miscellaneous chores
161
170
  * Updated software license to New Relic Software License Version 1.0
162
171
  * Ability to send critical messages on successful startup of agent
@@ -173,8 +182,8 @@
173
182
  #### Miscellaneous chores
174
183
  * Updated log event jsonName to "critical-messages"
175
184
  * Removed dependency @aws-sdk/client-lambda
176
- * Bumped follow-redirects from v1.15.2 to v1.15.4
177
- * Upgraded axios to v1.6.5
185
+ * Bumped follow-redirects from v1.15.2 to v1.15.4
186
+ * Upgraded axios to v1.6.5
178
187
 
179
188
  ### v0.6.0 (2024-01-03)
180
189
  #### Features
@@ -186,7 +195,7 @@
186
195
  * Fix for honouring probing interval from policy
187
196
  #### Miscellaneous chores
188
197
  * Added nestjs test cases
189
- * Additional logging for instrumented modules and methods
198
+ * Additional logging for instrumented modules and methods
190
199
  * Upgraded axios to v1.6.3
191
200
  * Removed pinned version for axios and check-disk-space
192
201
  * Update in lockfileVersion of package-lock.json
@@ -207,10 +216,10 @@
207
216
 
208
217
  ### v0.4.0 (2023-10-27)
209
218
  #### Features
210
- * Added event stats for RASP, IAST and exit events in healthcheck.
219
+ * Added event stats for RASP, IAST and exit events in healthcheck.
211
220
  #### Miscellaneous chores
212
221
  * Deps: Updated uuid to v9.0.1 and @aws-sdk/client-lambda to v3.405.0
213
- * Upgraded axios to 1.6.0 to resolve CVE-2023-45857
222
+ * Upgraded axios to 1.6.0 to resolve CVE-2023-45857
214
223
  #### Continuous integration
215
224
  * Removed Node.js 14.x from CI.
216
225
  * Added should_skip flag to skip CI based on label.
@@ -32,7 +32,6 @@ code, the source code can be found at [https://github.com/newrelic/csec-node-age
32
32
  * [request-ip](#request-ip)
33
33
  * [ringbufferjs](#ringbufferjs)
34
34
  * [semver](#semver)
35
- * [sync-request](#sync-request)
36
35
  * [unescape-js](#unescape-js)
37
36
  * [unescape](#unescape)
38
37
  * [uuid](#uuid)
@@ -78,7 +77,7 @@ code, the source code can be found at [https://github.com/newrelic/csec-node-age
78
77
 
79
78
  ### axios
80
79
 
81
- This product includes source derived from [axios](https://github.com/axios/axios) ([v1.8.4](https://github.com/axios/axios/tree/v1.8.4)), distributed under the [MIT License](https://github.com/axios/axios/blob/v1.8.4/LICENSE):
80
+ This product includes source derived from [axios](https://github.com/axios/axios) ([v1.12.0](https://github.com/axios/axios/tree/v1.12.0)), distributed under the [MIT License](https://github.com/axios/axios/blob/v1.12.0/LICENSE):
82
81
 
83
82
  ```
84
83
  # Copyright (c) 2014-present Matt Zabriskie & Collaborators
@@ -532,32 +531,6 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
532
531
 
533
532
  ```
534
533
 
535
- ### sync-request
536
-
537
- This product includes source derived from [sync-request](https://github.com/ForbesLindesay/sync-request) ([v6.1.0](https://github.com/ForbesLindesay/sync-request/tree/v6.1.0)), distributed under the [MIT License](https://github.com/ForbesLindesay/sync-request/blob/v6.1.0/LICENSE):
538
-
539
- ```
540
- Copyright (c) 2014 Forbes Lindesay
541
-
542
- Permission is hereby granted, free of charge, to any person obtaining a copy
543
- of this software and associated documentation files (the "Software"), to deal
544
- in the Software without restriction, including without limitation the rights
545
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
546
- copies of the Software, and to permit persons to whom the Software is
547
- furnished to do so, subject to the following conditions:
548
-
549
- The above copyright notice and this permission notice shall be included in
550
- all copies or substantial portions of the Software.
551
-
552
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
553
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
554
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
555
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
556
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
557
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
558
- THE SOFTWARE.
559
- ```
560
-
561
534
  ### unescape-js
562
535
 
563
536
  This product includes source derived from [unescape-js](https://github.com/iamakulov/unescape-js) ([v1.1.4](https://github.com/iamakulov/unescape-js/tree/v1.1.4)), distributed under the [MIT License](https://github.com/iamakulov/unescape-js/blob/v1.1.4/LICENSE):
@@ -1845,7 +1818,7 @@ Library.
1845
1818
 
1846
1819
  ### koa
1847
1820
 
1848
- This product includes source derived from [koa](https://github.com/koajs/koa) ([v2.14.2](https://github.com/koajs/koa/tree/v2.14.2)), distributed under the [MIT License](https://github.com/koajs/koa/blob/v2.14.2/LICENSE):
1821
+ This product includes source derived from [koa](https://github.com/koajs/koa) ([v3.0.1](https://github.com/koajs/koa/tree/v3.0.1)), distributed under the [MIT License](https://github.com/koajs/koa/blob/v3.0.1/LICENSE):
1849
1822
 
1850
1823
  ```
1851
1824
  (The MIT License)
@@ -138,7 +138,7 @@ function ApplicationInfo () {
138
138
  ? `${process.env[AWS_LAMBDA_FUNCTION_NAME_ENV_IDENTIFIER]}:${lambdaVersion}`
139
139
  : `${lambdaARN}:${lambdaVersion}`;
140
140
  this.identifier.lambdaAWSSessionToken = process.env[AWS_SESSION_TOKEN_ENV_IDENTIFIER];
141
-
141
+
142
142
  } else {
143
143
  this.identifier.kind = "HOST";
144
144
  this.identifier.envInfo = setHostProperties();
@@ -482,42 +482,9 @@ function getECSTaskId () {
482
482
 
483
483
  function populateECSInfo (ecsObj) {
484
484
  ecsObj.ecsTaskId = getECSTaskId();
485
- const ecsData = getECSInfo();
486
- if (!_.isEmpty(ecsData)) {
487
- const imageId = ecsData.ImageID;
488
- const imageName = ecsData.Image;
489
-
490
- ecsObj.imageId = imageId;
491
- ecsObj.imageName = imageName;
492
-
493
- const labels = ecsData.Labels;
494
-
495
- if (!_.isEmpty(labels)) {
496
- const containerName = labels['com.amazonaws.ecs.container-name'];
497
- const ecsTaskDefinitionFamily = labels['com.amazonaws.ecs.task-definition-family'];
498
- const ecsTaskDefinitionVersion = labels['com.amazonaws.ecs.task-definition-version'];
499
-
500
- ecsObj.containerName = containerName;
501
- if (ecsTaskDefinitionFamily && ecsTaskDefinitionVersion) {
502
- ecsObj.ecsTaskDefinition = ecsTaskDefinitionFamily + ':' + ecsTaskDefinitionVersion;
503
- }
504
- }
505
- }
506
485
  return ecsObj;
507
486
  }
508
487
 
509
- function getECSInfo () {
510
- const url = process.env.ECS_CONTAINER_METADATA_URI;
511
- let json = {};
512
- const request = require('sync-request');
513
- try {
514
- const res = request('GET', url);
515
- const body = res.getBody();
516
- json = JSON.parse(body);
517
- } catch (error) {
518
- }
519
- return json;
520
- }
521
488
 
522
489
  function getApplicationSHAAndSizeFromWorker (applicationInfo, applicationPath) {
523
490
  const { Worker } = require('worker_threads');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newrelic/security-agent",
3
- "version": "2.4.2",
3
+ "version": "2.4.4",
4
4
  "description": "New Relic Security Agent for Node.js",
5
5
  "main": "index.js",
6
6
  "jsonVersion": "1.2.9",
@@ -39,7 +39,7 @@
39
39
  "url": "https://github.com/newrelic/csec-node-agent.git"
40
40
  },
41
41
  "dependencies": {
42
- "axios": "^1.8.4",
42
+ "axios": "^1.12.0",
43
43
  "check-disk-space": "^3.4.0",
44
44
  "content-type": "^1.0.5",
45
45
  "cron": "^3.1.7",
@@ -57,7 +57,6 @@
57
57
  "request-ip": "^3.3.0",
58
58
  "ringbufferjs": "^2.0.0",
59
59
  "semver": "^7.5.4",
60
- "sync-request": "^6.1.0",
61
60
  "unescape": "^1.0.1",
62
61
  "unescape-js": "^1.1.4",
63
62
  "uuid": "^9.0.1",
@@ -82,7 +81,7 @@
82
81
  "eslint-plugin-prettier": "^3.4.0",
83
82
  "eslint-plugin-promise": "^4.3.1",
84
83
  "eslint-plugin-sonarjs": "^0.15.0",
85
- "koa": "^2.14.1",
84
+ "koa": "^3.0.1",
86
85
  "mongodb": "^4.13.0",
87
86
  "mongodb2": "npm:mongodb@^2.2.36",
88
87
  "mongodb3": "npm:mongodb@^3.7.3",