Health Data Aggregator Across Wearables
Build a privacy-conscious system that aggregates health and activity data from multiple wearable sources into one unified, local-first personal data...
Build a defensive tool that inspects Docker image layers, inventories installed packages, matches known vulnerabilities against an updatable feed, and produces policy-gated security reports for CI and human review.

A command-line and CI-friendly tool that inspects a Docker image layer by layer, builds an inventory of installed packages and their versions, and matches them against an updatable known-vulnerability feed to produce a severity-sorted, policy-gated security report. The same pipeline also surfaces configuration smells (privileged user, exposed ports, missing read-only rootfs) and optional, carefully-framed secrets-scan hints — all so a platform team can answer one question repeatedly: is this image safe enough to promote?
>Scanning is not certifying. No scanner can prove an image is free of vulnerabilities: feeds lag behind disclosures, distro patches are backported in ways that version matching only approximates, and some vulnerabilities are only visible at runtime. This tool reports what it can match, marks confidence honestly, and leaves the promotion decision to a human gate — it never claims an image is “fully secure.”
Teams adopt containers faster than they adopt image hygiene. A base image pulled six months ago carries packages nobody remembers; a docker build today silently inherits every vulnerability in its parent. Enterprise scanners solve this but cost money and hide their matching logic — while an ad-hoc docker scan run produces a wall of CVEs with no policy, no history, and no way to gate a pipeline. What’s missing is a scanner whose matching logic is understandable: how layers are inspected, how package inventories are built, how a CVE feed is applied, and how a report becomes a pass/fail gate the team actually trusts.
The scanner takes an image reference (alpine:3.19, registry.example.com/app:1.4.2) and either uses the local Docker daemon or pulls the manifest and layers directly from a registry. Pulling directly avoids depending on a daemon and makes CI execution predictable.
Each filesystem layer is unpacked (streamed, not fully materialized where possible) and scanned for package manifests — /var/lib/dpkg/status for Debian/Ubuntu, /var/lib/rpm/Packages for RHEL-family, Alpine’s /lib/apk/db/installed, and language lockfiles where enabled (package-lock.json, requirements.txt, go.sum). The output is a deduplicated inventory of (package, version, source-layer) tuples — the same inventory a human auditor would build by hand, but complete.
The inventory is matched against a locally-cached, periodically-updated vulnerability feed (for example, the OSV database or a Trivy-style DB snapshot). Matches are classified by severity using the feed’s own ratings, and each finding records the reason — the CVE ID, the affected range, and the matched package version — so results are auditable rather than a black-box score.
Beyond package CVEs, the scanner checks image configuration from the metadata (docker inspect-style): running as root, ADD/COPY with secrets in history, exposed management ports, missing read-only root filesystem, missing non-root user, and unpinned base-image tags. These are policy items a team can tune, not feed-dependent findings.
Reports are JSON (for CI) and Markdown/HTML (for humans): a severity summary, the full finding list grouped by package or layer, and a policy verdict — pass, warn, or fail — computed from configurable thresholds (for example, “fail on any critical in the final image, warn on high”). The gate is explicit: the tool recommends, the pipeline owner decides.
RUN step to fix--json for CI and human-readable formats; support a --update-feed command.RUN step rather than guessing.--update-feed command.Language lockfile scanning, a web dashboard, registry-fleet crawling, and full SBOM export are natural second-phase additions.
--update-feed command and printed feed date keep results honest.This project is deliberately the artifact-scanning complement to the site’s Automated Web App Vulnerability Scanner. That tool analyzes the web application and its runtime surface — crawling routes, testing inputs, and probing HTTP behavior of a live site you are authorized to test. This tool analyzes container image artifacts — layers, installed packages, dependencies, configuration, and supply-chain risk — before anything runs. Different surface, different data, different gate (image promotion vs live-site release). They share the defensive, consent-based ethos and cross-link as the scanner family, but one answers “is this running app exposed?” and the other answers “is this image safe to run?” It also pairs with the CI/CD Pipeline Performance Analyzer and the Infrastructure Health Monitor as the platform-engineering suite: the analyzer watches pipeline speed, the monitor watches live infrastructure, and this scanner gates what gets deployed into it.
| Tool type | Approach | Limitation |
|———–|———-|————|
| Docker-native docker scan | Quick daemon-side check | Feed/wrapper choices; limited policy and history |
| Open-source scanners (Trivy, Grype) | Fast, rich feeds | Powerful but black-box matching; hard to learn from |
| Enterprise registry scanners | Fleet-wide managed scanning | Cost; opaque scoring; locked to the platform |
| Manual dependency audit | Human review of manifests | Doesn’t see what’s actually in the image |
This project’s differentiators: layer-attributed findings, auditable range-based matching, an explainable policy gate, and a codebase small enough to read end to end.
Browse more Product Ideas · Advanced Ideas
Build a privacy-conscious system that aggregates health and activity data from multiple wearable sources into one unified, local-first personal data...
Build a what-if simulator that replays seller-supplied sales history under candidate pricing strategies — demand assumptions, elasticity, inventory, and scenario...
Build a flashcard app with a transparent spaced-repetition scheduler and optional LLM-generated explanations of missed cards — scheduling math you...
Looking for something more accessible? Try these:
Published on September 8, 2026
A team of developers, researchers, and innovators who review and publish practical ideas for builders and creators.
Published on September 8, 2026
A team of developers, researchers, and innovators who review and publish practical ideas for builders and creators.