Skip to content

Commit 60b0ebc

Browse files
fix(security): pass Trivy scan for OpenAPI CLIs and bump tool versions
Bump Go-based CLIs to patched releases, consolidate OpenAPI npm installs with CVE overrides, and extend trivyignore for remaining base-image findings. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent d8b1721 commit 60b0ebc

5 files changed

Lines changed: 66 additions & 28 deletions

File tree

.trivyignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,22 @@ CVE-2026-42504 exp:2026-08-19
8282
CVE-2026-44973 exp:2026-08-19
8383
CVE-2026-45022 exp:2026-08-19
8484
CVE-2026-46680 exp:2026-08-19
85+
#
86+
# Go stdlib / x/crypto / x/net / containerd — base image and pinned CLIs without fixed releases yet.
87+
CVE-2026-25681 exp:2026-08-19
88+
CVE-2026-27136 exp:2026-08-19
89+
CVE-2026-27145 exp:2026-08-19
90+
CVE-2026-39821 exp:2026-08-19
91+
CVE-2026-39822 exp:2026-08-19
92+
CVE-2026-39828 exp:2026-08-19
93+
CVE-2026-39829 exp:2026-08-19
94+
CVE-2026-39830 exp:2026-08-19
95+
CVE-2026-39831 exp:2026-08-19
96+
CVE-2026-39832 exp:2026-08-19
97+
CVE-2026-39835 exp:2026-08-19
98+
CVE-2026-42508 exp:2026-08-19
99+
CVE-2026-46595 exp:2026-08-19
100+
CVE-2026-46597 exp:2026-08-19
101+
CVE-2026-53488 exp:2026-08-19
102+
CVE-2026-53489 exp:2026-08-19
103+
CVE-2026-53492 exp:2026-08-19

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,15 @@
6262

6363
- **release:** configure semantic-release to treat `chore` commits as minor releases and include them in generated release notes
6464
- **image:** pre-cache commonly used GitHub Actions from `manifest.yaml` into the runner `_work/_actions` directory during image build
65+
- **image:** bump syft, grype, yq, argo, kargo, pack, and kubectl to latest releases
66+
- **image:** install OpenAPI npm CLIs in a single prefix with transitive dependency CVE overrides
6567

6668
### Fixed
6769

70+
### Security
71+
72+
- **image:** extend `.trivyignore` for unfixed Go CVEs in base containerd and pinned CLIs
73+
6874
## [1.2.3](https://github.com/DeerHide/python-github-runner/compare/v1.2.2...v1.2.3) (2026-04-25)
6975

7076
### Added

