ThreatClaw는 Rust로 작성된 오픈 소스 사이버보안 에이전트로, 서명된 격리 샌드박스, 바이너리에 컴파일된 5개의 보안 기둥, 그리고 OWASP ASI 2026에 대한 자체 평가 9/9 커버리지를 갖추고 있습니다(현재까지 제3자 감사 없음).
미적인 선택이 아닙니다. Rust는 시스템 소프트웨어의 치명적 CVE의 70%를 차지하는 취약점 범주 전체를 컴파일 시점에 제거합니다.
구조적으로 불가능하며, 컴파일러가 범위를 벗어난 모든 메모리 접근을 거부합니다
보로우 체커가 컴파일 시점에 금지하므로 가비지 컬렉터가 필요 없습니다
동시성은 기본적으로 안전하며, 타입 시스템이 배타적 접근을 보장합니다
Option<T> 타입이 값의 부재에 대한 명시적 처리를 강제합니다
각 skill은 다음을 갖춘 격리 샌드박스에서 실행됩니다:
실행당 CPU 제한, 시스템을 포화시킬 수 없음
skill은 필요한 것(network, filesystem, secrets)을 선언합니다. 기본값: 없음. network=false는 침해된 skill이 데이터를 유출할 수 없음을 의미합니다
샌드박스의 각 출력은 격리 환경을 떠나기 전에 스캔됩니다. 자격 증명이 응답에 유출되면 차단됩니다
각 skill은 서명됩니다. 수정된 파일은 로드되지 않습니다
ThreatClaw를 다른 모든 에이전트와 구별하는 것:
AGENT_SOUL.toml은 Rust 바이너리에 컴파일된 SHA-256 지문으로 검증됩니다. 런타임에 잠기며, 어떠한 실시간 변조도 kill switch를 작동시킵니다. 오픈 소스 코드: 운영자는 맞춤형 Soul을 재컴파일할 수 있지만, 이는 의도적이고 감사 가능하며 지문을 변경하는 행위입니다.
Rust로 정의되어 LLM이 수정할 수 없는 44개 이상의 사전 검증된 명령. 각 명령에는 위험 수준, 가역성, 금지 대상(root, threatclaw 자체)이 있습니다. 임의 shell 제로.
각 도구 출력은 LLM에 도달하기 전에 래핑됩니다. 25개 이상의 사이버 전용 주입 패턴을 탐지하고 차단합니다("ignore previous instructions", "mark as false positive" 등). 데이터는 데이터로 남으며 결코 명령이 되지 않습니다.
서명된 각 대화 메모리 항목은 암호화 서명으로 보호됩니다. 도구는 읽기만 가능하며 절대 쓰기는 할 수 없습니다. 외부의 모든 수정은 다음 주기에 탐지됩니다.
8개의 자동 중지 트리거: 화이트리스트 외 시도, soul 수정, 자체 컨테이너 표적화, 자율성 타임아웃, 행동 이상, RSSI 수동 발동. 발동 시: 원자적 중지 + 포렌식 스냅샷 + 즉각적인 Slack 경고.
익명화된 클라우드 LLM을 호출하기 전에 모든 데이터는 익명화기를 거칩니다:
에이전트의 각 동작은 다음과 함께 PostgreSQL에 기록됩니다:
사고 발생 시 완전한 포렌식. NIS2 감사 증거.
| # | 위험 | Status | 방법 |
|---|---|---|---|
| ASI01 | Goal Hijacking | ✓ | Soul + XML wrapper |
| ASI02 | Tool Misuse | ✓ | Whitelist 44+ cmd |
| ASI03 | Identity & Privilege | ✓ | HITL + 서명된 감사 |
| ASI04 | Supply Chain | ✓ | 서명된 격리 샌드박스 |
| ASI05 | Code Execution | ✓ | Sandbox fuel-metered |
| ASI06 | Memory Poisoning | ✓ | 암호화 서명 + 읽기 전용 |
| ASI07 | Inter-Agent | N/A | N/A, 단일 에이전트 V1 |
| ASI08 | Cascading Failures | ✓ | Kill switch + timeout |
| ASI09 | Excessive Trust | ✓ | High/Critical 이중 확인 |
| ASI10 | Rogue Agent | ✓ | Kill switch 8 triggers |
2026년 3월 21일 cargo audit 감사. 10개의 CVE를 식별했으며 모두 패치되거나 제거됨.