compose-lint
Security-focused linter for Docker Compose files. Catches dangerous misconfigurations before they reach production. Grounded in OWASP and CIS Docker Benchmark.
compose-lint: Security-focused linter for Docker Compose files. Catches dangerous misconfigurations before they reach production. Grounded in OWASP and CIS Docker Benchmark.
Security-focused linter for Docker Compose files. Catches dangerous misconfigurations before they reach production.
What the project is
compose-lint is a Python project hosted on GitHub. Security-focused linter for Docker Compose files. Catches dangerous misconfigurations before they reach production. Grounded in OWASP and CIS Docker Benchmark. Security-focused linter for Docker Compose files. Catches dangerous misconfigurations before they reach production . and auto-fixes the unambiguous ones, dry-run first. Grounded in OWASP and the CIS Docker Benchmark. The repository is maintained by tmatens and tracks activity through its public issue tracker and commit history. Readers who want a working example rather than a bare library will find the documentation and the linked resources useful for getting a first build running.
What it offers
The compose-lint repository documents several concrete capabilities that shape how people use it. Privilege flaws . privileged: true, missing cap drop, no-new-privileges not set, root user, host namespace sharing Network exposure . wildcard port binds, network mode: host Supply-chain . unpinned images, missing digest pins Filesystem and credential leaks . Docker socket mounts, sensitive host paths, plaintext credentials in environment: /var/run/docker.sock:/var/run/docker.sock These points are taken from the project README, so they reflect what the maintainers actually ship rather than marketing claims. Checking the file list and the example directories gives a fuller picture of how each piece fits together.
How to set it up
Getting compose-lint running starts with cloning the source from https://github.com/tmatens/compose-lint. The README lists the commands needed to fetch the code and build or launch it. Representative steps from the documentation include: pip install compose-lint pip install --require-hashes -r requirements.lock # dependencies, hash-pinned pip install --no-deps compose-lint==X.Y.Z # the tool, version-pinned docker run --rm -v "$(pwd):/src" composelint/compose-lint. After the code is on disk, the project instructions walk through configuration and any dependencies. Following the order shown in the README avoids the common setup mistakes that come from mixing steps.
License and project status
compose-lint is written primarily in Python and is released under the MIT license, which sets the terms for reuse and redistribution. The project reports around 49 stars on GitHub, a signal of how many developers have bookmarked it. The source was last updated on 2026-08-21. The canonical location is https://github.com/tmatens/compose-lint, where the license file, the changelog and the open issues give the most current state of the work. Anyone planning to depend on it should read the license text directly before shipping it inside another product.
Editorial conclusion
The compose-lint source lives at https://github.com/tmatens/compose-lint under the MIT license and is mainly written in Python. The README and the linked examples remain the place to confirm the current behaviour before adopting the project.
Community notes