ZAP Scanning Report

Site: http://localhost:4000

Generated on Mon, 19 Oct 2026 09:23:25

ZAP Version: 2.17.0

ZAP by Checkmarx

Summary of Alerts

Risk Level Number of Alerts
High
0
Medium
0
Low
0
Informational
3
False Positives:
0

Insights

Level Reason Site Description Statistic
Low
Warning
ZAP warnings logged - see the zap.log file for details
5
Info
Informational
http://localhost:4000
Percentage of responses with status code 2xx
100 %
Info
Informational
http://localhost:4000
Percentage of endpoints with content type application/json
100 %
Info
Informational
http://localhost:4000
Percentage of endpoints with method GET
58 %
Info
Informational
http://localhost:4000
Percentage of endpoints with method PATCH
11 %
Info
Informational
http://localhost:4000
Percentage of endpoints with method POST
29 %
Info
Informational
http://localhost:4000
Count of total endpoints
17

Summary of Sequences

For each step: result (Pass/Fail) - risk (of highest alert(s) for the step, if any).

Alerts

Name Risk Level Number of Instances
Authentication Request Identified Informational 1
Non-Storable Content Informational Systemic
Session Management Response Identified Informational 1

Alert Detail

Informational
Authentication Request Identified
Description
The given request has been identified as an authentication request. The 'Other Info' field contains a set of key=value lines which identify any relevant fields. If the request is in a context which has an Authentication Method set to "Auto-Detect" then this rule will change the authentication to match the request identified.
URL http://localhost:4000/auth/login
Node Name http://localhost:4000/auth/login ()({email,password})
Method POST
Parameter email
Attack
Evidence password
Other Info
userParam=email

userValue=zap-scan@example.com

passwordParam=password
Instances 1
Solution
This is an informational alert rather than a vulnerability and so there is nothing to fix.
Reference https://www.zaproxy.org/docs/desktop/addons/authentication-helper/auth-req-id/
CWE Id
WASC Id
Plugin Id 10111
Informational
Non-Storable Content
Description
The response contents are not storable by caching components such as proxy servers. If the response does not contain sensitive, personal or user-specific information, it may benefit from being stored and cached, to improve performance.
URL http://localhost:4000/auth/me
Node Name http://localhost:4000/auth/me
Method GET
Parameter
Attack
Evidence authorization:
Other Info
URL http://localhost:4000/health
Node Name http://localhost:4000/health
Method GET
Parameter
Attack
Evidence authorization:
Other Info
URL http://localhost:4000/users
Node Name http://localhost:4000/users
Method GET
Parameter
Attack
Evidence authorization:
Other Info
URL http://localhost:4000/auth/login
Node Name http://localhost:4000/auth/login ()({email,password})
Method POST
Parameter
Attack
Evidence authorization:
Other Info
URL http://localhost:4000/auth/register
Node Name http://localhost:4000/auth/register ()({name,email,password})
Method POST
Parameter
Attack
Evidence authorization:
Other Info
Instances Systemic
Solution
The content may be marked as storable by ensuring that the following conditions are satisfied:

The request method must be understood by the cache and defined as being cacheable ("GET", "HEAD", and "POST" are currently defined as cacheable)

The response status code must be understood by the cache (one of the 1XX, 2XX, 3XX, 4XX, or 5XX response classes are generally understood)

The "no-store" cache directive must not appear in the request or response header fields

For caching by "shared" caches such as "proxy" caches, the "private" response directive must not appear in the response

For caching by "shared" caches such as "proxy" caches, the "Authorization" header field must not appear in the request, unless the response explicitly allows it (using one of the "must-revalidate", "public", or "s-maxage" Cache-Control response directives)

In addition to the conditions above, at least one of the following conditions must also be satisfied by the response:

It must contain an "Expires" header field

It must contain a "max-age" response directive

For "shared" caches such as "proxy" caches, it must contain a "s-maxage" response directive

It must contain a "Cache Control Extension" that allows it to be cached

It must have a status code that is defined as cacheable by default (200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501).
Reference https://datatracker.ietf.org/doc/html/rfc7234
https://datatracker.ietf.org/doc/html/rfc7231
https://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
CWE Id 524
WASC Id 13
Plugin Id 10049
Informational
Session Management Response Identified
Description
The given response has been identified as containing a session management token. The 'Other Info' field contains a set of header tokens that can be used in the Header Based Session Management Method. If the request is in a context which has a Session Management Method set to "Auto-Detect" then this rule will change the session management to use the tokens identified.
URL http://localhost:4000/auth/login
Node Name http://localhost:4000/auth/login ()({email,password})
Method POST
Parameter token
Attack
Evidence token
Other Info
json:token
Instances 1
Solution
This is an informational alert rather than a vulnerability and so there is nothing to fix.
Reference https://www.zaproxy.org/docs/desktop/addons/authentication-helper/session-mgmt-id/
CWE Id
WASC Id
Plugin Id 10112

Sequence Details

With the associated active scan results.