Formal verification (security models)
기준일: 2026-07-26
공식 기준: Formal verification (security models)
Formal verification (security models) 문서는 OpenClaw 공식 문서(security/formal-verification)를 한국어로 정리한 가이드입니다. Machine-checked security models for OpenClaw's highest-risk paths. 명령·설정 키·코드 예시는 공식 문서를 그대로 보존하며, 해석과 절차 안내는 한국어로 제공합니다. 최종 동작은 설치된 CLI 버전과 공식 원문을 확인하세요.
핵심 요약
Machine-checked security models for OpenClaw's highest-risk paths.
한국어 가이드 범위: security/formal-verification 경로의 설정·명령·제약·예시를 학습용으로 재구성합니다.
문서 구성
공식 문서의 주요 섹션은 다음과 같습니다.
- What this is
- Where the models live
- Caveats
- Reproducing results
- Java 11+ required (TLC runs on the JVM).
- The repo vendors a pinned tla2tools.jar and provides bin/tlc plus Make targets.
- Claims and targets
- Gateway exposure and open gateway misconfiguration
- Node exec pipeline (highest-risk capability)
- Pairing store (DM gating)
- Ingress gating (mentions and control-command bypass)
- Routing and session-key isolation
- v1++ models: concurrency, retries, trace correctness
- Pairing store concurrency and idempotency
- Ingress trace correlation and idempotency
- Routing dmScope precedence and identityLinks
- 관련 문서
상세 내용
본문
OpenClaw's formal security models (TLA+/TLC today) give a machine-checked argument that specific highest-risk paths — authorization, session isolation, tool gating, and misconfiguration safety — enforce their intended policy, under explicit stated assumptions.
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
What this is
An executable, attacker-driven security regression suite:
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
- Each claim has a runnable model-check over a finite state space.
- Many claims have a paired negative model that produces a counterexample trace for a realistic bug class.
Where the models live
Models are maintained in a separate repo: vignesh07/openclaw-formal-models.
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
Caveats
주요 항목:
- These are models, not the full TypeScript implementation — drift between model and code is possible.
- Results are bounded by the state space TLC explores. Green does not imply security beyond the modeled assumptions and bounds.
- Some claims rely on explicit environment assumptions (예를 들어, correct deployment and correct configuration inputs).
Reproducing results
> 위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과 `--help`를 확인하세요.
### Java 11+ required (TLC runs on the JVM).
이 섹션의 세부 항목은 공식 문서 [Java 11+ required (TLC runs on the JVM).](https://docs.openclaw.ai/security/formal-verification)를 참고하세요.
### The repo vendors a pinned tla2tools.jar and provides bin/tlc plus Make targets.
There is no CI integration back into this repo yet; a future iteration could add CI-run models with public artifacts (counterexample traces, run logs) or a hosted "run this model" workflow for small bounded checks.
> 위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과 `--help`를 확인하세요.
### Claims and targets
이 섹션의 세부 항목은 공식 문서 [Claims and targets](https://docs.openclaw.ai/security/formal-verification)를 참고하세요.
### Gateway exposure and open gateway misconfiguration
함께 보기 `docs/gateway-exposure-matrix.md` in the models repo.
> 위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과 `--help`를 확인하세요.
| Result | Targets |
| -------------- | ---------------------------------------------------------------- |
| Green | `make gateway-exposure-v2`, `make gateway-exposure-v2-protected` |
| Red (expected) | `make gateway-exposure-v2-negative` |
### Node exec pipeline (highest-risk capability)
| Result | Targets |
| -------------- | --------------------------------------------------------------- |
| Green | `make nodes-pipeline`, `make approvals-token` |
| Red (expected) | `make nodes-pipeline-negative`, `make approvals-token-negative` |
### Pairing store (DM gating)
| Result | Targets |
| -------------- | ---------------------------------------------------- |
| Green | `make pairing`, `make pairing-cap` |
| Red (expected) | `make pairing-negative`, `make pairing-cap-negative` |
### Ingress gating (mentions and control-command bypass)
| Result | Targets |
| -------------- | ------------------------------ |
| Green | `make ingress-gating` |
| Red (expected) | `make ingress-gating-negative` |
### Routing and session-key isolation
| Result | Targets |
| -------------- | --------------------------------- |
| Green | `make routing-isolation` |
| Red (expected) | `make routing-isolation-negative` |
### v1++ models: concurrency, retries, trace correctness
Follow-on models that tighten fidelity around real-world failure modes: non-atomic updates, retries, and message fan-out.
> 위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과 `--help`를 확인하세요.
### Pairing store concurrency and idempotency
| Result | Targets |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Green | `make pairing-race` (atomic/locked cap check), `make pairing-idempotency`, `make pairing-refresh`, `make pairing-refresh-race` |
| Red (expected) | `make pairing-race-negative` (non-atomic begin/commit cap race), `make pairing-idempotency-negative`, `make pairing-refresh-negative`, `make pairing-refresh-race-negative` |
### Ingress trace correlation and idempotency
| Result | Targets |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Green | `make ingress-trace`, `make ingress-trace2`, `make ingress-idempotency`, `make ingress-dedupe-fallback` |
| Red (expected) | `make ingress-trace-negative`, `make ingress-trace2-negative`, `make ingress-idempotency-negative`, `make ingress-dedupe-fallback-negative` |
### Routing dmScope precedence and identityLinks
| Result | Targets |
| -------------- | ------------------------------------------------------------------------- |
| Green | `make routing-precedence`, `make routing-identitylinks` |
| Red (expected) | `make routing-precedence-negative`, `make routing-identitylinks-negative` |
### 관련 문서
주요 항목:
- Threat model
- Contributing to the threat model
- Incident response
## 실습 체크리스트
1. 공식 문서와 로컬 버전을 대조합니다: `https://docs.openclaw.ai/security/formal-verification`
2. 관련 CLI는 `openclaw --help` 및 하위 명령 `--help`로 옵션을 확인합니다.
3. 설정 변경 시 `openclaw config` / `openclaw doctor`로 유효성을 검사합니다.
4. Gateway·채널·플러그인 변경 후에는 필요 시 Gateway를 재시작합니다.
## 자주 쓰는 명령·설정 예시
```bash
git clone https://github.com/vignesh07/openclaw-formal-models
cd openclaw-formal-models
# Java 11+ required (TLC runs on the JVM).
# The repo vendors a pinned tla2tools.jar and provides bin/tlc plus Make targets.
make <target>
관련 링크
이 가이드는 공식 문서를 한국어 학습용으로 재구성한 것입니다. 옵션 기본값·플래그 이름은 설치 버전에 따라 달라질 수 있습니다.