Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
193 changes: 102 additions & 91 deletions v1/go.mod
Original file line number Diff line number Diff line change
@@ -1,103 +1,104 @@
module github.com/openshift/oc-mirror

go 1.24.0
go 1.25.7

require (
github.com/blang/semver/v4 v4.0.0
github.com/bshuster-repo/logrus-logstash-hook v1.0.2 // indirect
github.com/containerd/containerd v1.7.27
github.com/containerd/containerd v1.7.33
github.com/containers/image/v5 v5.33.1
github.com/docker/cli v27.5.0+incompatible
github.com/go-git/go-git/v5 v5.14.0 // indirect
github.com/go-logr/logr v1.4.2
github.com/google/go-containerregistry v0.20.3
github.com/docker/cli v29.4.0+incompatible
github.com/go-git/go-git/v5 v5.19.1 // indirect
github.com/go-logr/logr v1.4.3
github.com/google/go-containerregistry v0.21.5
github.com/google/uuid v1.6.0
github.com/joelanford/ignore v0.1.1
github.com/mholt/archiver/v3 v3.5.0
github.com/opencontainers/go-digest v1.0.0
github.com/opencontainers/image-spec v1.1.1
github.com/openshift/build-machinery-go v0.0.0-20240419090851-af9c868bcf52
github.com/operator-framework/operator-registry v1.47.0
github.com/sirupsen/logrus v1.9.3
github.com/spf13/afero v1.11.0
github.com/spf13/cobra v1.9.1
github.com/spf13/pflag v1.0.6
github.com/stretchr/testify v1.10.0
golang.org/x/crypto v0.39.0 // indirect
github.com/sirupsen/logrus v1.9.4
github.com/spf13/afero v1.15.0
github.com/spf13/cobra v1.10.2
github.com/spf13/pflag v1.0.10
github.com/stretchr/testify v1.11.1
golang.org/x/crypto v0.51.0 // indirect
gopkg.in/yaml.v2 v2.4.0
helm.sh/helm/v3 v3.18.4
k8s.io/apimachinery v0.33.2
k8s.io/cli-runtime v0.33.2
k8s.io/client-go v0.33.2
k8s.io/component-base v0.33.2 // indirect
k8s.io/klog/v2 v2.130.1
k8s.io/klog/v2 v2.140.0
k8s.io/kubectl v0.33.2
sigs.k8s.io/kustomize/kyaml v0.19.0
sigs.k8s.io/yaml v1.4.0
sigs.k8s.io/yaml v1.6.0
)

require golang.org/x/sys v0.33.0 // indirect
require golang.org/x/sys v0.44.0 // indirect

require (
github.com/containerd/errdefs v0.3.0
github.com/containerd/errdefs v1.0.0
github.com/distribution/distribution/v3 v3.0.0
github.com/mitchellh/hashstructure/v2 v2.0.2
github.com/openshift/api v0.0.0-20240529192326-16d44e6d3e7d
github.com/openshift/cincinnati-operator v1.0.2-0.20220126212014-b56cf3346609
github.com/openshift/library-go v0.0.0-20240905123346-5bdbfe35a6f5
github.com/openshift/oc v4.2.0-alpha.0+incompatible
github.com/otiai10/copy v1.14.0
golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c
golang.org/x/sync v0.15.0
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f
golang.org/x/sync v0.22.0
k8s.io/api v0.33.2
k8s.io/klog v1.0.0
)

