Security (한국어)
April 29, 2026 · View on GitHub
보안 모델 개요
- ClawSec은 콘텐츠 배포(서명된 아티팩트)와 런타임 동작(advisory gating, 무결성 모니터링)을 모두 보호합니다.
- 신뢰 앵커는 리포지토리에 고정된 공개 키이며, 워크플로우 산출물과 대조해 검증합니다.
- 런타임 소비자는 기본적으로 verification-first 동작을 사용하며, 마이그레이션용 bypass 플래그는 명시적으로만 허용됩니다.
암호학적 통제
| 통제 | 메커니즘 | 위치 |
인포메이션
| Feed authenticity | Ed25519 detached signatures (feed.json.sig) | Advisory 워크플로우 + 소비자 검증 라이브러리 |
| Artifact integrity | SHA-256 checksum manifests (checksums.json) | 스킬 릴리스 및 pages 배포 워크플로우 |
| Key consistency | 문서/정본 PEM 간 fingerprint 비교 | scripts/ci/verify_signing_key_consistency.sh |
| Signature verification action | CI의 composite sign+verify 액션 | .github/actions/sign-and-verify/action.yml |
런타임 enforcement 통제
|제어 | 부품 | 효과 |
인포메이션
| Advisory hook gating | clawsec-advisory-guardian | 매칭된 advisory 기반 경고 및 보수적 가이드 제공 |
| Double-confirmation installer | guarded_skill_install.mjs | advisory 매칭 시 명시적 확인 전까지 42로 종료 |
| Reputation extension | clawsec-clawhub-checker | 설치 전 추가 리스크 스코어링 |
| NanoClaw signature gate | skill-signature-handler.ts + MCP tool | 정책에 따라 변조/미서명 패키지 설치 차단 |
| Integrity baseline monitor | soul-guardian + NanoClaw integrity monitor | drift 탐지, 격리, 복구, 감사 가능한 이력 |
공급망 및 CI 통제
- CI는 Trivy, npm audit, CodeQL, Scorecard 워크플로우를 실행합니다.
- 로컬 pre-push 점검은
gitleaks설치 시gitleaks detect를 실행할 수 있습니다. - 릴리스 워크플로우는 패키징 전에 SBOM 파일 존재를 검증합니다.
- 배포 워크플로우는 생성된 signing key fingerprint를 정본 키와 대조 검증합니다.
- 릴리스 문서에는 downstream 소비자를 위한 수동 검증 명령이 포함됩니다.
인시던트 및 키 로테이션 플레이북
wiki/security-signing-runbook.md는 키 생성/보관/로테이션 및 인시던트 단계를 정의합니다.wiki/migration-signed-feed.md는 단계적 enforcement 및 rollback 레벨을 정의합니다.- 롤백 경로는 가능한 경우 서명된 배포를 유지하고, bypass는 시간 제한 하에 사용하도록 설계됩니다.
예시 스니펫
# verify canonical public key fingerprint
openssl pkey -pubin -in clawsec-signing-public.pem -outform DER | shasum -a 256
# run repo key-consistency guardrail used in CI
./scripts/ci/verify_signing_key_consistency.sh
알려진 보안 트레이드오프
- unsigned 호환 모드는 보증 수준을 낮출 수 있으므로 마이그레이션 완료 후 비활성화해야 합니다.
- 일부 배포 경로는 하위 호환을 위해 legacy unsigned checksum asset을 허용합니다.
- 평판 체크는 외부 툴 출력에 의존하므로 휴리스틱 오탐/미탐 가능성이 있습니다.
- 로컬 스크립트는 실행 환경 신뢰를 상속하므로, 로컬 셸이 손상되면 운영자 워크플로우가 우회될 수 있습니다.
하드닝 기회
- 마이그레이션 안정화 후 unsigned 호환 플래그 제거
- 미러된 릴리스 파일 전체에 대한 결정론적 checksum/signature 검증 확대
- 워크플로우 수준 서명 실패 시나리오에 대한 명시적 테스트 추가
- advisory fetch/verify 실패에 대한 런타임 텔레메트리 강화로 인시던트 트리아지 단순화
업데이트 노트
- 2026-04-27:
wiki/security.md한국어 번역 추가. - 2026-02-26: signing/migration 참조를 루트
docs/에서wiki/운영 페이지로 재지정.
소스 참조
SECURITY.mdwiki/security-signing-runbook.mdwiki/migration-signed-feed.mdscripts/ci/verify_signing_key_consistency.sh.github/actions/sign-and-verify/action.yml.github/workflows/poll-nvd-cves.yml.github/workflows/community-advisory.yml.github/workflows/skill-release.yml.github/workflows/deploy-pages.ymlskills/clawsec-suite/hooks/clawsec-advisory-guardian/lib/feed.mjsskills/clawsec-suite/scripts/guarded_skill_install.mjsskills/clawsec-clawhub-checker/scripts/enhanced_guarded_install.mjsskills/soul-guardian/scripts/soul_guardian.pyskills/clawsec-nanoclaw/host-services/skill-signature-handler.tsskills/clawsec-nanoclaw/guardian/integrity-monitor.ts