Proposal
The testcontainers-go compose module still depends on github.com/docker/docker@v28.5.2+incompatible which has currently 5 go vulns for its namesgenerator package.
The latest released tag of docker/docker is github.com/docker/docker@v28.5.2+incompatible, and the follow-up releases were and will only be in github.com/moby/moby/*@v29+ tags, but the used namesgenerator package became an internal package starting with v29.0.0.
Release Notes for docker // moby v29.0.0:
The Go module github.com/docker/docker is deprecated in favor of github.com/moby/moby/client and github.com/moby/moby/api. The github.com/moby/moby module is considered an internal implementation detail - the only supported public modules are client and api.
Starting with v29, releases are tagged with the docker- prefix (e.g., docker-v29.0.0). This only affects Go module users and package maintainers.
Instead, it seems more viable to avoid having docker/docker, moby/moby or moby/moby/v2 as a dependency.
The dependency tree that makes testcontainers/testcontainers-go/modules/compose to depend on docker/docker is:
- github.com/testcontainers/testcontainers-go/modules/compose
-- github.com/docker/compose/v5/pkg/compose
--- github.com/docker/buildx/store/storeutil
---- github.com/docker/buildx/store
----- github.com/docker/docker/pkg/namesgenerator
We can see that there are 2 modules in the middle of that tree : docker/compose/v5 , docker/buildx
Proposed Plan for fix Go vulns reports for users of testcontainers-go as fast as possible:
Additionally, proposed Plan for fix Go vulns reports for all dependencies:
References for the Go vulns:
Do you have another plan to avoid depending on github.com/docker/docker@v28.5.2+incompatible ?
Proposal
The testcontainers-go compose module still depends on
github.com/docker/docker@v28.5.2+incompatiblewhich has currently 5 go vulns for itsnamesgeneratorpackage.The latest released tag of
docker/dockerisgithub.com/docker/docker@v28.5.2+incompatible, and the follow-up releases were and will only be ingithub.com/moby/moby/*@v29+tags, but the usednamesgeneratorpackage became an internal package starting with v29.0.0.Release Notes for docker // moby v29.0.0:
Instead, it seems more viable to avoid having
docker/docker,moby/mobyormoby/moby/v2as a dependency.The dependency tree that makes
testcontainers/testcontainers-go/modules/composeto depend ondocker/dockeris:We can see that there are 2 modules in the middle of that tree :
docker/compose/v5,docker/buildxProposed Plan for fix Go vulns reports for users of testcontainers-go as fast as possible:
docker/buildxmust be made independent fromdocker/dockerby replacing the import of packagedocker/docker/pkg/namesgeneratorwith an internal implementation for neutral builder IDs - WIPdocker/buildxpublishes new minor/patch release tagtestcontainers/testcontainers-go/modules/composecan just rungo get -u github.com/docker/buildx@latest && go mod tidyAdditionally, proposed Plan for fix Go vulns reports for all dependencies:
docker/buildxmust be made independent fromdocker/dockerby replacing the import of packagedocker/docker/pkg/namesgeneratorwith an internal implementation for neutral builder IDs - WIPdocker/buildxpublishes new release tagdocker/compose/v5uses new release tag ofdocker/buildxand publishes new release tagtestcontainers/testcontainers-go/modules/composeuses new release tag ofdocker/compose/v5References for the Go vulns:
Do you have another plan to avoid depending on
github.com/docker/docker@v28.5.2+incompatible?