mirror of
https://github.com/prompt-security/clawsec.git
synced 2026-06-15 14:31:21 +03:00
b37162a33d
* 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>
104 lines
6.2 KiB
Markdown
104 lines
6.2 KiB
Markdown
<!-- AUTO-GENERATED TRANSLATION SCAFFOLD (ko)
|
|
Source: ../data-flow.md
|
|
Review status: draft
|
|
-->
|
|
|
|
₢ 킹 데이터 흐름
|
|
|
|
## 1 차적인 교류
|
|
- `Advisory ingestion`: NVD/community 입력은 정상화된 자문 급식으로, 서명된, 그 후에 클라이언트를 위해 미러링됩니다.
|
|
- `Skill catalog publication` : 릴리스 자산은 `public/skills/index.json` 플러스 per-skill docs/checksums로 발견되고 변환됩니다.
|
|
- `Runtime enforcement` : 스위트 및 나노 클로 소비자 부하 자문 데이터, 기술에 대한 일치, 경고 또는 확인 게이트를 방출.
|
|
- - - 이 페이지는 `Guides` 섹션에서 나타납니다.
|
|
|
|
## 단계별
|
|
1. 명세 피드 프로듀서 워크 플로우 / 기술 fetches 소스 데이터 (`NVD API` 또는 문제 페이로드).
|
|
2. 명세 JSON 변형 논리는 severity/type/affected 필드를 정상화하고 고문 ID에 의해 해독합니다.
|
|
3. 명세 시그니처/체크섬 단계는 시그니처 및 체크섬을 생성합니다.
|
|
4. 명세 배포 워크플로우 미러는 `public/` 및 `public/releases/latest/download/` 아래 artifacts에 서명했습니다.
|
|
5. 명세 UI 소비자는 JSON 모양/내용을 유효하게 합니다; 런타임 소비자는 추가적으로 피드 데이터를 신뢰하기 전에 서명/체크를 확인합니다.
|
|
6. 명세 Matchers는 기술 이름/버전에 `affected` specifiers를 비교하고 경고 또는 시행 확인을 방출합니다.
|
|
|
|
## 입력 및 출력
|
|
입력/출력은 아래에 테이블에서 요약됩니다.
|
|
|
|
| 유형 | 이름 | 위치 | 묘사 |
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
|
| 입력 | CVE 페이로드 | `services.nvd.nist.gov/rest/json/cves/2.0` | ClawSec 키워드로 필터링하는 소스 취약점. ·
|
|
| 입력 | 커뮤니티 자문 문제 | `.github/workflows/community-advisory.yml` 이벤트 페이로드 | 옹호자 등록 ·
|
|
| 입력 | 기술 릴리스 자산 | GitHub Releases API + Asset | 웹 카탈로그 및 미러 다운로드를 구축하는 데 사용됩니다. ·
|
|
| 입력 | Local config/env | `OPENCLAW_AUDIT_CONFIG`, `CLAWSEC_*` vars | 제어 피드 경로, 억제 및 검증 행동. ·
|
|
| 출력 | 자문 피드 | `advisories/feed.json` | Canonical repository Feed. ·
|
|
| 출력 | 자문 시그니처 | `advisories/feed.json.sig` | 피드 인증 시그니처 ·
|
|
| 산출 | 기술 카탈로그 인덱스 | `public/skills/index.json` | `/skills` 페이지에 사용된 런타임 웹 카탈로그. ·
|
|
| 출력 | 릴리즈 체크섬/신문 | `release-assets/checksums.json(.sig)` | 출시 소비자의 정수입니다. ·
|
|
| 출력 | 후크 상태 | `~/.openclaw/clawsec-suite-feed-state.json` | 타이밍 및 알림을 추적합니다. ·
|
|
|
|
# # # # # # # # # # # 데이터 구조
|
|
| 구조 | 핵심 분야 | 용도 |
|
|
인포메이션
|
|
| 자문 사료 기록 | `id`, `severity`, `type`, `affected[]`, `published` | UI 및 설치자가 사용하는 위험 데이터 단위. ·
|
|
| 기술 메타데이터 레코드 | `id`, `name`, `version`, `emoji`, `tag` | 웹 브라우징 및 설치 명령의 카탈로그 행. ·
|
|
| 체크섬 | `schema_version`, `algorithm`, `files` | 예상되는 다이제스트 파일 이름. ·
|
|
| 자문 상태 | `known_advisories`, `last_hook_scan`, `notified_matches` | 반복 경고 및 흉상 검사를 방지합니다. ·
|
|
| Suppression config | `enabledFor[]`, `suppressions[]` | `checkId` + `skill`의 뚜렷한 건너뛰기 목록. ·
|
|
|
|
## 다이어그램
|
|
```mermaid
|
|
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"]
|
|
```
|
|
|
|
## 국가 및 저장
|
|
| Store | Path/Scope | 글쓰기 경로 |
|
|
인포메이션
|
|
| Canonical advisories | `advisories/` | NVD + 커뮤니티 워크플로우 및 로컬 포뮬러 스크립트. ·
|
|
· 임베디드 자문부 | `skills/clawsec-feed/advisories/` 및 `skills/clawsec-suite/advisories/` | 동기화/패킹 프로세스 및 릴리스 워크플로우. ·
|
|
| 공개 미러 | `public/advisories/`, `public/releases/` | 배포 워크플로우. ·
|
|
| 런타임 상태 | `~/.openclaw/clawsec-suite-feed-state.json` | 자문 훅 상태 지속 ·
|
|
| 나노 클로 캐시 | `/workspace/project/data/clawsec-advisory-cache.json` | 호스트 사이드 자문 캐시 관리자. ·
|
|
| Integrity state | `/workspace/project/data/soul-guardian/`(NanoClaw) | Integrity 모니터 기본/오디오 저장. ·
|
|
|
|
## 예제 Snippets
|
|
```bash
|
|
# Local feed flow (NVD fetch -> transform -> sync)
|
|
./scripts/populate-local-feed.sh --days 120
|
|
jq '.updated, (.advisories | length)' advisories/feed.json
|
|
```
|
|
|
|
```bash
|
|
# 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
|
|
```
|
|
|
|
## 실패 모드
|
|
- NVD 비율 한계 (`403/429`)는 급식을 상쾌하게 연기하고 retries/backoff를 요구합니다.
|
|
- 미싱 또는 잘못된 분리 된 서명은 실패 닫힌 모드에서 피드 거부를 유발합니다.
|
|
- JSON endpoints에 대한 HTML fallback 응답은 명시적으로 필터링하지 않는 한 false 긍정을 생성할 수 있습니다.
|
|
- Path-token misconfiguration (`\$HOME`)는 로컬 fallback 경로 해상도를 깰 수 있습니다.
|
|
- 워크플로우에서 매끄러운 공공 키 지문은 어려운 CI 실패를 유발합니다.
|
|
|
|
## 소스 참조
|
|
- 고문/feed.json
|
|
- 고문/feed.json.sig
|
|
- 스크립트/populate-local-feed.sh
|
|
- 스크립트/populate-local-skills.sh
|
|
- .github/workflows/poll-nvd-cves.yml의 경우
|
|
- .github/workflows/community-advisory.yml
|
|
- .github/workflows/deploy-pages.yml의 경우
|
|
- .github/workflows/skill-release.yml의 경우
|
|
- 기술/하프스위트/훅/하프스위트 자문/lib/feed.mjs
|
|
- 기술/하프스위트/훅/하프스위트 자문/lib/state.ts
|
|
- 기술/하프스위트/훅/하프스위트 자문/lib/matching.ts
|
|
- 기술/클래스/scripts/guarded_skill_install.mjs
|
|
- 기술/클로슈-nanoclaw/lib/advisories.ts
|
|
- 기술/하프-nanoclaw/host-services/advisory-cache.ts
|