GitHub 트렌딩 딥다이브 · 2026-06-23

astrid-book 딥다이브
— "믿지 못하는 AI 에이전트도 안전하게 굴리는 운영체제"의 공식 교본

Astrid OS는 AI 에이전트와 그 도구들을 WebAssembly '캡슐'로 격리해 돌리는 Rust 기반 유저공간 마이크로커널이다. 한 문장 명제는 "믿지 못하는 에이전트도 실행할 수 있다" — 탈옥·오염된 도구·버그가 있어도, 허락하지 않은 것엔 손댈 수 없고, 무엇이 실행됐는지 사후에 증명할 수 있기 때문이다. book 레포는 그 OS의 커널·캡슐·호스트 ABI·버스·보안모델을 소스 코드 줄번호까지 짚어 설명하는 공식 기술 레퍼런스(mdBook)다. (저장소: unicity-astrid/book · "The Astrid Book" · mdBook/Markdown · Apache-2.0+MIT · ★ 2.6k · 커널 astrid ★ 9.2k · TrendShift #21)

목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석 (커널·캡슐·버스·보안)
  5. 디렉토리/챕터 구조 해부
  6. 학습 포인트 (기술별)
  7. 하드웨어/시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

"에이전트를 가두는 '벽'을 암호로 세운 운영체제, 그 설계 교본."

한 줄로

Astrid OS는 믿을 수 없는 AI 에이전트를 WASM 캡슐에 가두고 '능력(capability)'으로만 바깥과 통하게 하는 에이전트 운영체제이고, book은 그 설계도다.

요즘 'AI 에이전트 프레임워크'는 대개 LLM을 한 겹 감싼다. Astrid는 발상을 뒤집어, 모델이 아니라 '경계(boundary)'를 중심에 둔 운영체제를 만든다. 놀랍게도 커널 안에는 모델도, 프롬프트도, 에이전트 루프도 없다. "지능은 전부 유저공간 캡슐에 산다." 커널이 하는 일은 딱 셋 — 이벤트 버스를 띄우고, 캡슐을 샌드박스에 올리고, 능력 검사를 통과한 메시지만 캡슐 사이로 중계하는 것.

왜 이렇게까지 할까? Astrid의 후기(Afterword)는 아시모프(로봇 3원칙)와 듄(Dune)을 빌려 답한다 — "법칙을 마음 속에 넣을 수는 없다. 언어모델은 지시에서 설득당해 빠져나갈 수 있기 때문이다." 그래서 Astrid는 법칙을 벽에 새긴다. "프롬프트보다 암호. 마음은 헷갈릴 수 있어도, 벽은 말로 구워삶을 수 없다."

용어
캡슐(capsule)
Astrid에서 하나의 일만 하는 WebAssembly 모듈(=프로세스). 파일 도구, HTTP 도구, LLM 공급자, 추론 루프 등 모든 '지능'과 기능이 캡슐 안에 격리되어 산다. 캡슐은 자기 매니페스트(Capsule.toml)에 "내가 쓸 권한과 주고받을 메시지"를 선언하며, 서로 직접 호출하지 못하고 오직 버스를 통해 메시지로만 소통한다.
용어
능력 기반 보안(capability) & 호스트 ABI
능력(capability)은 "이 자원에 이런 행동을 해도 좋다"는 서명된 허가증이다. 주변에 떠다니는 권한(ambient authority)이 없고, 호스트가 매 호출마다 서명을 검증한 뒤에야 바이트 하나라도 움직인다. 캡슐이 바깥(파일·네트워크 등)에 닿는 유일한 합법 통로호스트 ABI인데, 전부 타입이 정해진(WIT) 인터페이스이고 매 호출이 능력 검사를 받는다.

이 레포(book) 자체는 코드가 아니라 문서다 — Rust mdBook으로 만든 "The Astrid Book". 하지만 보통의 README와 달리 실제 소스의 크레이트/파일.rs:줄번호를 앵커로 달아 "주장이 어디 코드에 있는지"까지 짚는, OS 레퍼런스 매뉴얼급 문서다. 만든 곳은 Unicity Labs(unicity.ai), 저자는 Joshua J. Bouw.

2왜 주목받는가

"AI 안전이 화두인 시점에, '프롬프트가 아니라 구조로' 푸는 진지한 OS."

2026년 에이전트 생태계의 가장 큰 불안은 "이 에이전트가 시키지 않은 짓을 하면?"이다. 대부분은 시스템 프롬프트·가드레일로 막으려 하지만, 탈옥(jailbreak)·프롬프트 주입에 번번이 뚫린다. Astrid는 이 문제를 '설득 가능한 마음'이 아니라 '논쟁 불가능한 벽'으로 다시 정의했다는 점에서 신선하다.

기존 방식(프롬프트로 가두기)의 함정
"마음 속에 둔 법칙은, 말로 빠져나갈 수 있다"

"위험한 명령은 거부해"라고 시스템 프롬프트에 적어도, 공격자는 역할극·우회 지시로 모델을 구워삶아 그 법칙을 무력화한다. 도구가 오염되거나 평범한 버그가 나도, 권한이 '주변에 떠다니면' 에이전트는 손대선 안 될 파일·네트워크에 닿는다. 지능에 의존한 안전은 그 지능이 속는 순간 함께 무너진다.

Astrid의 해결
권한을 '구조'에 박는다 — 능력(암호 서명) + WASM 샌드박스 + 감사 체인

Astrid에선 에이전트가 샌드박스를 벗어날 수 없다. "부탁을 잘해서가 아니라, 그렇게 할 능력 자체가 애초에 부여되지 않았고, 호스트가 서명된 토큰을 검증하기 전엔 바이트 하나도 움직이지 않기" 때문이다. 게다가 모든 행동은 변조 불가능한 감사 체인에 남아, 무슨 일이 있었는지 사후 증명까지 된다.

비유

프롬프트 가드레일 = 경비원에게 "수상한 사람 막아"라고 말로 부탁 — 경비원이 속으면 끝.
Astrid = 애초에 열쇠 없는 문 + 모든 출입을 찍는 CCTV — 열쇠(능력)가 없으면 문이 안 열리고, 설령 무슨 일이 있어도 기록(감사 체인)이 남아 지울 수 없다. 안전이 '사람의 판단'이 아니라 '건물 구조'에 박혀 있다.

또 하나, 이건 말뿐인 비전이 아니라 진지한 엔지니어링이다. 책은 OS 레퍼런스처럼 정확한 파일·줄번호 앵커, 동결 ABI(frozen ABI) 규율, ed25519/BLAKE3 암호, "실제로 출시됨 vs 아직 스텁(stub)"의 정직한 표시까지 갖췄다. 조직 차원의 견인력도 크다 — unicity-astrid 조직은 팔로워 9.6k에 레포 33개, 커널(astrid)은 별 9.2k다.

일반 에이전트 프레임워크와 무엇이 다른가

구분일반 에이전트 프레임워크
(LangChain류)
Astrid OS
중심LLM(모델)경계(boundary)·커널
안전 방식프롬프트·가드레일능력(암호 서명) + WASM 샌드박스
커널 안의 지능해당 없음(라이브러리)없음 — 전부 캡슐로
도구 실행호스트에서 직접격리된 캡슐 + 호스트 ABI 게이트
사후 추적로그(변조 가능)서명된 변조 불가 감사 체인

물론 대가도 있다. 모든 것을 캡슐·능력·ABI로 감싸므로 구조가 복잡하고 진입 장벽이 높다. 책도 일부 기능은 아직 스텁/계획 단계(예: 권한 위임 토큰, 일부 감사 도구)라고 정직하게 밝힌다. 즉 Astrid의 매력은 "당장 가장 쉬운 에이전트 실행"이 아니라, "믿지 못하는 에이전트를 구조적으로 가둘 수 있는가"라는 어려운 문제에 대한 진지한 답이다.

3기술 스택 전체 지도

두 축으로 보라 — (가) 책을 '찍어내는' 도구 vs (나) 책이 '설명하는' OS의 기술.

이 레포는 문서지만, 그 안이 설명하는 시스템은 묵직한 시스템 소프트웨어다. 그래서 스택을 (가) book을 빌드하는 문서 도구(나) Astrid OS 자체의 기술로 나눠 봐야 머리에 들어온다.

(가) 책을 만드는 도구 — mdBook + 생성 스크립트

본문은 src/ 아래 마크다운이고, mdBook(Rust-lang, CI에 v0.5.2 고정)으로 빌드해 GitHub Pages로 배포한다. 흥미로운 건 부록이 손으로 쓴 게 아니라 '실제 소스에서 생성'된다는 점 — GitHub이 이 레포 언어를 'Perl/Shell'로 표시하는 이유다.

요소역할
mdBook 0.5.2마크다운 → 정적 사이트(테마 ayu, 검색)
tools/gen-appendices.sh능력 카탈로그·에러코드·토픽 레지스트리 부록을 Astrid 소스에서 생성
tools/gen-see-also.pl챕터 간 'See also' 푸터 자동 생성
GitHub Actionsdeploy.yml로 Pages 배포(unicity-astrid.github.io/book)

(나) Astrid OS 자체의 기술 — 커널·샌드박스·계약·암호

여기가 진짜 배울 거리다. Rust 커널(unsafe 금지) + Wasmtime 샌드박스 + WIT 계약 + tokio 버스 + 암호(서명/해시)의 조합이다.

레이어기술
커널 언어Rust#![deny(unsafe_code)](커널은 unsafe 미사용), 비동기 런타임 Tokio(멀티스레드 필수)
캡슐 포맷WebAssembly Component Model, 런타임 Wasmtime. 빌드 타깃은 wasm32-unknown-unknown(WASI 임포트 0개)
인터페이스 계약WIT(WebAssembly Interface Types) — 호스트 ABI=astrid:*, 버스 페이로드=astrid-bus:*
버스tokio::sync::broadcast 기반 EventBus + 프린시펄별 라우팅(공정성 DRR)
암호ed25519(능력 토큰·감사 서명) · BLAKE3(콘텐츠 해시·해시 체인)
저장소SurrealKV(~/.astrid/state.db), 캡슐별 스코프 KV
OS 샌드박스Linux bubblewrap(bwrap) · macOS Seatbelt(sandbox-exec)
용어
WIT & WASM Component Model
WIT는 "이 함수는 이런 타입을 받고 이런 걸 돌려준다"를 적는 인터페이스 계약 언어다. Component Model은 그 계약대로 WASM 모듈을 끼워 맞추는 표준으로, Astrid는 캡슐 타깃을 wasm32-unknown-unknown으로 골라 WASI(파일·네트워크 등 기본 시스템 임포트)를 0개로 만든다. 그래야 "캡슐이 임포트한 목록 = 캡슐이 가진 능력 목록"이 되어, 감사에 빈틈이 없다.

4아키텍처 심화 분석 — 커널·캡슐·버스·보안

단 하나의 법칙에서 모든 게 갈라진다 — "커널은 멍청하다(The Kernel Is Dumb)".

Astrid의 헌법 1조는 "커널은 멍청하다"이다. 커널엔 비즈니스 로직도, 인지 루프도, 프로토콜 파서도, 도메인 지식도 없다. 유일한 임무는 ① 이벤트 버스를 띄우고 ② WASM 캡슐을 샌드박스에 올리고 ③ 능력 ACL 아래 타입이 정해진 IPC 바이트를 캡슐 사이로 중계하는 것. 모든 지능은 캡슐에 산다.

사람 (권한의 원천) │ Unix 도메인 소켓 ▼ ┌────────────────────────────────────────────────┐ │ 업링크(uplink) 캡슐 : CLI 채팅 / 웹 / 디스코드 │ └───────────────────┬────────────────────────────┘ │ client.v1.* 이벤트 ▼ ┌────────────────────────────────────────────────┐ │ 커널 (Rust, astrid-daemon) — "멍청한 라우터" │ │ • EventBus : 브로드캐스트 + 프린시펄 라우팅 표 │ │ • 저장소 : 능력(ed25519)·감사로그(BLAKE3)·KV │ │ ※ LLM 핸들도, 대화 상태도, 비즈니스 로직도 '없음'│ └───────────────────┬────────────────────────────┘ │ 타입이 정해진 IPC 바이트 (토픽) ┌──────────┬───────┼────────┬──────────┬─────────┐ ▼ ▼ ▼ ▼ ▼ ▼ react router fs http provider … ← 캡슐들 (추론루프) (미들웨어)(파일) (네트워크) (LLM) (WASM / Wasmtime) │ 모든 호스트 호출은 ▼ 호스트 ABI + 5단계 보안 게이트를 통과한다 ▼ ┌──────────────────────────────────────────────────────┐ │ 호스트 ABI : astrid:fs / ipc / kv / net / http / sys… │ │ 5단계 게이트 : 정책 → 능력토큰 → 예산 → 승인 → 감사 │ │ (하나라도 거부하면 즉시 차단 = fail-closed)│ └──────────────────────────────────────────────────────┘ native 서브프로세스 → OS 샌드박스(bubblewrap / Seatbelt)로 한 번 더 격리

핵심 설계 1 — 5계층 보안 게이트(교집합 의미론)

캡슐의 모든 호스트 호출은 다섯 관문을 지난다. 하나라도 거부하면 멈춘다(교집합 의미론, fail-closed). 특히 마지막 '감사'는 기록을 못 남기면 그 행동 자체를 거부로 본다.

관문막는 것
L1정책(Policy)운영자 하드 경계(차단 도구·금지 경로·.. 탈출)
L2능력 토큰ed25519 서명·URI 패턴·프린시펄 결속(없으면 거부)
L3예산(Budget)세션/워크스페이스 USD 지출 한도(원자적 예약)
L4승인(Approval)사람의 개입(승인/세션승인/항상승인/거부)
L5감사(Audit)기록 실패 시 행동 차단(변조 불가 체인)

핵심 설계 2 — 호스트 ABI는 'WIT 타입 + 매 호출 능력검사'

호스트 ABI는 전부 WIT로 타입이 박혀 있고, 능력 검사는 호출 때마다 일어난다(그래서 세션 중간에 권한을 회수하면 다음 호출부터 즉시 막힌다). 아래는 책에 인용된 실제 WIT 조각이다.

// astrid:ipc@1.0.0 — '검증된' 프린시펄과 '주장된' 프린시펄을 타입으로 구분
variant principal-attribution {
    verified(string),   // 커널이 검증함 → 능력 판단에 안전
    claimed(string),    // 업링크가 주장함 → 입력값처럼 취급
    system,
}

// astrid:sys@1.0.0 — 능력으로 게이트되는 호스트 함수 (꺾쇠는 제네릭)
random-bytes: func(length: u64) -> result<list<u8>, error-code>;
용어
동결 파일 규칙(frozen-file) — ABI 진화법
한번 공개한 @1.0.0 인터페이스 파일은 절대 수정하지 않는다. 바꿀 게 있으면 새 버전 경로의 새 파일(@1.1.0)을 추가한다. 그러면 Component Model 링커가 (패키지, 버전)을 정확히 매칭해, 옛 캡슐과 새 캡슐이 '플래그 데이' 없이 공존한다. 하위/상위 호환을 구조로 보장하는 영리한 규율.

핵심 설계 3 — 버스: 토픽과 두 가지 와일드카드(함정 주의)

캡슐은 서로 직접 부르지 못하고, <도메인>.v<메이저>.<동작> 형식의 토픽으로 메시지를 주고받는다(최대 깊이 20). 주의할 함정: 와일드카드 의미가 두 군데서 다르다 — 브로드캐스트/라우팅 경로의 .*는 '네임스페이스 접두사(1단계 이상)', 인터셉터 경로의 *는 '한 단계만, 단 세그먼트 수가 같아야' 매칭한다. 또 높은 팬인(fan-in)에서의 역압(backpressure)을 위해, 라우팅 경로는 구독자마다 1 MiB 바이트 예산의 독립 큐를 둔다.

5디렉토리/챕터 구조 해부

레포는 mdBook 한 권 — src/ 아래 챕터가 Astrid의 계층을 그대로 따라간다.

루트엔 book.toml(mdBook 설정), 라이선스 2종, tools/(부록 생성기), 그리고 src/(본문, 마크다운 36개·약 6.9만 단어)가 있다. 챕터 묶음이 곧 Astrid의 아키텍처 지도다.

book/ ├── book.toml mdBook 설정 (title "The Astrid Book", 테마 ayu) ├── tools/ │ ├── gen-appendices.sh 부록을 Astrid 소스에서 생성 (Bash) │ └── gen-see-also.pl 'See also' 푸터 생성 (Perl) └── src/ ← 본문 (챕터 = Astrid 계층 지도) ├── introduction.md "에이전트를 위한 운영체제"라는 명제 ├── getting-started/ astrid init → chat → 함대/능력/로그 들여다보기 ├── foundations/ ★ kernel-is-dumb (헌법 1조) + 부팅 시퀀스 ├── capsule-model/ 매니페스트·엔진 3종·임포트/익스포트·생애주기 ├── host-abi/ 신택스 표면·fs/io/kv·ipc/net/http/sys·능력 게이팅·ABI 진화 ├── bus/ 토픽/와일드카드·인터셉터·도구=IPC·라우팅/역압 ├── security/ ★ 5단계 게이트·능력토큰·정책/예산/승인/감사·OS 샌드박스 ├── storage/ VFS 오버레이(쓸때복사)·KV·감사 체인 ├── identity/ 프린시펄·격리·프로필/그룹/쿼터 ├── distribution/ 배포본(Distro)·콘텐츠 주소 저장소·빌드 파이프라인 ├── evolution/ RFC 프로세스·WIT 계약(폴리레포 '3-레포 흐름') ├── afterword/ 왜 이렇게 생겼나 (아시모프 vs 듄) ├── appendix/ 능력 카탈로그·에러코드·토픽 레지스트리 (자동 생성) └── SUMMARY.md 목차
비유

이 책 구조는 건물 도면 묶음과 같다. foundations기초 공사 원칙("커널은 멍청하다"), capsule-model입주 규칙(누가 어떤 방에 어떤 조건으로 들어오나), host-abi방과 복도를 잇는 유일한 출입문, bus건물 내부 우편 시스템, security경비·CCTV·출입증 체계다. 챕터를 따라가면 건물이 통째로 머릿속에 선다.

6학습 포인트 (기술별)

한 권으로 '능력 보안 + ABI 설계 + WASM 샌드박스 + 메시지 버스'를 한 번에.

① 능력 기반 보안을 '실물'로

"주변에 떠다니는 권한이 없다"가 실제로 어떻게 강제되는지 본다 — 모든 권한이 ed25519로 서명된 허가증이고, 권한은 좁아지기만(narrow) 할 뿐 넓어지지 않는다(하위 에이전트는 부모의 부분집합만 받는다). '정적 능력'과 '런타임 능력 토큰'을 왜 둘 다 두는지도 비교거리.

실습 아이디어

security/capabilities-and-tokens.md를 읽고, "내 토큰이 fs:read 한정인데 쓰기를 시도하면 어느 층(L1~L5)에서 막히나"를 표로 추적해 보라.

② 인터페이스(ABI) 설계를 엄격하게

WIT로 타입을 박는 계약, 그리고 동결 파일 규칙(공개된 버전 파일은 수정 금지, 새 버전은 새 파일)을 배우면 "API를 깨지 않고 진화시키는 법"의 정석이 잡힌다.

실습 아이디어

가상의 astrid:foo@1.0.0 인터페이스를 한 줄 설계하고, 필드를 추가한 @1.1.0을 '동결 규칙대로' 새 파일로 만들어, 옛 캡슐이 왜 안 깨지는지 설명해 보라.

③ 마이크로커널 vs '멍청한 커널'

특권 코어에서 로직을 전부 밀어낸 이유(결합도·샌드박스 탈출·폭발 반경)를 foundations/kernel-is-dumb.md의 세 논증으로 학습. seL4·Mach 같은 고전 마이크로커널과 대조하면 더 선명하다.

④ WASM 샌드박싱 & Component Model

WASI를 0개로 만들어 "임포트 목록 = 능력 목록"을 성립시키는 트릭, 자원 핸들과 호스트 소멸자, RNG 없는 타깃에서의 getrandom 백엔드 트릭까지 — 실전 WASM 보안의 정수.

⑤ 메시지 버스 & 방어 심층

브로드캐스트 vs 프린시펄 라우팅, 역압(바이트 예산·DRR), 와일드카드 함정, 상관관계 ID 요청/응답 패턴. 그리고 5중 게이트의 fail-closed·RAII 예산 환불·BLAKE3 해시 체인(변조 탐지 로그)까지 한 흐름으로 익힌다.

7하드웨어/시스템 요구사항

책을 '읽는' 데엔 아무것도 안 듦. OS를 '돌리는' 데엔 Linux/macOS + 샌드박스.

book은 그냥 웹페이지라 누구나 읽는다. 다만 내용을 제대로 이해하려면 OS·Rust·WASM·암호·pub/sub·능력 보안의 사전 지식이 있으면 좋다. 책을 로컬로 빌드하거나, 책이 설명하는 Astrid OS 자체를 실행하려면 아래가 필요하다.

목적요구비고
책 읽기웹브라우저unicity-astrid.github.io/book (설치 0)
책 로컬 빌드mdbook serve --openmdBook(CI는 0.5.2 고정)
OS 실행cargo install astridastrid initastrid chat
OS — Linuxbubblewrap 필요Ubuntu 24.04+는 userns sysctl 조정 필요할 수 있음
OS — macOSSeatbelt(sandbox-exec)기본 내장
런타임멀티스레드 Tokio커널 부팅 시 단정(assert)
캡슐 개발wasm32-unknown-unknownRust 타깃 추가 필요
초보자가 놓치는 함정
"book = 진실, README = 버그일 수 있다" — 그리고 일부는 아직 스텁

Astrid 진영의 원칙은 "문서와 코드가 다르면, 코드가 이긴다"이다. 게다가 책은 일부 기능이 아직 구현 전(스텁/계획)임을 명시한다 — 예: StaticEngine::load는 현재 no-op, 암호적 권한 위임(서브 토큰)은 미완, 감사 인스펙터는 진행 중. "문서에 있다 = 지금 동작한다"로 착각하지 말고, 각 챕터의 '출시 vs 스텁' 표기를 확인하자.

8직접 해볼 수 있는 실습 과제

"읽고 용어 잡기 → 로컬 빌드 → 매니페스트 해독 → ABI 설계 → 직접 실행"으로 난이도 상승.

과제 1. 책 읽고 5대 용어 정리 난이도 ★☆☆☆☆

호스팅판을 열어 커널·캡슐·호스트 ABI·버스·능력 다섯 단어를 자기 말로 한 줄씩 정의해 본다. introduction + foundations 두 장이면 충분.

과제 2. mdBook 로컬 빌드 난이도 ★★☆☆☆

cargo install mdbook → 레포 클론 → mdbook serve --open으로 책을 띄운다. 챕터 하나를 추가해 SUMMARY.md에 연결하고 라이브 리로드를 확인.

과제 3. Capsule.toml 읽고 권한 예측 난이도 ★★★☆☆

capsule-model 장의 매니페스트 예시를 보고, [capabilities]·[publish]·[subscribe]만으로 "이 캡슐이 무엇을 할 수 있고 무엇을 못 하는가"를 코드 한 줄 안 읽고 예측해 본다.

과제 4. WIT 인터페이스 설계 + 버전 진화 난이도 ★★★★☆

나만의 astrid:foo@1.0.0을 설계하고, '동결 파일 규칙'대로 @1.1.0로 진화시킨다. 옛 캡슐과 새 캡슐이 공존하는 이유를 Component Model 링커 관점에서 설명.

과제 5. 5단계 게이트 공격 시나리오 / Astrid 직접 실행 난이도 ★★★★★

"오염된 캡슐이 ~/.ssh를 읽으려 한다" 같은 시나리오에서 L1~L5 중 어느 층이 막는지 추론해 표로 정리한다. 더 나아가 cargo install astrid로 실제 OS를 띄워 astrid chat을 돌리고, 능력·로그를 들여다보며 책 내용을 검증.

9관련 기술 심화 학습 로드맵

'OS/샌드박스 → WASM·Component Model → 능력 보안·암호 → 메시지 버스'의 4주 코스.

주차주제학습 내용 & 책 연결
1주차OS·프로세스·샌드박스 기초프로세스/시스템콜/격리 개념, 마이크로커널(seL4) 개요. foundations/로 "커널은 멍청하다"의 세 논증을 잡는다.
2주차WebAssembly + Component Model + WITWASM 샌드박스, Component Model, WIT 계약. host-abi/로 "임포트=능력" 모델과 자원 핸들을 학습.
3주차능력 기반 보안 & 암호object-capability, ed25519 서명, 해시 체인. security/ 전체로 5단계 게이트와 토큰을 정독. macaroons·SPIFFE와 비교.
4주차메시지 버스 & 전체 통독pub/sub·역압·라우팅. bus/·storage/·distribution/를 읽고, 가능하면 Astrid를 직접 설치해 한 바퀴 돌린다.
학습 팁
"앵커를 따라 코드로 내려가라"

이 책의 가장 큰 장점은 주장마다 실제 소스의 파일·줄번호가 달려 있다는 것. 한 챕터를 읽었으면, 그 앵커를 따라 astrid 커널 레포의 해당 코드를 열어 "문서가 말한 구조가 진짜 그렇게 구현됐는지"를 대조하라. 그 자체가 최고의 시스템 프로그래밍 독해 훈련이다. 프로젝트 운영·기여 규칙은 자매 문서인 handbook(이 폴더의 astrid-handbook-deep-dive.html)에서 이어 본다.

10핵심 키워드 사전

책 전반에 반복되는 용어를 한 곳에.

용어
Astrid OS
AI 에이전트를 샌드박스 WASM으로 돌리고 능력 보안·감사 체인을 입힌 Rust 유저공간 마이크로커널. "에이전트를 위한 운영체제."
용어
커널(kernel) — "멍청하다"
특권 코어(astrid-daemon). 타입이 정해진 버스 + 능력 ACL일 뿐, 모델도 비즈니스 로직도 없이 이벤트를 라우팅하고 경계를 강제하고 샌드박스를 소유한다.
용어
캡슐(capsule)
한 가지 일만 하는 WASM 모듈(프로세스). 모든 지능·도구·프로토콜이 여기 격리되어 살며, Capsule.toml로 권한과 메시지를 선언한다. .capsule tar.gz로 패키징.
용어
호스트 ABI(Host ABI)
캡슐이 호스트(바깥 OS)에 닿는 유일한 합법 통로. astrid:* WIT로 타입이 박혀 있고, 매 호출이 능력 검사·감사를 받는다. WASI 임포트는 0개.
용어
버스 / EventBus
tokio::sync::broadcast 기반 채널(+ 프린시펄 라우팅). 캡슐은 오직 이 버스의 IPC 메시지로만 소통하며, 다른 직접 통로는 없다.
용어
능력(capability) & 5단계 게이트
능력은 ed25519로 서명된, 자원·행동을 한정한 허가증("좁아지기만 함"). 모든 호스트 호출은 정책→능력→예산→승인→감사 다섯 관문을 지나며, 하나라도 거부하면 차단된다(fail-closed).
용어
프린시펄(Principal)
요청한 에이전트/사용자의 신원. 능력·예산·VFS 오버레이·CPU 연료가 전부 프린시펄 단위로 스코프되어 서로 격리된다.
용어
매니페스트(Capsule.toml)
캡슐의 진실원. 정체성·[capabilities]·[publish]/[subscribe] ACL·[imports]/[exports] WIT 계약을 선언한다. WASM 바이트보다 먼저 읽힌다.
용어
감사 체인(audit chain)
모든 항목이 ed25519로 서명되고 BLAKE3로 이전 항목과 해시 연결된 추가 전용 로그. 역사를 몰래 고쳐 쓸 수 없다("되감을 수 없는 아리아드네의 실").
용어
WIT / Component Model
WIT는 인터페이스 계약 언어, Component Model은 그 계약대로 WASM을 끼워 맞추는 표준. '동결 파일 규칙'으로 버전이 진화한다.
용어
폴리레포(polyrepo)
커널·SDK·WIT·RFC·각 캡슐이 전부 별도 깃 저장소인 구성. 운영·기여 방식은 자매 문서 handbook이 다룬다.

11참고 링크

공식 저장소·호스팅판·자매 레포.

GitHub 저장소(book) · github.com/unicity-astrid/book — "The Astrid Book" 마크다운 원본.

호스팅판(읽기) · unicity-astrid.github.io/book — 설치 없이 바로 읽기.

커널 저장소 · github.com/unicity-astrid/astrid — 실제 Rust 커널(★ 9.2k). 책의 앵커가 가리키는 코드.

RFC 저장소 · github.com/unicity-astrid/rfcs — 커널↔유저공간 계약 변경 제안.

WIT 계약 · github.com/unicity-astrid/witastrid:* 인터페이스 정의 원본.

자매 문서(handbook) · github.com/unicity-astrid/handbook — 운영·기여 프로세스(같은 폴더 astrid-handbook-deep-dive.html 참고).

조직/제작 · unicity.ai (Unicity Labs)

TrendShift · trendshift.io/repositories/60294