require (
cel.dev/expr v0.19.1 // indirect
cel.dev/expr v0.25.1 // indirect
cyphar.com/go-pathrs v0.2.1 // indirect
dario.cat/mergo v1.0.1 // indirect
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/MakeNowJust/heredoc v1.0.0 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver/v3 v3.3.0 // indirect
github.com/Masterminds/semver/v3 v3.3.1 // indirect
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/Microsoft/hcsshim v0.12.9 // indirect
github.com/VividCortex/ewma v1.2.0 // indirect
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
github.com/alicebob/sqlittle v1.4.0 // indirect
github.com/andybalholm/brotli v1.1.1 // indirect
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
github.com/aws/aws-sdk-go v1.55.5 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver v3.5.1+incompatible // indirect
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/chai2010/gettext-go v1.0.2 // indirect
github.com/clipperhouse/uax29/v2 v2.6.0 // indirect
github.com/containerd/cgroups/v3 v3.0.3 // indirect
github.com/containerd/containerd/api v1.8.0 // indirect
github.com/containerd/continuity v0.4.4 // indirect
github.com/containerd/errdefs/pkg v0.3.0 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/containerd/platforms v0.2.1 // indirect
github.com/containerd/stargz-snapshotter/estargz v0.16.3 // indirect
github.com/containerd/stargz-snapshotter/estargz v0.18.2 // indirect
github.com/containerd/ttrpc v1.2.7 // indirect
github.com/containerd/typeurl/v2 v2.2.0 // indirect
github.com/containers/common v0.61.1 // indirect
github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01 // indirect
github.com/containers/ocicrypt v1.2.0 // indirect
github.com/containers/storage v1.56.1 // indirect
github.com/cyberphone/json-canonicalization v0.0.0-20231217050601-ba74d44ecf5f // indirect
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
github.com/cyphar/filepath-securejoin v0.6.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/distribution/reference v0.6.0 // indirect
github.com/docker/distribution v2.8.3+incompatible // indirect
github.com/docker/docker v27.5.0+incompatible // indirect

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

# First, examine the go.mod file to see the full context
head -110 v1/go.mod | tail -20

Repository: openshift/oc-mirror

Length of output: 1403


🏁 Script executed:

# Check if go.mod provides dependency comments showing which direct dependency pulls docker
grep -B2 -A2 "docker/docker" v1/go.mod

Repository: openshift/oc-mirror

Length of output: 500


🏁 Script executed:

# Use go mod graph to understand the dependency chain (read-only)
# This shows which direct dep pulls docker as indirect
if [ -d v1 ]; then
  cd v1 && go mod graph 2>/dev/null | grep "docker" || echo "go mod graph unavailable in sandbox"
fi

Repository: openshift/oc-mirror

Length of output: 149


🌐 Web query:

Moby github.com/docker/docker v27.5.0 CVE OSV vulnerabilities

💡 Result:

Moby version v27.5.0 is known to be affected by several security vulnerabilities discovered or disclosed after its release. Because version v27.5.0 was released prior to these findings, users are generally advised to update to version 29.5.1 or newer (or the relevant patched versions provided by their distribution) to mitigate these risks [1][2][3]. Key vulnerabilities affecting versions including v27.5.0 include: CVE-2026-41568 (GHSA-vp62-88p7-qqf5): A race condition during docker cp mount setup allows a malicious container to create empty files or directories at arbitrary absolute paths on the host filesystem [1][2]. This is patched in Docker Engine version 29.5.1 [2]. CVE-2026-41567 (GHSA-x86f-5xw2-fm2r): A vulnerability where the PUT /containers/{id}/archive API endpoint may execute container binaries on the host with daemon (root) privileges, particularly when handling compressed archives (e.g., xz, gzip) that trigger the use of external system binaries [3]. CVE-2024-29018: A vulnerability where external DNS requests from containers on 'internal' networks could potentially lead to data exfiltration [4][5][6]. Patches for this were included in later releases, such as 27.5.1 [5][6]. General Guidance: To maintain a secure environment, it is recommended to review the official Docker security announcements and your OS vendor's security advisories [7]. Because Moby/Docker frequently releases security patches, you should check for the latest stable version and apply updates promptly [7]. You can also verify specific vulnerability status for your environment via the Open Source Vulnerabilities (OSV) database or the GitHub Advisory Database using the provided CVE and GHSA identifiers [8][9][4].

Citations:


🌐 Web query:

github.com/docker/docker security advisories July 2026

💡 Result:

As of July 31, 2026, there are no specific security advisories published directly in the moby/moby repository for the month of July 2026. Security advisories for the Moby/Docker project are tracked within the moby/moby GitHub repository's security advisory section [1]. While no advisories were published for Moby in July 2026, relevant recent activity in the broader container ecosystem includes: 1. Moby/BuildKit: A security advisory (GHSA-32pv-7hq5-qhwq / CVE-2026-15791) was published on July 16, 2026, affecting BuildKit (versions <= v0.31.1). This vulnerability involves a path traversal issue in the low-level build API that could be exploited to remove the contents of the host's /tmp directory. It was fixed in BuildKit v0.31.2 [2]. 2. General Ecosystem: Third-party security reporting has noted other vulnerabilities related to Docker products in July 2026, such as those listed by external threat intelligence sources (e.g., CVE-2026-52833, CVE-2026-54540, CVE-2026-34150) [3], and package maintainers (such as SUSE) have issued updates for Docker incorporating various fixes [4]. Users should refer to the official Docker Security Announcements page and the moby/moby security advisory repository for the most authoritative and up-to-date information regarding their specific deployments [1][5].

Citations:


Resolve Moby vulnerabilities in the indirect Docker dependency.

The pinned version github.com/docker/docker v27.5.0+incompatible is affected by multiple high-severity vulnerabilities:

  • CVE-2026-41568 (GHSA-vp62-88p7-qqf5): Race condition in docker cp allows malicious containers to create arbitrary files or directories on the host.
  • CVE-2026-41567 (GHSA-x86f-5xw2-fm2r): The PUT /containers/{id}/archive API endpoint may execute container binaries on the host with daemon privileges.
  • CVE-2024-29018: Containers on internal networks can make external DNS requests, leading to potential data exfiltration.

Patches exist in version 29.5.1 and later. Because this is an indirect dependency, identify and update the direct dependency that pulls docker/docker v27.5.0+incompatible, then run go mod tidy. If the Docker packages are not reachable from the production binary in the v1 module, document the exception before merging.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v1/go.mod` at line 99, Update the direct dependency in the v1 module that
introduces github.com/docker/docker v27.5.0+incompatible, selecting a version
that resolves Docker to v29.5.1 or later, then run go mod tidy and verify the
indirect Docker entry is updated. If Docker packages are unreachable from the
production binary, document that exception instead of upgrading.

Sources: Path instructions, Learnings, Linters/SAST tools

github.com/docker/docker-credential-helpers v0.8.2 // indirect
github.com/docker/go-connections v0.5.0 // indirect
github.com/docker/docker-credential-helpers v0.9.3 // indirect
github.com/docker/go-connections v0.6.0 // indirect
github.com/docker/go-metrics v0.0.1 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect
Expand All @@ -106,40 +107,51 @@ require (
github.com/evanphx/json-patch v5.9.11+incompatible // indirect
github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/go-errors/errors v1.4.2 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.6.2 // indirect
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
github.com/go-git/go-billy/v5 v5.9.0 // indirect
github.com/go-jose/go-jose/v4 v4.1.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/analysis v0.23.0 // indirect
github.com/go-openapi/errors v0.22.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/loads v0.22.0 // indirect
github.com/go-openapi/runtime v0.28.0 // indirect
github.com/go-openapi/spec v0.21.0 // indirect
github.com/go-openapi/strfmt v0.23.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/go-openapi/validate v0.24.0 // indirect
github.com/go-openapi/analysis v0.25.0 // indirect
github.com/go-openapi/errors v0.22.7 // indirect
github.com/go-openapi/jsonpointer v0.22.5 // indirect
github.com/go-openapi/jsonreference v0.21.5 // indirect
github.com/go-openapi/loads v0.23.3 // indirect
github.com/go-openapi/runtime v0.29.4 // indirect
github.com/go-openapi/spec v0.22.4 // indirect
github.com/go-openapi/strfmt v0.26.2 // indirect
github.com/go-openapi/swag v0.26.0 // indirect
github.com/go-openapi/swag/cmdutils v0.26.0 // indirect
github.com/go-openapi/swag/conv v0.26.0 // indirect
github.com/go-openapi/swag/fileutils v0.26.0 // indirect
github.com/go-openapi/swag/jsonname v0.26.0 // indirect
github.com/go-openapi/swag/jsonutils v0.26.0 // indirect
github.com/go-openapi/swag/loading v0.26.0 // indirect
github.com/go-openapi/swag/mangling v0.26.0 // indirect
github.com/go-openapi/swag/netutils v0.26.0 // indirect
github.com/go-openapi/swag/stringutils v0.26.0 // indirect
github.com/go-openapi/swag/typeutils v0.26.0 // indirect
github.com/go-openapi/swag/yamlutils v0.26.0 // indirect
github.com/go-openapi/validate v0.25.2 // indirect
github.com/go-viper/mapstructure/v2 v2.5.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-migrate/migrate/v4 v4.17.1 // indirect
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
github.com/golang/mock v1.7.0-rc.1 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/btree v1.1.3 // indirect
github.com/google/cel-go v0.23.2 // indirect
github.com/google/cel-go v0.29.0 // indirect
github.com/google/gnostic-models v0.6.9 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/go-intervals v0.0.2 // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
github.com/gorilla/mux v1.8.1 // indirect
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
github.com/h2non/filetype v1.1.3 // indirect
github.com/h2non/go-is-svg v0.0.0-20160927212452-35e8c4b0612c // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
Expand All @@ -149,27 +161,24 @@ require (
github.com/huandu/xstrings v1.5.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/jmespath/go-jmespath v0.4.1-0.20220621161143-b0104c826a24 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.18.0 // indirect
github.com/klauspost/compress v1.18.5 // indirect
github.com/klauspost/pgzip v1.2.6 // indirect
github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec // indirect
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mattn/go-runewidth v0.0.19 // indirect
github.com/mattn/go-sqlite3 v1.14.24 // indirect
github.com/miekg/dns v1.1.61 // indirect
github.com/miekg/pkcs11 v1.1.1 // indirect
github.com/mistifyio/go-zfs/v3 v3.0.1 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/moby/docker-image-spec v1.3.1 // indirect
github.com/moby/locker v1.0.1 // indirect
github.com/moby/patternmatcher v0.6.0 // indirect
github.com/moby/spdystream v0.5.0 // indirect
github.com/moby/spdystream v0.5.1 // indirect
github.com/moby/sys/capability v0.3.0 // indirect
github.com/moby/sys/mountinfo v0.7.2 // indirect
github.com/moby/sys/sequential v0.6.0 // indirect
Expand All @@ -182,10 +191,10 @@ require (
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
github.com/nwaples/rardecode v1.1.0 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/oklog/ulid/v2 v2.1.1 // indirect
github.com/onsi/gomega v1.35.1 // indirect
github.com/opencontainers/runtime-spec v1.2.0 // indirect
github.com/opencontainers/selinux v1.11.1 // indirect
github.com/opencontainers/selinux v1.13.1 // indirect
github.com/openshift/client-go v0.0.0-20240528061634-b054aa794d87 // indirect
github.com/openshift/custom-resource-status v1.1.0 // indirect
github.com/operator-framework/api v0.27.0 // indirect
Expand All @@ -195,65 +204,67 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/proglottis/gpgme v0.1.3 // indirect
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.62.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/prometheus/client_golang v1.23.2 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.67.5 // indirect
github.com/prometheus/procfs v0.20.1 // indirect
github.com/redis/go-redis/extra/redisotel/v9 v9.5.3 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect
github.com/secure-systems-lab/go-securesystemslib v0.11.0 // indirect
github.com/sergi/go-diff v1.4.0 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sigstore/fulcio v1.6.4 // indirect
github.com/sigstore/rekor v1.3.6 // indirect
github.com/sigstore/sigstore v1.8.9 // indirect
github.com/spf13/cast v1.7.0 // indirect
github.com/sigstore/fulcio v1.8.6 // indirect
github.com/sigstore/protobuf-specs v0.5.1 // indirect
github.com/sigstore/rekor v1.5.2 // indirect
github.com/sigstore/sigstore v1.10.6 // indirect
github.com/spf13/cast v1.10.0 // indirect
github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6 // indirect
github.com/stoewer/go-strcase v1.3.0 // indirect
github.com/sylabs/sif/v2 v2.19.1 // indirect
github.com/tchap/go-patricia/v2 v2.3.1 // indirect
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 // indirect
github.com/ulikunitz/xz v0.5.12 // indirect
github.com/vbatts/tar-split v0.11.6 // indirect
github.com/ulikunitz/xz v0.5.14 // indirect
github.com/vbatts/tar-split v0.12.2 // indirect
github.com/vbauerster/mpb/v8 v8.8.3 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
github.com/xlab/treeprint v1.2.0 // indirect
go.etcd.io/bbolt v1.3.11 // indirect
go.mongodb.org/mongo-driver v1.14.0 // indirect
go.etcd.io/bbolt v1.4.3 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.6.8 // indirect
go.etcd.io/etcd/client/v3 v3.6.8 // indirect
go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect
go.opentelemetry.io/otel v1.33.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 // indirect
go.opentelemetry.io/otel/metric v1.33.0 // indirect
go.opentelemetry.io/otel/sdk v1.33.0 // indirect
go.opentelemetry.io/otel/trace v1.33.0 // indirect
go.opentelemetry.io/proto/otlp v1.4.0 // indirect
go.uber.org/atomic v1.11.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/oauth2 v0.28.0 // indirect
golang.org/x/term v0.32.0 // indirect
golang.org/x/text v0.26.0 // indirect
golang.org/x/time v0.9.0 // indirect
google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect
google.golang.org/grpc v1.68.1 // indirect
google.golang.org/protobuf v1.36.5 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 // indirect
go.opentelemetry.io/otel v1.43.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0 // indirect
go.opentelemetry.io/otel/metric v1.43.0 // indirect
go.opentelemetry.io/otel/sdk v1.43.0 // indirect
go.opentelemetry.io/otel/trace v1.43.0 // indirect
go.opentelemetry.io/proto/otlp v1.10.0 // indirect
go.yaml.in/yaml/v2 v2.4.4 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/net v0.54.0 // indirect
golang.org/x/oauth2 v0.36.0 // indirect
golang.org/x/term v0.43.0 // indirect
golang.org/x/text v0.37.0 // indirect
golang.org/x/time v0.15.0 // indirect
google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260511170946-3700d4141b60 // indirect
google.golang.org/grpc v1.81.1 // indirect

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- v1/go.mod context ---'
sed -n '245,265p' v1/go.mod
printf '%s\n' '--- gRPC references ---'
rg -n --glob '!vendor/**' 'google\.golang\.org/grpc|grpc\.io|grpc' v1/go.mod v1/go.sum 2>/dev/null | head -200
printf '%s\n' '--- module files ---'
git ls-files '*go.mod' '*go.sum'
printf '%s\n' '--- go version/tool availability ---'
go version 2>&1 || true
printf '%s\n' '--- OSV query ---'
curl -fsS https://api.osv.dev/v1/query \
  -H 'content-type: application/json' \
  --data '{"package":{"name":"google.golang.org/grpc","ecosystem":"Go"},"version":"v1.81.1"}' |
  python3 -c 'import json,sys; d=json.load(sys.stdin); print(json.dumps(d, indent=2, sort_keys=True))'

Repository: openshift/oc-mirror

Length of output: 22301


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- gRPC imports in v1 source ---'
rg -n --glob '*.go' 'google\.golang\.org/grpc|grpc\.credentials|grpc\.status|grpc\.codes|grpc\.metadata|grpc\.credentials' v1 || true
printf '%s\n' '--- direct and indirect requirements ---'
sed -n '1,190p' v1/go.mod
printf '%s\n' '--- xDS references in v1 source ---'
rg -n --glob '*.go' 'xds|RBAC|NewClient|grpc\.Dial|grpc\.NewServer|grpc\.Serve|grpc\.ClientConn' v1 || true

Repository: openshift/oc-mirror

Length of output: 9531


🏁 Script executed:

#!/bin/bash
set -eu
cd v1
printf '%s\n' '--- module dependency path ---'
GOTOOLCHAIN=local GOPROXY=off go mod why -m google.golang.org/grpc 2>&1 || true
printf '%s\n' '--- dependency graph edges to gRPC ---'
GOTOOLCHAIN=local GOPROXY=off go mod graph 2>/dev/null |
  awk '$2 ~ /^google\.golang\.org\/grpc(@|$)/ {print}' || true
printf '%s\n' '--- module replacements and exclusions ---'
rg -n '^(replace|exclude)\b|google\.golang\.org/grpc' go.mod

Repository: openshift/oc-mirror

Length of output: 1556


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- cached source locations ---'
GOMODCACHE="$(go env GOMODCACHE)"
find "$GOMODCACHE" -type f \( \
  -path '*containerd*errdefs*/*.go' -o \
  -path '*google.golang.org/grpc* v1.81.1*/*/codes/*.go' \
\) 2>/dev/null | head -50 || true
printf '%s\n' '--- containerd errdefs imports ---'
curl -fsSL https://raw.githubusercontent.com/containerd/containerd/v1.7.33/errdefs/grpc.go |
  sed -n '1,100p'
printf '%s\n' '--- grpc/codes imports ---'
curl -fsSL https://raw.githubusercontent.com/grpc/grpc-go/v1.81.1/codes/codes.go |
  sed -n '1,80p'

Repository: openshift/oc-mirror

Length of output: 7550


🏁 Script executed:

#!/bin/bash
set -eu
cd v1
printf '%s\n' '--- all selected gRPC packages in the build graph ---'
GOTOOLCHAIN=local GOPROXY=off go list -deps -e ./... 2>/dev/null |
  awk '/^google\.golang\.org\/grpc(\/|$)/ {print}' |
  sort -u
printf '%s\n' '--- affected OSV package paths present in the build graph ---'
GOTOOLCHAIN=local GOPROXY=off go list -deps -e ./... 2>/dev/null |
  awk '
    $0 == "google.golang.org/grpc/internal/transport" ||
    $0 == "google.golang.org/grpc/internal/xds/rbac" {print}
  ' |
  sort -u

Repository: openshift/oc-mirror

Length of output: 2910


🏁 Script executed:

#!/bin/bash
set -eu
cd v1
printf '%s\n' '--- shortest paths to affected gRPC packages ---'
for pkg in \
  google.golang.org/grpc \
  google.golang.org/grpc/internal/transport \
  google.golang.org/grpc/internal/xds/rbac
do
  printf '\n[%s]\n' "$pkg"
  GOTOOLCHAIN=local GOPROXY=off go mod why "$pkg" 2>&1 || true
done
printf '%s\n' '--- direct source imports of gRPC server/client APIs ---'
rg -n --glob '*.go' \
  'google\.golang\.org/grpc(/|")|grpc\.(NewServer|Serve|Dial|DialContext|NewClient)' \
  . --glob '!vendor/**' --glob '!**/testdata/**' | head -200 || true

Repository: openshift/oc-mirror

Length of output: 2771


🏁 Script executed:

#!/bin/bash
set -eu
cd v1
GOTOOLCHAIN=local GOPROXY=off go list -deps -json -e ./... 2>/dev/null |
python3 - <<'PY'
import json
import sys

targets = {
    "google.golang.org/grpc",
    "google.golang.org/grpc/internal/transport",
    "google.golang.org/grpc/internal/xds/rbac",
}
records = []
decoder = json.JSONDecoder()
data = sys.stdin.read()
pos = 0
while pos < len(data):
    while pos < len(data) and data[pos].isspace():
        pos += 1
    if pos >= len(data):
        break
    try:
        obj, end = decoder.raw_decode(data, pos)
    except json.JSONDecodeError:
        break
    records.append(obj)
    pos = end

for target in sorted(targets):
    print(f"[importers of {target}]")
    found = False
    for obj in records:
        if target in obj.get("Imports", []):
            print(obj.get("ImportPath", "<unknown>"))
            found = True
    if not found:
        print("<none>")
PY
printf '%s\n' '--- production status imports ---'
sed -n '1,100p' "$(go env GOMODCACHE)/google.golang.org/grpc@v1.81.1/status/status.go"

Repository: openshift/oc-mirror

Length of output: 3951


🏁 Script executed:

#!/bin/bash
set -eu
cd v1
python3 - <<'PY'
import json
import os
import subprocess

cmd = [
    "go", "list", "-deps", "-json", "-e", "./...",
]
env = os.environ.copy()
env.update({"GOTOOLCHAIN": "local", "GOPROXY": "off"})
raw = subprocess.run(cmd, env=env, text=True, capture_output=True, check=False).stdout
decoder = json.JSONDecoder()
pos = 0
records = []
while pos < len(raw):
    while pos < len(raw) and raw[pos].isspace():
        pos += 1
    if pos >= len(raw):
        break
    obj, pos = decoder.raw_decode(raw, pos)
    records.append(obj)

targets = {
    "google.golang.org/grpc",
    "google.golang.org/grpc/internal/transport",
    "google.golang.org/grpc/internal/xds/rbac",
}
for target in sorted(targets):
    print(f"[importers of {target}]")
    importers = sorted(
        obj.get("ImportPath", "<unknown>")
        for obj in records
        if target in obj.get("Imports", [])
    )
    print("\n".join(importers) if importers else "<none>")
PY

Repository: openshift/oc-mirror

Length of output: 1123


Upgrade google.golang.org/grpc before release.

The production build graph includes google.golang.org/grpc/internal/transport. Upgrade from v1.81.1 to v1.82.1 or later, then run go mod tidy. The xDS RBAC package is not included, but the HTTP/2 transport finding remains.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@v1/go.mod` at line 257, Update the google.golang.org/grpc dependency in
go.mod from v1.81.1 to v1.82.1 or later, then run go mod tidy to refresh the
module graph and checksums while preserving the production dependency on
google.golang.org/grpc/internal/transport.

Sources: Path instructions, Learnings, Linters/SAST tools

google.golang.org/protobuf v1.36.11 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/apiextensions-apiserver v0.33.2 // indirect
k8s.io/apiserver v0.33.2 // indirect
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
oras.land/oras-go/v2 v2.6.0 // indirect
k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d // indirect
oras.land/oras-go/v2 v2.6.2 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect
sigs.k8s.io/controller-runtime v0.19.0 // indirect
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
Expand Down
Loading