A-Salem/Zappy

https://github.com/A-Salem/Zappy

Scanned on Mar 16, 2026

2 Critical
2 High
4 Medium
89 Low

AI Assessment

VERDICT

Based on automated scanner analysis, this project is not production-ready. Critical container security issues and absence of testing/licensing infrastructure create substantial risk.

TOP RISKS

→ Dockerfile USER not specified (Trivy flagged in angular-client/Dockerfile:23 and express-server/Dockerfile:24): Containers will run as root, allowing attackers who compromise a process to control the entire container.

→ No HEALTHCHECK defined in Dockerfiles (DS-0026 flagged in both Dockerfiles): Orchestration systems cannot detect container failures, leading to zombie processes serving traffic.

→ No test suite detected (bestpractices): Inability to verify code behavior before deployment increases regression risk.

→ Missing LICENSE file (bestpractices): Legal and compliance implications for open-source distribution.

→ 85 code quality issues flagged (ESLint): Primarily formatting and const/arrow function inconsistencies, but accumulated quality debt suggests maintenance burden.

WHAT TO FIX FIRST

Add USER directive in both express-server/Dockerfile:24 and angular-client/Dockerfile:23 specifying a non-root user. This is the single highest-impact fix—it eliminates the critical container escape vector that could give attackers root access. This requires one line per Dockerfile but dramatically improves security posture.

Note: Verify these flagged findings against your actual Dockerfiles and code intent. Some quality findings may be false positives depending on your project conventions. Prioritize the Dockerfile USER specification and HEALTHCHECK additions before addressing the 85 lower-severity linting issues.

fix-prompt.md

Category Breakdown

Security0%Secrets & Credentials0%Dependencies0%Code Quality0%Best Practices0%
0/300
Security6 findings
200/200
Secrets & Credentials
150/150
Dependencies
92/100
Code Quality85 findings
87/100
Best Practices6 findings

Findings(97 in 22 groups)

By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. | CWE: CWE-250: Execution with Unnecessary Privileges | OWASP: A04:2021 - Insecure Design, A06:2025 - Insecure Design

Affected files

angular-client/DockerfileL23
express-server/DockerfileL24

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. | Fix: Add 'USER <non root user name>' line to the Dockerfile | Target: angular-client/Dockerfile

Affected files

angular-client/Dockerfile
express-server/Dockerfile

Biome rule: lint/suspicious/noDoubleEquals

Affected files

unknown
unknown

This repository has no LICENSE file. Without a license, the code is technically all-rights-reserved by default, which prevents others from using it.

Affected files

unknown

No test directory or test files were found. Automated tests are critical for maintaining code quality and preventing regressions.

Affected files

unknown

Biome rule: format

Affected files

unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown

and 8 more files...

Biome rule: lint/style/useConst

Affected files

unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown

Biome rule: lint/complexity/useArrowFunction

Affected files

unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown

Biome rule: lint/correctness/noUnusedFunctionParameters

Affected files

unknown
unknown
unknown
unknown
unknown
unknown
unknown
unknown

Biome rule: assist/source/organizeImports

Affected files

unknown
unknown
unknown
unknown
unknown

Share your ShipScanner

Show the world your code quality. Your report has a beautiful preview image built in.

Embed Trust Badge

Show your code quality score in your README. The badge updates automatically every time you re-scan.

README.md
ShipScanner: C 566
[![ShipScanner: C 566](https://shipscanner.dev/api/badge/cmmte3pxm0001la04n68dp34j)](https://shipscanner.dev/report/cmmte3pxm0001la04n68dp34j)