Checks
Browse individual security checks available in the Prowler Registry. Filter by cloud provider, severity, or search by check ID.
Browse individual security checks available in the Prowler Registry. Filter by cloud provider, severity, or search by check ID.
image_DS-0001
When using a 'FROM' statement you should use a specific tag to avoid uncontrolled behavior when the image is updated.
image_DS-0002
Running containers with 'root' user can lead to a container escape situation. It is a best practice to run containers as non-root users, which can be done by adding a 'USER' statement to the Dockerfile.
image_DS-0004
Exposing port 22 might allow users to SSH into the container.
image_DS-0005
You should use COPY instead of ADD unless you want to extract a tar file. Note that an ADD command will extract a tar file, which adds the risk of Zip-based vulnerabilities. Accordingly, it is advised to use a COPY command, which does not extract tar files.
image_DS-0006
COPY '--from' should not mention the current FROM alias, since it is impossible to copy from itself.
image_DS-0007
There can only be one ENTRYPOINT instruction in a Dockerfile. Only the last ENTRYPOINT instruction in the Dockerfile will have an effect.
image_DS-0008
UNIX ports outside the range 0-65535 are exposed.
image_DS-0009
For clarity and reliability, you should always use absolute paths for your WORKDIR.
image_DS-0010
Avoid using 'RUN' with 'sudo' commands, as it can lead to unpredictable behavior.
When a COPY command has more than two arguments, the last one should end with a slash.
image_DS-0012
Different FROMs can't have the same alias defined.
image_DS-0013
Use WORKDIR instead of proliferating instructions like 'RUN cd … && do-something', which are hard to read, troubleshoot, and maintain.
image_DS-0014
Avoid using both 'wget' and 'curl' since these tools have the same effect.
image_DS-0015
You should use 'yum clean all' after using a 'yum install' command to clean package cached data and reduce image size.
image_DS-0016
There can only be one CMD instruction in a Dockerfile. If you list more than one CMD then only the last CMD will take effect.
image_DS-0017
The instruction 'RUN <package-manager> update' should always be followed by '<package-manager> install' in the same RUN statement.
image_DS-0019
Cached package data should be cleaned after installation to reduce image size.
image_DS-0020
The layer and image size should be reduced by deleting unneeded caches after running zypper.
image_DS-0021
'apt-get' calls should use the flag '-y' to avoid manual user input.
image_DS-0022
MAINTAINER has been deprecated since Docker 1.13.0.
image_DS-0023
Providing more than one HEALTHCHECK instruction per stage is confusing and error-prone.
image_DS-0025
You should use 'apk add' with '--no-cache' to clean package cached data and reduce image size.
image_DS-0026
You should add HEALTHCHECK instruction in your docker container images to perform the health check on running containers.
image_DS-0027
Cached package data should be cleaned after installation to reduce image size.