Microagent compatibility matrix

Sqreen Microagents use multiple dynamic instrumentation points as hooks through which they monitor and collect security metadata in your application. A microagent, therefore, must be compatible with the frameworks, libraries, and web application servers that your application uses.

Listed below are the technologies with which each microagent is compatible. Please contact us directly to request support for a technology that you do not see listed.

Node.js microagent

Compatibility Supported Not supported
Operating systems Linux, macOS, Windows -
Runtime versions 4.0 and greater -
Web frameworks Express 4.0 and greater, hapi 13 - 16 Koa, hapi 17+, Fastify
Databases MariaDB, MongoDB, MySQL, PostgreSQL, SQLite, MS SQL Server, Oracle
Templating engines Jade -
User monitoring passport-local, passport-http, SDK for user monitoring -

Ruby microagent

Compatibility Supported Deprecated Not supported
Operating systems Linux, macOS High Sierra - Catalina, Solaris - Windows
CPU architectures x86-64 -
Runtimes Ruby 2.0 - 2.7, JRuby 9.2 Ruby 1.9.3 JRuby 9.1
Web frameworks Rack, Rails 3.2 - 6.0, Sinatra 2.x - Rails 2.x - 3.1, Hanami
Web app servers Passenger, Puma, Rainbows, Thin, Unicorn, WEBrick - Falcon
Databases MariaDB, MongoDB, MySQL, PostgreSQL, SQLite - MS SQL Server, Oracle
Templating engines ActionView, ERB, Haml, Slim, Temple - Hamlit
User monitoring Devise, SDK for User monitoring -
APMs NewRelic, DataDog, Scout, Skylight -

APMs

For Sqreen 1.20.0 and up, Skylight 5.0.0.beta or up is required. Use Skylight 4.3 or below with Sqreen 1.18.

Databases

Database support requires Active Record.

Compilers

Due to the use of native code for performance purposes, a C compiler such as Clang or GCC 4.9+ is required to build Ruby extentions.

PHP microagent

Compatibility Supported Not supported
Operating systems Debian 7 - 10, Linux 1.1.0 (Alpine), Enterprise Linux 7 (RedHat, CentOS, Amazon Linux), Ubuntu 14.04+ macOS, Solaris, Windows
Runtime versions 5.3 - 5.6, 7.0 - 7.4 -
Web frameworks CodeIgniter, Laravel, Symfony, Zend -
Databases MongoDB, MySQL, PostgreSQL SQLite, MS SQL Server, Oracle
User monitoring SDK for user monitoring -
APMs New Relic, Blackfire by Sensiolabs, Datadog -

Java microagent

Compatibility Supported Not supported
Operating systems Linux, macOS, Windows Solaris
Runtime versions 1.6 and greater -
JVM languages JRuby, Scala, Clojure, Groovy, Kotlin
Web frameworks Spring Boot Netty, SparkJava, Play
Web app servers GlassFish, JBoss, Jetty, Tomcat, Untertow, WebLogic, WebSphere, WildFly -
Databases MariaDB, MongoDB, MySQL, PostgreSQL, Oracle SQLite, MS SQL Server
Templating engines FreeMarker 2, JavaServer pages (JSP), Velocity 2, org.codehaus.groovy, GSP on Grails 2 and 3, Thymeleaf 2 and 3 -
User monitoring SDK for user monitoring -

Oracle Glassfish 5.0

Glassfish 5.0 has a known compatibility issue with Java 8 after update 151, which prevents a proper connection to any external service using SSL/TLS for secure communication. Do not use a version later than update 151.

Using JRuby

If your app uses JRuby, please email support@sqreen.com for assistance.

Go microagent

Compatibility Supported Not supported
Operating systems Every Go target OS -
Runtime versions The last two major Go versions -
Web frameworks net/http, echo, gin, gorilla, beego gRPC
Databases Every SQL database accessed with database/sql -
User monitoring Go SDK for user monitoring -

Python microagent

Compatibility Supported Not supported
Operating systems Linux, macOS 10.14 and 10.15 Solaris, Windows
Runtime versions CPython 2.7, and 3.4 - 3.8 JPython, PyPy
Web frameworks Django 1.6 and greater, Flask 0.10 and greater, Pyramid 1.6 and greater, aiohttp 2.2, 2.3 and 3.0 - 3.6 (see note below), Pylons Bottle, Tornado, web2py
Web app servers chaussette, gunicorn, uWSGI (see note below), waitress, most WSGI-compliant servers ASGI
Databases MongoDB, MySQL, PostgreSQL, SQLite MS SQL Server, Oracle
Templating engines Django, Jinja2 -
User monitoring Django, SDK for user monitoring -

aiohttp

The aiohttp server must use either the built-in asyncio event loop or the uvloop.

uWSGI

The Python agent is fully compatible with uWSGI servers. When using uWSGI, you must include several options. Refer to Python microagent compatibility for details.