* feat(i18n): add multilingual wiki scaffolding, language switcher, and translation QA pipeline * docs(readme): adopt picoclaw-style multilingual link bar * fix(i18n): repair localized index links and tighten partial-pair QA * ci(i18n): fail on broken markdown links in README/wiki * ci(i18n): add changed-files mode for markdown link checks * i18n(de): use local Argos MT to fill untranslated German sections * i18n(es,fr): fill untranslated sections via local Argos workflow * i18n(ja): fill untranslated sections with scoped local Argos pass * i18n(ko): fill untranslated sections with scoped local Argos pass * fix(i18n): address review feedback --------- Co-authored-by: David Abutbul <David.a@prompt.security>
6.0 KiB
Datenfluss
Primäre Ströme
Advisory ingestion: NVD/Gemeinde-Eingänge werden in einen normalisierten Beratungsfeed umgewandelt, signiert, dann für Kunden gespiegelt.Skill catalog publication: Freigabevermögen werden entdeckt und inpublic/skills/index.jsonplus per-skill docs/checksums umgewandelt.Runtime enforcement: Suite- und Nanoclaw-Verbraucher laden beratende Daten, passen gegen Fähigkeiten und senden Alarme oder Bestätigungs-Gate aus.- Ja. Diese Seite erscheint unter dem
GuidesAbschnitt inINDEX.md.
Schritt für Schritt
ANHANG Feed-Produzent Workflow/script holt Quelldaten (NVD API oder Ausgabe Payload) ab.
2. JSON-Transformationslogik normalisiert Schwere/Typ/beeinflusste Felder und dedupliziert durch Beratungs-ID.
3. Signatur/Checksum-Schritte erzeugen abgelöste Signaturen und Prüfsummen manifestiert.
4. Bereitstellung von Workflow-Spiegeln signiert Artefakte unter public/ und public/releases/latest/download/.
5. UI-Verbraucher validieren JSON Shape/Content; Laufzeit-Verbraucher überprüfen zusätzlich Signaturen/Checksums vor vertrauensvollen Feed-Daten.
6. Die Matcher vergleichen affected-Spezifikatoren mit Geschicksnamen/Versionen und senden Alarme aus oder setzen die Bestätigung durch.
Eingänge und Ausgänge Inputs/Outputs sind in der folgenden Tabelle zusammengefasst.
| Typ | Name | Standort | Beschreibung |
| --- | --- | ---
| Input | CVE Payloads | services.nvd.nist.gov/rest/json/cves/2.0 | Source Schwachstellen gefiltert durch ClawSec Keywords. |
| Input | Community Advisory Issue | .github/workflows/community-advisory.yml Event Payload | Maintainer-genehmigte Ausgabe verwandelt in Advisory Record. |
| Input | Skill release Assets | GitHub veröffentlicht API + Assets | Wird verwendet, um Webkatalog und Spiegel-Downloads zu erstellen. |
| Input | Local config/env | OPENCLAW_AUDIT_CONFIG, CLAWSEC_* vars | Controls Feed-Tracking, Unterdrückung und Verifikationsverhalten. |
| Ausgabe | Beratender Feed | advisories/feed.json | Canonical Repository Feed. |
| Ausgabe | Beratende Signatur | advisories/feed.json.sig | Entschlossene Signatur für Feed-Authentizität. |
| Ausgabe | Skill Katalogindex | public/skills/index.json | Runtime Webkatalog verwendet von /skills Seiten. |
| Ausgabe | Release Schecksums/signatures | release-assets/checksums.json(.sig) | Integrity manifest for release Konsumenten. |
| Ausgabe | Hook state | ~/.openclaw/clawsec-suite-feed-state.json | Verfolgen Sie Scan-Terminal und angezeigte Spiele. |
oder Datenstrukturen
| Struktur | Schlüsselfelder | Zweck |
|---|---|---|
| Beratender Feed-Record | id, severity, type, affected[], published_ |
Einheit der von UI und Installern verwendeten Risikodaten. |
| Skill Metadatensatz | id, name, version, emoji, tag |
Katalogzeile für Web-Browsing und Installationsbefehle. |
| Checksums manifest | schema_version, algorithm, files |
Kartendateinamen, die erwartete Verdauungen aufweisen. |
| Beratender Zustand | known_advisories, last_hook_scan, notified_matches |
Verhindert wiederholte Warnungen und Drosseln Scans. |
| Suppression config | enabledFor[], suppressions[] |
Gezielte Liste der Skipisten von checkId + skill. |
(Diagramme)
flowchart LR
A["NVD + Issue Inputs"] --> B["Transform + Deduplicate"]
B --> C["advisories/feed.json"]
C --> D["Sign + checksums"]
D --> E["public/advisories + releases/latest"]
E --> F["Web UI fetch"]
E --> G["Suite/NanoClaw verification"]
G --> H["Match skills + emit alerts/gates"]
Zustand und Lagerung
| Pfad/Scope | Pfad schreiben | |
|---|---|---|
| Canonical Advisories | advisories/ |
NVD + Community Workflows und lokales Populärskript. |
| Embedded-Beratungskopien | skills/clawsec-feed/advisories/ und skills/clawsec-suite/advisories/ |
Sync/Packaging-Prozesse und Release-Workflow. |
| Öffentliche Spiegel | public/advisories/, public/releases/ |
Workflow bereitstellen. |
| Laufzeit Zustand | ~/.openclaw/clawsec-suite-feed-state.json |
Beratender Haken Zustand Beharrlichkeit. |
| NanoClaw cache | /workspace/project/data/clawsec-advisory-cache.json |
Host-side Advisory cache manager. |
| Integritätszustand | /workspace/project/data/soul-guardian/ (NanoClaw) |
Integritätsmonitor Basis-/Auditspeicher. |
Beispiel Snippets
# Local feed flow (NVD fetch -> transform -> sync)
./scripts/populate-local-feed.sh --days 120
jq '.updated, (.advisories | length)' advisories/feed.json
# Runtime guarded install uses signed feed paths
CLAWSEC_LOCAL_FEED=~/.openclaw/skills/clawsec-suite/advisories/feed.json \
CLAWSEC_FEED_PUBLIC_KEY=~/.openclaw/skills/clawsec-suite/advisories/feed-signing-public.pem \
node skills/clawsec-suite/scripts/guarded_skill_install.mjs --skill test-skill --dry-run
Nicht verfügbar
- NVD-Ratenlimits (
403/429) können die Feed-Erfrischung verzögern und Retries/Backoff benötigen. - Fehlende oder ungültige abgelöste Signaturen verursachen die Ablehnung von Futtermitteln im fehlgeschlagenen Modus.
- HTML Fallback-Antworten für JSON Endpunkte können falsche Positive erzeugen, es sei denn, explizit gefiltert.
- Die Path-token-Fehlerkonfiguration (
\$HOME) kann die lokale Fallbackpfadauflösung brechen. - Unübertroffene öffentliche Schlüssel Fingerabdrücke in Workflows lösen harte CI-Versagen aus.
Quellenangaben
- Berater/feed.json
- Berater/feed.json.sig
- Skripte/Popula-lokal-feed.sh
- Skripte/Popula-lokal-skills.sh
- .github/workflows/poll-nvd-cves.yml
- .github/workflows/community-advisory.yml
- .github/workflows/deploy-pages.yml
- .github/workflows/skill-release.yml
- Fertigkeiten/Clawsec-suite/hooks/clawsec-advisory-guardian/lib/feed.mjs
- Fertigkeiten/Clawsec-suite/hooks/clawsec-advisory-guardian/lib/state.ts
- Fähigkeiten/Clawsec-suite/hooks/clawsec-advisory-guardian/lib/matching.ts
- Fertigkeiten/Clawsec-suite/scripts/guarded_skill_install.mjs
- Fertigkeiten/Clawsec-nanoclaw/lib/advisories.ts
- Fähigkeiten/Clawsec-nanoclaw/host-services/advisory-cache.ts