syft
hadolint
syft | hadolint | |
---|---|---|
32 | 25 | |
5,477 | 9,728 | |
2.8% | 1.1% | |
9.8 | 7.3 | |
5 days ago | 4 days ago | |
Go | Haskell | |
Apache License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
syft
-
An Overview of Kubernetes Security Projects at KubeCon Europe 2023
Syft is a popular open source CLI tool created by Anchore for generating an SBOM from container images and filesystems. It’s designed to provide a catalog of dependencies for other tools to use as a data source. It supports many popular programming languages, package managers, and container image formats.
-
Launch HN: EdgeBit (YC W23) – live software vulnerability analysis
Inside of the SBOMs, we can detect a lot: https://github.com/anchore/syft#supported-ecosystems
You're right that the active/dormant detection needs to be customized per type of runtime. We cover rpm/deb, python and java with the node and others coming very soon. The compiled languages will be our main focus next. For example, Go binaries embed some dependency metadata in the binary itself.
Also related to this effort is the "in-toto" integrity chain: https://in-toto.io/in-toto/ Since we're already connecting build to run, we aim to complete the chain.
-
Building a software bill of materials (SBOM) using open source tools
Installing syft is pretty straight forward. On any Linux/Mac environment you can run the following command to install
- Free tool for generating SBOM and CVEs against source or binaries
-
'cargo auditable' can now be used as a drop-in replacement for Cargo
The data format is supported by cargo audit, Syft and Trivy. Reading it from your own tools is also very easy.
-
12 Things You Might Not Know About Buildpacks
A Software-Bill-of-Materials (SBOM) lists all the software components included in an image. Buildpacks support SBOMs in CycloneDX, Syft and SPDX formats.
-
`cargo audit` can now scan compiled binaries
I think you can already do that using Syft.
-
Keeping up with dependencies like a boss
I'll continue relying on Anitya for the feed and syft/grype to build my SBOM and track vulnerabilities.
-
Wake-up call: why it's urgent to deal with your hardcoded credentials
Today corporations, open source projects, nonprofit foundations, and even governments are all trying to figure out how to improve the global software supply chain security. While these efforts are more than welcome, for the moment, there is hardly any straightforward way for organizations to improve on that front.
-
3 ways to improve your OSS project's resilience for Hacktoberfest
Syft is a popular open source tool that generates SBOMs for software applications and also containers. You can execute it manually and include the generated artifacts into your release, but you can also automate the process using a GitHub Action that will be triggered whenever you have a new release on your repository.
hadolint
-
Cloud Security and Resilience: DevSecOps Tools and Practices
3. Hadolint: https://github.com/hadolint/hadolint Hadolint is a Dockerfile linter that helps you build best practice Docker images, reducing vulnerabilities in your container configurations.
- Dockerfile Linter
-
Writing a Minecraft server from scratch in Bash (2022)
To skip the "move your scripts to standalone files" step some devs don't like, consider something like https://github.com/hadolint/hadolint which runs Shellcheck over inline scripts within Containerfiles.
-
I reduced the size of my Docker image by 40% – Dockerizing shell scripts
This is neat :)
I love going and making containers smaller and faster to build.
I don't know if it's useful for alpine, but adding a --mount=type=cache argument to the RUN command that `apk add`s might shave a few seconds off rebuilds. Probably not worth it, in your case, unless you're invalidating the cached layer often (adding or removing deps, intentionally building without layer caching to ensure you have the latest packages).
Hadolint is another tool worth checking out if you like spending time messing with Dockerfiles: https://github.com/hadolint/hadolint
-
Top 10 common Dockerfile linting issues
With Depot, we make use of two Dockerfile linters, hadolint and a set of Dockerfile linter rules that Semgrep has written to make a bit of a smarter Dockerfile linter.
-
hadolint - Dockerfile linter
# Download hadolint wget https://github.com/hadolint/hadolint/releases/download/v2.12.0/hadolint-Linux-x86_64 # Download SHA256 checksum wget https://github.com/hadolint/hadolint/releases/download/v2.12.0/hadolint-Linux-x86_64.sha256 # Validate the checksum sha256sum -c hadolint-Linux-x86_64.sha256 # Make the file executable chmod + ./hadolint-Linux-x86_64 # Rename the file mv hadolint-Linux-x86_64 hadolint
- Haskell Dockerfile Linter
-
Is adding a USER best practice?
The most common linter I've seen and used it Hadolint, which does: https://github.com/hadolint/hadolint/wiki/DL3002 I didn't bother checking to see if alternatives also support this as well though.
-
Checkmake: Experimental Linter/Analyzer for Makefiles
Some discussion on that here:
https://github.com/koalaman/shellcheck/issues/58
The hadolint project does shell checking for Dockerfiles and it uses shellcheck:
https://github.com/hadolint/hadolint
So the approach is definitely feasible, but you do need a new project and probably it needs to be written in Haskell.
-
Dokter: the doctor for your Dockerfiles
how does this compare to something like hadolint?
What are some alternatives?
trivy - Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more
grype - A vulnerability scanner for container images and filesystems
dockle - Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start
cdxgen - Creates CycloneDX Bill of Materials (BOM) for your projects from source and container images. Supports many languages and package managers. Integrate in your CI/CD pipeline with automatic submission to Dependency Track server. Slack: https://cyclonedx.slack.com/archives/C04NFFE1962
docker-bench-security - The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production.
clair - Vulnerability Static Analysis for Containers
stan - 🕵️ Haskell STatic ANalyser
falco - Cloud Native Runtime Security
hlint - Haskell source code suggestions
lynis - Lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. Assists with compliance testing (HIPAA/ISO27001/PCI DSS) and system hardening. Agentless, and installation optional.