Application Security capabilities

The following application security capabilities are supported in the Node.js library, for the specified tracer version:

Application Security capabilityMinimum NodeJS tracer version
Threat Detection4.0.0
Threat Protection4.0.0
Customize response to blocked requests4.1.0
Software Composition Analysis (SCA)4.0.0
Code Security4.18.0 for Node.js 16+, or 5.0.0 for Node.js 18+
Automatic user activity event tracking4.4.0 for Node.js 16+
API Security4.30.0 for Node.js 16+, or 5.6.0 for Node.js 18+

The minimum tracer version to get all supported application security capabilities for Node.js is 4.30.0.

Note:

  • Threat Protection requires enabling Remote Configuration, which is included in the listed minimum tracer version.

Supported deployment types

TypeThreat Detection supportSoftware Composition Analysis
Docker
Kubernetes
Amazon ECS
AWS Fargate
AWS Lambdabeta

Language and framework compatibility

Node.js Version Support

When the Node.js project drops support for an LTS major release line (when it goes End of Life), support for it is dropped in the next major version of dd-trace. The last major supporting release line of dd-trace library supports that EOL version of Node.js for at least another year on a maintenance mode basis.

Some issues cannot be solved in dd-trace and instead must be solved in Node.js. When this happens and the Node.js release in question is EOL, it’s not possible to solve the issue without moving to another non-EOL release. Datadog does not make new releases of dd-trace to provide specific support for non-LTS Node.js major release lines (odd numbered versions).

For the best level of support, always run the latest LTS release of Node.js, and the latest major version of dd-trace. Whatever release line of Node.js you use, also use the latest version of Node.js on that release line, to ensure you have the latest security fixes.

For more information about Node.js release, see the official Node.js documentation.

Operating system support

The following operating systems are officially supported by dd-trace. Any operating system not listed is still likely to work, but with some features missing, for example application security capabilities, profiling, and runtime metrics. Generally speaking, operating systems that are actively maintained at the time of initial release for a major version are supported.

Operating SystemArchitecturesMinimum Versions
Linux (glibc)arm64, x64CentOS 7, Debian 9, RHEL 7, Ubuntu 14.04
Linux (musl)arm64, x64Alpine 3.13
macOSarm64, x64Catalina (10.15)
Windowsx64Windows 8.1, Windows Server 2012

Web framework compatibility

  • Attacker source HTTP request details
  • Tags for the HTTP request (status code, method, etc)
  • Distributed Tracing to see attack flows through your applications
Application Security Capability Notes
  • Software Composition Analysis is supported on all frameworks
  • If your framework is not listed below, Code Security will still detect Weak Cipher, Weak Hashing, Insecure Cookie, Cookie without HttpOnly Flag, and Cookie without SameSite Flag vulnerabilities.
FrameworkVersionsThreat Detection supported?Threat Protection supported?Code Security?
express>=4
nextjs>=11.1
If you would like to see support added for any of the unsupported capabilities or for your Node.js framework, let us know! Fill out this short form to send details.

Networking framework compatibility

Networking tracing provides:

  • Distributed tracing through your applications
  • Request-based blocking
Application Security Capability Notes
  • Software Composition Analysis is supported on all frameworks
FrameworkThreat Detection supported?Threat Protection supported?Code Security?
http
https
If you don't see your framework of choice listed, let us know! Fill out this short form to send details.

Data store compatibility

Datastore tracing provides:

  • Timing request to response
  • Query info (for example, a sanitized query string)
  • Error and stacktrace capturing
Application Security Capability Notes
  • Software Composition Analysis is supported on all frameworks
  • Threat Protection also works at the HTTP request (input) layer, and so works for all databases by default, even those not listed in the table below.
FrameworkVersionsThreat Detection supported?Threat Protection supported?Code Security?
@apollo/server>=4
apollo-server-core>=3
cassandra-driver>=3
couchbase^2.4.2
elasticsearch>=10
ioredis>=2
knex>=0.8
mariadb>=3
memcached>=2.2
mongodb-core>=2
mysql>=2
mysql2>=1
oracledb>=5
pg>=4
redis>=0.12
sharedb>=1
tedious>=1
sequelize>=4

User Authentication Frameworks compatibility

Integrations to User Authentication Frameworks provide:

  • User login events, including the user IDs
  • The Account Takeover detection monitoring the user login events
FrameworkMinimum Framework Version
passport-local1.0.0
passport-http0.3.0