Discover / Security
Clair
by quayGo
Static analysis of vulnerabilities in application containers.
Maturity: stable because 11y old, v4.9.0 released 236d ago. Derived from release and commit history, not a rating.
- Stars
- 11k
- Forks
- 1.2k
- Downloads / mo
- —
- Last commit
- 2026-07-29
- License
- Apache-2.0
- Open issues
- 55
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · medium confidenceTeams shipping container images have no systematic way to know which known vulnerabilities are present inside those images.
Use it when
When you want an API driven vulnerability index of container images, for example in a registry or CI pipeline.
Not the right pick when
Not for runtime threat detection, and the README warns the main branch may be unstable so you must use tagged releases.
Capabilities
- static analysis of vulnerabilities in application containers
- API for clients to index container images
- matches indexed images against known vulnerabilities
- supports OCI and Docker image formats
Cost: Free and open source
Video walkthroughs
Automating Data Quality and Cleansing with CLAIRE GPT
CLAIRE GPT is a business-oriented tool powered by Informatica's AI machine learning engine, CLAIRE.
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release v4.9.0
Published 2025-12-10
<a name="unreleased"></a>
[Unreleased]
<a name="v4.9.0"></a>
[v4.9.0] - 2025-12-10
Claircore
- enrichment: don't consider vulnerability.Description for enrichments
<details>
Descriptions can often refer to different CVEs or multiple CVEs to the
actual CVE that is associated to the vulnerability leading to erroneous scores.
We should only consider the Name and Links fields.
</details>
- postgres: better GetEnrichments query
<details>
The new query is in "normal" JOIN-and-WHERE form and does not use
the latest_update_operations view. In testing, this was much quicker
to execute.
</details>
- rpm: fix use of
unique.Handlepinningfs.FS
<details>
Previous code wouldn't allow memory resources to be reclaimed and could
lead to excessive memory consumption by the indexer in v1.5.40.
</details>
- vex: account for new VEX RPM module logic
<details>
The Red Hat security data team are updating how modules are represented
in VEX files, this change accounts for that update. Specifically, module
relationships are no longer formally expressed through VEX
relationships but rather as PURL qualifiers.
</details>
- cvss: switch to NVD 2.0 JSON feeds
<details>
NVD deprecated their 1.1 JSON feed which claircore relied on for CVSS
enrichment data. This change updates the CVSS enricher updater to use
the 2.0 feeds.
</details>
- chore: upgrade from pgx v4 to v5
<details>
In July 2025 v4 will reach end of life. This change updates claircore to use v5.
</details>
- vex: allow timeout to pull down VEX archive to be configurable
<details>
As part of the RHEL VEX update process claircore will initially pull down an
archive of all CVEs, this archive includes all CVEs not just the ones
that affect Red Hat products. This means the file (while compressed)
will be quite large. The code previously allowed a timeout of 2 minutes
to pull down this file. This value remains the default but users have the
option to configure it to a different value using
updaters.config.rhel-vex.compressed_file_timeout.
</details>
- rpm: add function to determine if packages are installed from RPMs
<details>
This change allows language detectors to be able to discard packages
that have been determined to have come from an RPM package. This ensures
that only the RPM package is matched to advisories and reduces
false-positives where language packages are patched but their metadata
is not updated (or cannot be updated).
</details>
- sbom: add encoder to encode index reports as SPDX documents
<details>
This change adds the ability in claircore to convert an index report
into an SPDX-2.3 document.
</details>
- rhel: deprecate updater in favor of VEX updater
<details>
We can extract vulnerability information about containers from the
VEX data. This negates the need to look for it in the cvemap.xml file.
This change modifies the VEX updater to allow for ingesting
vulnerabilities in a way that can be matched my the RHCC matcher.
</details>
- suse: dynamic distribution discovery
<details>
Previously Suse distributions were static/predefined in the code, the
lack of updates to those definitions had allowed the Suse support lapse.
This change adds dynamic support for two Suse distro flavors:
suse.linux.enterprise.server and opensuse.leap.
</details>
All
- 1aca06b8: fix formatted print calls
Amqp
- 1a9f8769: add deprecation notice
Build(Deps)
Tags
README
Clair
Note: The main branch may be in an unstable or even broken state during development.
Please use [releases] instead of the main branch in order to get stable binaries.
Clair is an open source project for the [static analysis] of vulnerabilities in
application containers (currently including [OCI] and [docker]).
Clients use the Clair API to index their container images and can then match it against known vulnerabilities.
Our goal is to enable a more transparent view of the security of container-based infrastructure.
Thus, the project was named Clair after the French term which translates to clear, bright, transparent.
[The book] contains all the documentation on Clair's architecture and operation.
[OCI]: https://github.com/opencontainers/image-spec/blob/master/spec.md
[docker]: https://github.com/docker/docker/blob/master/image/spec/v1.2.md
[releases]: https://github.com/quay/clair/releases
[static analysis]: https://en.wikipedia.org/wiki/Static_program_analysis
[The book]: https://quay.github.io/clair/
Community
- Mailing List: clair-dev@googlegroups.com
- IRC: #clair on freenode.org
- Bugs: issues
Contributing
See CONTRIBUTING for details on submitting patches and the contribution workflow.
License
Clair is under the Apache 2.0 license. See the LICENSE file for details.