Cve Fleet
Fleet-wide discovery, scanning and one-page reporting for the @swamp/cve/* extension family. WHAT IT DOES
Discovers every @swamp/cve/* extension in the registry, pulls new ones, updates installed ones, and classifies each as a host scanner, lockfile scanner or research pipeline. It then builds a target list from connected swamp workers, the local serve host and probed/reporting fleet hosts, scans locally where possible and over SSH for the rest, and collates every result into one self-contained HTML page plus markdown and JSON summaries. The page lists the concrete action to take on each host, links every scanner extension and CVE/advisory, and marks what is new, solved or changed since the previous run. Prefer it over a hand-maintained list of scanners and hosts: new scanners are picked up automatically and unreachable hosts are reported instead of being silently treated as clean.
INSTALL
swamp extension pull @svendowideit/cve-fleetDEPENDENCIES
None at install time. At run time it uses the swamp CLI to pull/update extensions, and the @swamp/cve extensions it discovers. SSH fallback scans use the @swamp/cve scanners' own SSH support; credentials can be reused from an @swamp/ssh model.
RUN
# Run the whole daily pipeline through the site workflow.
swamp workflow run @figy/cve-daily
# Discover, pull and classify the current @swamp/cve scanners only.
swamp model @svendowideit/cve-fleet method run cve-fleet sync
# Build the worker/serve/SSH target list.
swamp model @svendowideit/cve-fleet method run cve-fleet inventoryCONFIGURE
Optional global arguments: registryQuery (default @swamp/cve), autoPull (true), autoUpdate (true), reloadServe (true), outputDir (~/.local/share/cve-report), retentionDays (7), fleetModel (fleet), sshModel (pi-ssh), includeSilent (false), extraHosts ([]), and lockfiles ([deno.lock, package-lock.json]).
UPGRADE
# Update the extension code, then re-run sync/inventory (the bundled
# upgrade workflow is idempotent).
swamp extension update @svendowideit/cve-fleet
swamp workflow run @svendowideit/cve-fleet-upgradeWHAT IT INSTALLS
Nothing on the host. It writes a catalog, target list, plan and summary as swamp resources, and writes index.html, report.md, summary.json and history files into outputDir. It does not install services or cron jobs.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| registryQuery? | string | Registry query used to discover CVE extensions |
| autoPull? | boolean | Pull newly discovered extensions |
| autoUpdate? | boolean | Update installed extensions to the latest version |
| reloadServe? | boolean | Reload the running serve after pulling or updating extensions |
| outputDir? | string | Directory for index.html, report.md and summary.json |
| retentionDays? | number | Days of HTML history to keep |
| fleetModel? | string | Name of the @svendowideit/fleet-inventory model |
| sshModel? | string | Name of the @swamp/ssh model whose transport and host list are reused |
| sshUser? | string | SSH user override when the ssh model cannot be read |
| sshKey? | string | SSH identity file override when the ssh model cannot be read |
| includeSilent? | boolean | Include silent/unprobed fleet hosts in the SSH fallback list |
| extraHosts? | array | Extra host names or user@host entries to scan over SSH |
| lockfiles? | array | Lockfile paths (relative to the repo) for lockfile scanners |
| Argument | Type | Description |
|---|---|---|
| runId | string | Workflow run id whose scanner data should be collated |
Resources
Idempotent upgrade/repair for @svendowideit/cve-fleet and the scanners it manages. Re-reads the registry, pulls new @swamp/cve extensions, updates installed ones, reloads the serve, rebuilds the target list, and asserts that a catalog was produced. Installing the extension itself is `swamp extension update @svendowideit/cve-fleet`; this workflow is the reconcile/verify half.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit1/2partial
- @std/assert--jsr:@std/assert@1 is a range; audited 1.0.19, the version the registry resolved
1 dependency found
- jsr:@std/assert@1 -- audited 1.0.19
- Docs keep secrets in a vault1/1earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository2/2earned
Spawns a subprocess with Deno.Command().
- models/cve_fleet.ts:1700 — extension pull/update and serve reload are only exposed through the swamp CLI; args are fixed literals plus registry names discovered from the official @swamp/cve query, never shell text.