Containerfile

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ RUN curl -fsSL https://aquasecurity.github.io/trivy-repo/deb/public.key \
4949
&& rm -rf /var/lib/apt/lists/*
5050

5151
# Install syft (SBOM generator)
52-
ARG SYFT_VERSION=1.43.0
52+
ARG SYFT_VERSION=1.46.0
5353
RUN curl -sSL -o /tmp/syft.tgz \
5454
"https://github.com/anchore/syft/releases/download/v${SYFT_VERSION}/syft_${SYFT_VERSION}_linux_amd64.tar.gz" \
5555
&& tar -xzf /tmp/syft.tgz -C /tmp syft \
@@ -58,7 +58,7 @@ RUN curl -sSL -o /tmp/syft.tgz \
5858
&& rm -f /tmp/syft.tgz
5959

6060
# Install grype (vulnerability scanner)
61-
ARG GRYPE_VERSION=0.111.1
61+
ARG GRYPE_VERSION=0.115.0
6262
RUN curl -sSL -o /tmp/grype.tgz \
6363
"https://github.com/anchore/grype/releases/download/v${GRYPE_VERSION}/grype_${GRYPE_VERSION}_linux_amd64.tar.gz" \
6464
&& tar -xzf /tmp/grype.tgz -C /tmp grype \
@@ -84,33 +84,33 @@ RUN curl -sSL -o /usr/local/bin/hadolint \
8484
&& chmod +x /usr/local/bin/hadolint
8585

8686
# Install yq (YAML processor)
87-
ARG YQ_VERSION=4.53.2
87+
ARG YQ_VERSION=4.53.3
8888
RUN curl -sSL -o /usr/local/bin/yq \
8989
"https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64" \
9090
&& chmod +x /usr/local/bin/yq
9191

9292
# Install Argo Workflows CLI
93-
ARG ARGO_VERSION=4.0.4
93+
ARG ARGO_VERSION=4.0.7
9494
RUN curl -sSL -o /tmp/argo-linux-amd64.gz \
9595
"https://github.com/argoproj/argo-workflows/releases/download/v${ARGO_VERSION}/argo-linux-amd64.gz" \
9696
&& gunzip /tmp/argo-linux-amd64.gz \
9797
&& mv /tmp/argo-linux-amd64 /usr/local/bin/argo \
9898
&& chmod +x /usr/local/bin/argo
9999

100100
# Install Kargo CLI
101-
ARG KARGO_VERSION=1.9.6
101+
ARG KARGO_VERSION=1.10.8
102102
RUN curl -sSL -o /usr/local/bin/kargo \
103103
"https://github.com/akuity/kargo/releases/download/v${KARGO_VERSION}/kargo-linux-amd64" \
104104
&& chmod +x /usr/local/bin/kargo
105105

106106
# Install kubectl (in-cluster kpack Build CRs from green ARC runners)
107-
ARG KUBECTL_VERSION=1.33.2
107+
ARG KUBECTL_VERSION=1.36.2
108108
RUN curl -sSL -o /usr/local/bin/kubectl \
109109
"https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl" \
110110
&& chmod +x /usr/local/bin/kubectl
111111

112112
# Install pack (Cloud Native Buildpacks CLI)
113-
ARG PACK_VERSION=0.40.2
113+
ARG PACK_VERSION=0.40.8
114114
RUN curl -sSL -o /tmp/pack.tgz \
115115
"https://github.com/buildpacks/pack/releases/download/v${PACK_VERSION}/pack-v${PACK_VERSION}-linux.tgz" \
116116
&& tar -xzf /tmp/pack.tgz -C /usr/local/bin/ \
@@ -134,26 +134,24 @@ RUN curl -sSL -o /tmp/bun.zip \
134134
&& ln -sf /usr/local/bin/bun /usr/local/bin/bunx \
135135
&& rm -rf /tmp/bun.zip /tmp/bun-linux-x64-baseline
136136

137-
# Install Redocly CLI (OpenAPI linter and bundler)
138-
# OpenAPI tool versions kept aligned with customer_backend/scripts/openapi-tools.env
137+
# OpenAPI CLIs: oasdiff is a standalone Go binary; npm-only tools share one prefix
138+
# install with CVE overrides (openapi-tools/package.json). Versions aligned with
139+
# customer_backend/scripts/openapi-tools.env and manifest.yaml build args.
139140
ARG REDOCLY_CLI_VERSION=2.39.0
140-
# hadolint ignore=DL3013
141-
RUN npm install -g "@redocly/cli@${REDOCLY_CLI_VERSION}"
142-
143-
# Install Spectral CLI (OpenAPI/AsyncAPI linter)
144141
ARG SPECTRAL_CLI_VERSION=6.16.1
145-
# hadolint ignore=DL3013
146-
RUN npm install -g "@stoplight/spectral-cli@${SPECTRAL_CLI_VERSION}"
147-
148-
# Install Portman (OpenAPI to Postman contract tests)
149142
ARG PORTMAN_VERSION=1.35.0
150-
# hadolint ignore=DL3013
151-
RUN npm install -g "@apideck/portman@${PORTMAN_VERSION}"
152-
153-
# Install Newman (Postman collection runner)
154143
ARG NEWMAN_VERSION=6.2.2
144+
COPY openapi-tools/package.json /tmp/openapi-tools/
155145
# hadolint ignore=DL3013
156-
RUN npm install -g "newman@${NEWMAN_VERSION}"
146+
RUN npm install --prefix /tmp/openapi-tools --omit=dev --no-package-lock \
147+
"@redocly/cli@${REDOCLY_CLI_VERSION}" \
148+
"@stoplight/spectral-cli@${SPECTRAL_CLI_VERSION}" \
149+
"@apideck/portman@${PORTMAN_VERSION}" \
150+
"newman@${NEWMAN_VERSION}" \
151+
&& for bin in redocly openapi spectral portman newman; do \
152+
ln -sf "/tmp/openapi-tools/node_modules/.bin/${bin}" "/usr/local/bin/${bin}"; \
153+
done \
154+
&& rm -rf /root/.npm
157155

158156
# Install oasdiff (OpenAPI diff and breaking-change detection)
159157
ARG OASDIFF_VERSION=1.23.0

manifest.yaml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@ build:
66
format: oci
77
args:
88
- RUNNER_VERSION=2.335.1
9-
- ARGO_VERSION=4.0.5
10-
- KARGO_VERSION=1.10.2
11-
- PACK_VERSION=0.40.3
9+
- ARGO_VERSION=4.0.7
10+
- KARGO_VERSION=1.10.8
11+
- PACK_VERSION=0.40.8
12+
- KUBECTL_VERSION=1.36.2
1213
- DIVE_VERSION=0.13.1
13-
- SYFT_VERSION=1.43.0
14-
- GRYPE_VERSION=0.111.1
14+
- SYFT_VERSION=1.46.0
15+
- GRYPE_VERSION=0.115.0
1516
- HADOLINT_VERSION=2.14.0
16-
- YQ_VERSION=4.53.2
17+
- YQ_VERSION=4.53.3
1718
- NODE_VERSION=24.16.0
1819
- BUN_VERSION=1.3.14
1920
- REDOCLY_CLI_VERSION=2.39.0

openapi-tools/package.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"name": "openapi-tools",
3+
"private": true,
4+
"description": "CVE overrides for OpenAPI npm CLIs installed via Containerfile. Tool versions come from manifest.yaml build args.",
5+
"overrides": {
6+
"flatted": "3.4.2",
7+
"handlebars": "4.7.9",
8+
"lodash": "4.18.0",
9+
"node-forge": "1.4.0",
10+
"sigstore": "4.1.1",
11+
"underscore": "1.13.8",
12+
"undici": "6.27.0"
13+
}
14+
}

0 commit comments

Comments
 (0)