For a Dockerfile linter, the first results are lukasmartinelli/hadolint (Hadolint is a purpose-built Dockerfile linter that checks syntax, enforces best practices, and detects security vulnerabilities, and it supports CI/CD integration and rule configurability, making it a comprehensive solution for automated Dockerfile analysis), hadolint/hadolint (Hadolint is a dedicated Dockerfile linter that parses build instructions to detect security vulnerabilities, efficiency issues, and common scripting errors, directly matching the need for automated best-practice and security checks) and bridgecrewio/checkov (Checkov is a static analysis tool for infrastructure as code that includes Dockerfile checks, making it suitable for identifying misconfigurations and security issues, though it is broader in scope than a dedicated Dockerfile linter). super-linter/super-linter and koalaman/shellcheck round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Automated analysis tools that scan Dockerfiles to identify security vulnerabilities, configuration errors, and optimization opportunities.
Hadolint is a Dockerfile linter and Haskell-based static analysis tool. It analyzes container image configuration files against a set of rules to ensure valid syntax and adherence to best practices. The tool functions as a wrapper for shell checkers to inspect inline shell commands and scripts within build instructions, identifying scripting errors and bugs. It also includes security auditing capabilities to warn when images are pulled from registries not explicitly listed as trusted. The analysis engine covers quality assurance through label schema validation, syntax pattern verification, a
Hadolint is a purpose-built Dockerfile linter that checks syntax, enforces best practices, and detects security vulnerabilities, and it supports CI/CD integration and rule configurability, making it a comprehensive solution for automated Dockerfile analysis.
Hadolint is a static analysis tool designed to validate container build configurations. It functions as a security scanner and configuration auditor, parsing build instructions into a structured format to identify deviations from security and efficiency standards. The tool distinguishes itself by performing deep inspection of embedded shell commands. By tokenizing and analyzing these scripts, it detects common scripting errors and security vulnerabilities that might otherwise persist within a container image. It integrates external analysis tools to provide specialized validation for these in
Hadolint is a dedicated Dockerfile linter that parses build instructions to detect security vulnerabilities, efficiency issues, and common scripting errors, directly matching the need for automated best-practice and security checks.
Checkov is a static analysis tool and security scanner designed to identify misconfigurations in infrastructure as code, container images, and Kubernetes configurations. It functions as a cloud security posture tool, an SCA vulnerability scanner, and a secret scanning utility to prevent security breaches and version control leaks. The project distinguishes itself through deep graph analysis and variable resolution, allowing it to map relationships between interconnected resources and evaluate the final state of infrastructure attributes. It provides extensibility for defining custom security
Checkov is a static analysis tool for infrastructure as code that includes Dockerfile checks, making it suitable for identifying misconfigurations and security issues, though it is broader in scope than a dedicated Dockerfile linter.
Combination of multiple linters to run as a GitHub Action or standalone
Super-linter is a meta-linter that runs many different linters—including hadolint for Dockerfiles—so it can check Dockerfiles for common issues, but its primary purpose is combining multiple language and infrastructure linters rather than being a focused Dockerfile linting tool.
This project is a static analysis tool and linter designed to improve the quality, reliability, and portability of shell scripts. By performing deep structural analysis, it identifies common programming pitfalls, syntax errors, and security vulnerabilities before scripts are executed. It functions as an automated code reviewer that enforces best practices and helps developers maintain consistent, robust code across different operating environments. The tool distinguishes itself through its dialect-aware grammar resolution, which adapts its parsing logic based on the specific shell interpreter
Shellcheck is a static analysis tool for shell scripts, not Dockerfiles, so it does not check Dockerfile best practices, security issues, or syntax the way this search requires.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| lukasmartinelli/hadolint | 12.2K | Haskell | GPL-3.0 | |
| hadolint/hadolint | 12.2K | Haskell | GPL-3.0 | |
| 8.8K |
| Python |
| Apache-2.0 |
| super-linter/super-linter | 10.5K | Shell | MIT |
| koalaman/shellcheck | 39.6K | Haskell | GPL-3.0 |