Skip to content

Commit f266f81

Browse files
authored
Chore: [AEA-0000] - add regression test project (#52)
## Summary - Routine Change ### Details - add regression test project
1 parent 0468d86 commit f266f81

File tree

9 files changed

+229
-0
lines changed

9 files changed

+229
-0
lines changed

Makefile

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,43 @@ install-node:
2121
install-hooks: install-python
2222
poetry run pre-commit install --install-hooks --overwrite
2323

24+
build-base-image:
25+
CONTAINER_NAME=base BASE_VERSION_TAG=local-build BASE_FOLDER=. IMAGE_TAG=local-build $(MAKE) build-image
26+
27+
build-node-24-image:
28+
CONTAINER_NAME=node_24 BASE_VERSION_TAG=local-build BASE_FOLDER=base_node IMAGE_TAG=local-build $(MAKE) build-image
29+
30+
build-node-24-python-3-10-image:
31+
CONTAINER_NAME=node_24_python_3_10 BASE_VERSION_TAG=local-build BASE_FOLDER=languages IMAGE_TAG=local-build $(MAKE) build-image
32+
33+
build-node-24-python-3-12-image:
34+
CONTAINER_NAME=node_24_python_3_12 BASE_VERSION_TAG=local-build BASE_FOLDER=languages IMAGE_TAG=local-build $(MAKE) build-image
35+
36+
build-node-24-python-3-13-image:
37+
CONTAINER_NAME=node_24_python_3_13 BASE_VERSION_TAG=local-build BASE_FOLDER=languages IMAGE_TAG=local-build $(MAKE) build-image
38+
39+
build-node-24-python-3-14-image:
40+
CONTAINER_NAME=node_24_python_3_14 BASE_VERSION_TAG=local-build BASE_FOLDER=languages IMAGE_TAG=local-build $(MAKE) build-image
41+
42+
build-eps-storage-terraform-image:
43+
CONTAINER_NAME=eps_storage_terraform BASE_VERSION_TAG=local-build BASE_FOLDER=projects IMAGE_TAG=local-build $(MAKE) build-image
44+
45+
build-fhir-facade-image:
46+
CONTAINER_NAME=fhir_facade_api BASE_VERSION_TAG=local-build BASE_FOLDER=projects IMAGE_TAG=local-build $(MAKE) build-image
47+
48+
build-node-24-python-3-14-golang-1-24-image:
49+
CONTAINER_NAME=node_24_python_3_14_golang_1_24 BASE_VERSION_TAG=local-build BASE_FOLDER=projects IMAGE_TAG=local-build $(MAKE) build-image
50+
51+
build-node-24-python-3-14-java-24-image:
52+
CONTAINER_NAME=node_24_python_3_14_java_24 BASE_VERSION_TAG=local-build BASE_FOLDER=projects IMAGE_TAG=local-build $(MAKE) build-image
53+
54+
build-regression-tests-image:
55+
CONTAINER_NAME=regression_tests BASE_VERSION_TAG=local-build BASE_FOLDER=projects IMAGE_TAG=local-build $(MAKE) build-image
56+
57+
build-all: build-base-image build-node-24-image build-node-24-python-3-10-image build-node-24-python-3-12-image build-node-24-python-3-13-image build-node-24-python-3-14-image \
58+
build-eps-storage-terraform-image build-fhir-facade-image build-node-24-python-3-14-golang-1-24-image build-node-24-python-3-14-java-24-image \
59+
build-regression-tests-image
60+
2461
build-image: guard-CONTAINER_NAME guard-BASE_VERSION_TAG guard-BASE_FOLDER guard-IMAGE_TAG
2562
npx devcontainer build \
2663
--workspace-folder ./src/$${BASE_FOLDER}/$${CONTAINER_NAME} \

src/common/.trivyignore.yaml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,3 +387,48 @@ vulnerabilities:
387387
purls:
388388
- "pkg:golang/stdlib@v1.26.0"
389389
expired_at: 2026-09-11
390+
- id: CVE-2026-24051
391+
statement: "OpenTelemetry Go SDK Vulnerable to Arbitrary Code Execution via PATH Hijacking"
392+
purls:
393+
- "pkg:golang/go.opentelemetry.io/otel/sdk@v1.38.0"
394+
expired_at: 2026-09-16
395+
- id: CVE-2024-35870
396+
statement: "kernel: smb: client: fix UAF in smb2_reconnect_server()"
397+
purls:
398+
- "pkg:deb/ubuntu/linux-libc-dev@5.15.0-173.183?arch=arm64&distro=ubuntu-22.04"
399+
expired_at: 2026-09-16
400+
- id: CVE-2024-53179
401+
statement: "kernel: smb: client: fix use-after-free of signing key"
402+
purls:
403+
- "pkg:deb/ubuntu/linux-libc-dev@5.15.0-173.183?arch=arm64&distro=ubuntu-22.04"
404+
expired_at: 2026-09-16
405+
- id: CVE-2025-37899
406+
statement: "kernel: ksmbd: fix use-after-free in session logoff"
407+
purls:
408+
- "pkg:deb/ubuntu/linux-libc-dev@5.15.0-173.183?arch=arm64&distro=ubuntu-22.04"
409+
expired_at: 2026-09-16
410+
- id: CVE-2025-38118
411+
statement: "kernel: Linux kernel: Bluetooth MGMT use-after-free vulnerability allows privilege escalation"
412+
purls:
413+
- "pkg:deb/ubuntu/linux-libc-dev@5.15.0-173.183?arch=arm64&distro=ubuntu-22.04"
414+
expired_at: 2026-09-16
415+
- id: CVE-2024-35870
416+
statement: "kernel: smb: client: fix UAF in smb2_reconnect_server()"
417+
purls:
418+
- "pkg:deb/ubuntu/linux-libc-dev@5.15.0-173.183?arch=amd64&distro=ubuntu-22.04"
419+
expired_at: 2026-09-16
420+
- id: CVE-2024-53179
421+
statement: "kernel: smb: client: fix use-after-free of signing key"
422+
purls:
423+
- "pkg:deb/ubuntu/linux-libc-dev@5.15.0-173.183?arch=amd64&distro=ubuntu-22.04"
424+
expired_at: 2026-09-16
425+
- id: CVE-2025-37899
426+
statement: "kernel: ksmbd: fix use-after-free in session logoff"
427+
purls:
428+
- "pkg:deb/ubuntu/linux-libc-dev@5.15.0-173.183?arch=amd64&distro=ubuntu-22.04"
429+
expired_at: 2026-09-16
430+
- id: CVE-2025-38118
431+
statement: "kernel: Linux kernel: Bluetooth MGMT use-after-free vulnerability allows privilege escalation"
432+
purls:
433+
- "pkg:deb/ubuntu/linux-libc-dev@5.15.0-173.183?arch=amd64&distro=ubuntu-22.04"
434+
expired_at: 2026-09-16
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
allure 2.37.0
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
ARG BASE_VERSION_TAG=latest
2+
ARG BASE_IMAGE=ghcr.io/nhsdigital/eps-devcontainers/node_24_python_3_13:${BASE_VERSION_TAG}
3+
4+
FROM ${BASE_IMAGE}
5+
6+
ARG SCRIPTS_DIR=/usr/local/share/eps
7+
ARG CONTAINER_NAME
8+
ARG MULTI_ARCH_TAG
9+
ARG BASE_VERSION_TAG
10+
ARG IMAGE_TAG
11+
ARG TARGETARCH
12+
13+
ENV SCRIPTS_DIR=${SCRIPTS_DIR}
14+
ENV CONTAINER_NAME=${CONTAINER_NAME}
15+
ENV MULTI_ARCH_TAG=${MULTI_ARCH_TAG}
16+
ENV BASE_VERSION_TAG=${BASE_VERSION_TAG}
17+
ENV IMAGE_TAG=${IMAGE_TAG}
18+
ENV TARGETARCH=${TARGETARCH}
19+
20+
LABEL org.opencontainers.image.description="EPS devcontainer ${CONTAINER_NAME}:${IMAGE_TAG}"
21+
LABEL org.opencontainers.image.version=${IMAGE_TAG}
22+
LABEL org.opencontainers.image.base.name=${BASE_IMAGE}
23+
LABEL org.opencontainers.image.containerName=${CONTAINER_NAME}
24+
25+
USER root
26+
COPY --chmod=755 scripts ${SCRIPTS_DIR}/${CONTAINER_NAME}
27+
WORKDIR ${SCRIPTS_DIR}/${CONTAINER_NAME}
28+
RUN ./root_install.sh
29+
30+
USER vscode
31+
32+
WORKDIR ${SCRIPTS_DIR}/${CONTAINER_NAME}
33+
COPY .tool-versions /tmp/.tool-versions
34+
RUN cat /tmp/.tool-versions >> /home/vscode/.tool-versions
35+
36+
RUN ./vscode_install.sh
37+
38+
# Switch back to root to install the devcontainer CLI globally
39+
USER root
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
3+
{
4+
"name": "EPS Devcontainer node_24 python_3.13",
5+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6+
"build": {
7+
"dockerfile": "Dockerfile",
8+
"args": {
9+
"CONTAINER_NAME": "eps_devcontainer_${localEnv:CONTAINER_NAME}",
10+
"MULTI_ARCH_TAG": "${localEnv:MULTI_ARCH_TAG}",
11+
"BASE_VERSION_TAG": "${localEnv:BASE_VERSION_TAG}",
12+
"IMAGE_TAG": "${localEnv:IMAGE_TAG}"
13+
},
14+
"context": "."
15+
},
16+
"features": {}
17+
}
18+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
# clean up
6+
apt-get clean
7+
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bash
2+
set -e
3+
4+
# install allure using asdf
5+
asdf plugin add allure
6+
asdf install
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
vulnerabilities:
2+
- id: GHSA-72hv-8253-57qq
3+
statement: "jackson-core: Number Length Constraint Bypass in Async Parser Leads to Potential DoS Condition"
4+
purls:
5+
- "pkg:maven/com.fasterxml.jackson.core/jackson-core@2.21.0"
6+
expired_at: 2026-09-12
7+
- id: CVE-2026-25547
8+
statement: "brace-expansion: brace-expansion: Denial of Service via unbounded brace range expansion"
9+
purls:
10+
- "pkg:npm/%40isaacs/brace-expansion@5.0.0"
11+
expired_at: 2026-09-12
12+
- id: CVE-2025-64756
13+
statement: "glob: glob: Command Injection Vulnerability via Malicious Filenames"
14+
purls:
15+
- "pkg:npm/glob@10.4.5"
16+
- "pkg:npm/glob@11.0.3"
17+
expired_at: 2026-09-12
18+
- id: CVE-2026-26996
19+
statement: "minimatch: minimatch: Denial of Service via specially crafted glob patterns"
20+
purls:
21+
- "pkg:npm/minimatch@10.0.3"
22+
- "pkg:npm/minimatch@9.0.5"
23+
expired_at: 2026-09-12
24+
- id: CVE-2026-27903
25+
statement: "minimatch: minimatch: Denial of Service due to unbounded recursive backtracking via crafted glob patterns"
26+
purls:
27+
- "pkg:npm/minimatch@10.0.3"
28+
- "pkg:npm/minimatch@9.0.5"
29+
expired_at: 2026-09-12
30+
- id: CVE-2026-27904
31+
statement: "minimatch: Minimatch: Denial of Service via catastrophic backtracking in glob expressions"
32+
purls:
33+
- "pkg:npm/minimatch@10.0.3"
34+
- "pkg:npm/minimatch@9.0.5"
35+
expired_at: 2026-09-12
36+
- id: CVE-2026-23745
37+
statement: "node-tar: tar: node-tar: Arbitrary file overwrite and symlink poisoning via unsanitized linkpaths in archives"
38+
purls:
39+
- "pkg:npm/tar@7.5.1"
40+
expired_at: 2026-09-12
41+
- id: CVE-2026-23950
42+
statement: "node-tar: tar: node-tar: Arbitrary file overwrite via Unicode path collision race condition"
43+
purls:
44+
- "pkg:npm/tar@7.5.1"
45+
expired_at: 2026-09-12
46+
- id: CVE-2026-24842
47+
statement: "node-tar: tar: node-tar: Arbitrary file creation via path traversal bypass in hardlink security check"
48+
purls:
49+
- "pkg:npm/tar@7.5.1"
50+
expired_at: 2026-09-12
51+
- id: CVE-2026-26960
52+
statement: "tar: node-tar: node-tar: Arbitrary file read/write via malicious archive hardlink creation"
53+
purls:
54+
- "pkg:npm/tar@7.5.1"
55+
expired_at: 2026-09-12
56+
- id: CVE-2026-29786
57+
statement: "node-tar: hardlink path traversal via drive-relative linkpath"
58+
purls:
59+
- "pkg:npm/tar@7.5.1"
60+
expired_at: 2026-09-12
61+
- id: CVE-2026-31802
62+
statement: "node-tar Symlink Path Traversal via Drive-Relative Linkpath"
63+
purls:
64+
- "pkg:npm/tar@7.5.1"
65+
expired_at: 2026-09-12
66+
- id: CVE-2026-25679
67+
statement: "url.Parse insufficiently validated the host/authority component and ac ..."
68+
purls:
69+
- "pkg:golang/stdlib@v1.25.6"
70+
expired_at: 2026-09-12
71+
- id: CVE-2026-27142
72+
statement: "Actions which insert URLs into the content attribute of HTML meta tags ..."
73+
purls:
74+
- "pkg:golang/stdlib@v1.25.6"
75+
expired_at: 2026-09-12
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ignorefile: "src/projects/regression_tests/.trivyignore_combined.yaml"

0 commit comments

Comments
 (0)