Baseline scan
- Script:
scripts/zap-baseline.sh
-
Default target:
https://test.lomavuokraus.fi (override
with TARGET).
-
Reports:
reports/security/zap-report.html (also
JSON/XML).
-
Example:
TARGET=https://staging.lomavuokraus.fi
./scripts/zap-baseline.sh
-
Duration: ~5 minutes by default (
TIMEOUT_MINUTES env).
-
Docker image:
owasp/zap2docker-stable (override with
ZAP_IMAGE).
Full test suite
- Script:
scripts/run-test-suite.sh
-
Runs:
npm audit (high), Trivy fs scan, ZAP baseline.
-
Outputs:
reports/runs/<timestamp>/summary.html with links
to all tool reports and a textual summary printed to the console.
Index of all runs: reports/index.html.
-
Config:
TARGET: ZAP target URL (default test env).
-
TRIVY_TARGET/TRIVY_MODE: adjust Trivy
scope (fs/image).
-
ZAP_IMAGE: override container image if needed.
-
Example:
TARGET=https://staging.lomavuokraus.fi TRIVY_MODE=fs
./scripts/run-test-suite.sh
Auth considerations
-
The baseline scan is unauthenticated; it covers public pages and
APIs.
-
For authenticated testing, generate a session cookie manually and
pass via
-z extras in the script or run an active scan
with a ZAP context file.
-
Keep admin creds out of the script; prefer test accounts and the
testing environment.
Next steps
-
Add ZAP active scans with context + logged-in session for deeper
coverage.
- Consider scheduling scans against test env before releases.
- Track findings in issues; rerun after auth/role changes.