## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SIYAD01-AGENTBOX
# π‘οΈ AgentBox
**AI μμ΄μ νΈλ₯Ό μν μ€νμμ€ μλλ°μ€ λ°νμ**
_AI μμ΄μ νΈλ₯Ό μμ¬νκ³ μ€ννμΈμ. λͺ¨λ μμ΄μ νΈλ μ체 κΆν λ²μ, μ격 μ¦λͺ
κΈκ³ , κ°μ¬ μΆμ , ν¬ μ€μμΉλ₯Ό κ°μ΅λλ€._
    
* * *
## AgentBoxκ° μ‘΄μ¬νλ μ΄μ
2026λ
1μ 27μΌ, **CVE-2026-25253** μ μμ΄μ ν± AI μμ€ν
μ λΆμ¬λ μ΅μ΄μ CVEκ° λμμ΅λλ€. OpenClawμ μΉλͺ
μ μΈ WebSocket νμ΄μ¬νΉ μ·¨μ½μ μΌλ‘ μΈν΄ λ
ΈμΆλ λͺ¨λ μΈμ€ν΄μ€ β localhostμλ§ λ°μΈλ©λ μΈμ€ν΄μ€κΉμ§ ν¬ν¨ β μ λν΄ μν΄λ¦ μ격 μ½λ μ€νμ΄ κ°λ₯ν΄μ‘μ΅λλ€.
κ°μ μ£Ό, **ClawHavoc μΊ νμΈ** μ OpenClawμ λ§μΌνλ μ΄μ€μ 341κ° μ΄μμ μ
μ± μ€ν¬μ μΉ¨ν¬μμΌ°μ΅λλ€. ClawHubμμ μ€μΉλ λͺ¨λ μ€ν¬μ OpenClaw μ체μ λμΌν κΆν β μ 체 λμ€ν¬ μ κ·Ό, OAuth ν ν°, API ν€ β μΌλ‘ μ€νλμμ΅λλ€. μλλ°μ€λ, κ°μ¬ μΆμ λ, ν¬ μ€μμΉλ μμμ΅λλ€.
> _"ClawHubμμ μ€ν¬μ μ€μΉνλ©΄ OpenClaw μ체μ λμΌν 리μμ€μ μ κ·Όν μ μμ΅λλ€. κΈ°λ³Έμ μΌλ‘ μ€ν¬ κ° μλλ°μ€ κ²©λ¦¬κ° μμ΅λλ€."_ β DEV Community 보μ λΆμ, 2026λ
4μ
**μμΉλ‘ 보λ νν©:**
* 2026λ
μλ§ OpenClawμμ 138κ° μ΄μμ CVE
* 82κ°κ΅μ κ±Έμ³ 135,000κ° μ΄μμ λ
ΈμΆλ μΈμ€ν΄μ€
* νμΈλ μ
μ± μ€ν¬ 341κ° (μ 체 λ μ§μ€νΈλ¦¬μ 12%)
* νλ¬ΈμΌλ‘ λ
ΈμΆλ μμ΄μ νΈ API ν ν° 150λ§ κ°
* Microsoft: _"νμ€ κ°μΈ λλ κΈ°μ
λ¨Έμ μμ μ€ννλ κ²μ μ μ νμ§ μμ΅λλ€."_
AgentBoxλ ꡬ쑰μ ν΄κ²°μ±
μ
λλ€. ν¨μΉκ° μλλΌ λ°νμμ
λλ€.
* * *
## AgentBoxκ° νλ μΌ
μ€ννλ λͺ¨λ μμ΄μ νΈλ λ€μμ μ»μ΅λλ€:
root@kitploit:~
AgentBox μ΄μ AgentBox μ΄ν
βββββββββββββββββ ββββββββββββββ
μμ΄μ νΈ β μ 체 λμ€ν¬ β μμ΄μ νΈ β νμ©λ κ²½λ‘λ§ β
μμ΄μ νΈ β μ 체 λ€νΈμν¬ β μμ΄μ νΈ β νμ©λ νΈμ€νΈλ§ β
μμ΄μ νΈ β μμ λΉλ°κ° β μμ΄μ νΈ β λ²μ μ ν ν ν° β
κ°μ¬ μΆμ μμ β λͺ¨λ μμ
κΈ°λ‘ β
ν¬ μ€μμΉ μμ β <100ms λ΄ μ’
λ£ β
μ€ν¬μ΄ rootλ‘ μ€νλ¨ β 컀λ 격리 μλλ°μ€ β
* * *
## λΉ λ₯Έ μμ
root@kitploit:~
# μ€μΉ
go install github.com/siyad01/agentbox/cmd/agentbox@latest
# μ€ν μ λ§€λνμ€νΈ κ²μ¦
agentbox validate manifests/email-sorter.yaml
# μλλ°μ€μμ μμ΄μ νΈ μ€ν
agentbox run --manifest manifests/email-sorter.yaml python agent.py
# μμ΄μ νΈκ° μνν μμ
νμΈ
agentbox audit --log logs/email-sorter-audit.log
# λ‘κ·Έκ° λ³μ‘°λμ§ μμλμ§ κ²μ¦
agentbox verify logs/email-sorter-audit.log
# λΉλ°κ° κ΄λ¦¬
agentbox vault add ANTHROPIC_API_KEY
agentbox vault list
* * *
## λ§€λνμ€νΈ
λͺ¨λ μμ΄μ νΈλ μ νν νμν κ²λ§ μ μΈν©λλ€. **λͺ©λ‘μ μλ κ²μ μ κ·Όν μ μμ΅λλ€.**
root@kitploit:~
name: "email-sorter"
version: "1.0.0"
description: "λ°μ νΈμ§ν¨μ μ½κ³ , μ΄λ©μΌμ λΆλ₯νκ³ , μ 리λ ν΄λμ μλλ€"
runtime: docker # λλ: gvisor (컀λ μμ€), firecracker (MicroVM)
permissions:
filesystem:
read:
- "~/Documents/inbox"
write:
- "~/Documents/sorted"
deny: # νμ μ°¨λ¨ β μ½κΈ° λͺ©λ‘μ μμ΄λ
- "~/.ssh"
- "~/.aws"
- "~/.config"
- "/etc"
network:
allow:
- "api.anthropic.com"
- "gmail.googleapis.com"
deny:
- "*" # κ·Έ μΈ λͺ¨λ κ² μ°¨λ¨
tools:
allow:
- "read_file"
- "write_file"
- "list_*"
deny:
- "execute_shell" # μ
Έ μ κ·Ό κΈμ§, μ λ
- "*_delete" # μμ λꡬ κΈμ§
credentials:
- ANTHROPIC_API_KEY # λ°νμμ κΈκ³ μμ μ£Όμ
- GMAIL_TOKEN # μμ΄μ νΈλ μμ κ°μ μ λ λ³Ό μ μμ
limits:
max_tokens: 50000 # LLM ν ν° μμ°
max_duration: "30m" # 30λΆ ν μ’
λ£
max_memory_mb: 256 # RAM μν
max_requests: 500 # μ΅λ λꡬ νΈμΆ μ
audit:
log_level: full
alert_on:
- filesystem_deny
- network_deny
- token_budget_80pct
log_path: "logs/email-sorter-audit.log"
* * *
## μλ λ°©μ
root@kitploit:~
agentbox run --manifest agent.yaml python agent.py
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β μ μ±
μμ§ β
β λ§€λνμ€νΈ νμ± β νμ©/κ±°λΆ λͺ©λ‘ μμ± β
β μλͺ
κ²μ¦ β μλͺ
λμ§ μμ μ€ν¬ κ±°λΆ β
β κΈκ³ μμ μ격 μ¦λͺ
μ£Όμ
β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 격리 κ³μΈ΅ β
β β
β Docker β 컨ν
μ΄λ + seccomp + cap-drop β
β gVisor β μ¬μ©μ κ³΅κ° μ»€λ, μμ€ν
μ½ κ°λ‘μ±κΈ° β
β Firecracker β μμ΄μ νΈλ³ μ μ© MicroVM 컀λ β
β β
β νμΌμμ€ν
: μ μΈλ κ²½λ‘λ§ λ§μ΄νΈ β
β λ€νΈμν¬: μ μΈλ νΈμ€νΈλ§ μ°κ²° κ°λ₯ β
β Capabilities: λͺ¨λ μ κ±°, μΆκ° μμ β
ββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
ββββββββββββββΌβββββββββββββ
βΌ βΌ βΌ
κ°μ¬ λ‘κ±° μ격 μ¦λͺ
리μμ€
(ν΄μ 체μΈ) κΈκ³ λͺ¨λν°
λͺ¨λ μμ
AES-256-GCM νλ μ΄κ³Ό μ
κΈ°λ‘ λ²μ μ ν ν ν° μλ μ’
λ£
### gVisorκ° ν둬ννΈ μΈμ μ
μ λ§λ μ΄μ
λ€λ₯Έ λͺ¨λ μλλ°μ€λ 컨ν
μ΄λ κ²½κ³μμ λ©μΆ₯λλ€. 컀λ μ·¨μ½μ μ μ
μ©νλ μμ΄μ νΈλ νμΆν μ μμ΅λλ€.
gVisorλ **νΈμ€νΈ 컀λμ λλ¬νκΈ° μ μ** λͺ¨λ μμ€ν
μ½μ κ°λ‘μ±λλ€:
root@kitploit:~
μμ΄μ νΈ μλ: write("/home/user/.ssh/id_rsa")
β
βΌ
gVisor μ¬μ©μ κ³΅κ° μ»€λ
β
κ±°λΆ λͺ©λ‘μ μλ κ²½λ‘? β μ
β
βΌ
EPERM μ¦μ λ°ν
νΈμ€νΈ 컀λμ μ΄ μμ€ν
μ½μ λ³Ό μ μμ
ν둬ννΈ μΈμ μ
μ μ΄ κ³μΈ΅μ λμ μ μμ
* * *
## CLI μ°Έμ‘°
root@kitploit:~
agentbox <command> [options]
λͺ
λ Ήμ΄:
run μλλ°μ€μμ μμ΄μ νΈ μ€ν
validate λ§€λνμ€νΈ νμΌ κ²μ¦
kill μ€ν μ€μΈ μμ΄μ νΈ μ’
λ£
audit μμ΄μ νΈ κ°μ¬ λ‘κ·Έ 보기
verify κ°μ¬ λ‘κ·Έ λ¬΄κ²°μ± κ²μ¦
vault μνΈνλ μ격 μ¦λͺ
κ΄λ¦¬
serve REST API μλ² μμ
version λ²μ νμ
μμ:
agentbox validate manifests/email-sorter.yaml
agentbox run --manifest manifests/email-sorter.yaml python agent.py
agentbox kill agent-abc123
agentbox audit --log logs/email-sorter.log --deny
agentbox audit --log logs/email-sorter.log --last 1h
agentbox verify logs/email-sorter.log
agentbox vault add ANTHROPIC_API_KEY
agentbox vault list
agentbox vault delete OLD_KEY
agentbox serve :8081
* * *
## REST API
`agentbox serve`λ‘ μμν©λλ€ (κΈ°λ³Έκ°: `:8081`).
* * *
root@kitploit:~
# μ€ν μ€μΈ μμ΄μ νΈ λͺ©λ‘
curl http://localhost:8081/api/agents
# μμ΄μ νΈ μμ
curl -X POST http://localhost:8081/api/agents \
-H "Content-Type: application/json" \
-d '{"manifest":"manifests/email-sorter.yaml","command":["python","agent.py"]}'
# μμ΄μ νΈ μ’
λ£
curl -X DELETE http://localhost:8081/api/agents/abc123
# κ°μ¬ λ‘κ·Έ μ‘°ν
curl "http://localhost:8081/api/audit?deny=true&agent=email-sorter"
* * *
## κ°μ¬ λ‘κ·Έ
λͺ¨λ μμ΄μ νΈ μμ
μ μΆκ° μ μ©, ν΄μ μ²΄μΈ λ°©μμ JSON Lines νμΌμ κΈ°λ‘λ©λλ€:
root@kitploit:~
{"id":1,"hash":"a3f2...","prev_hash":"genesis","timestamp":"2026-05-05T09:00:00Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"agent_start","allowed":true,"resource":"manifests/email-sorter.yaml"}
{"id":2,"hash":"b7c1...","prev_hash":"a3f2...","timestamp":"2026-05-05T09:00:01Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"filesystem_allow","allowed":true,"resource":"read:/home/user/Documents/inbox/mail.txt","rule":"filesystem.read: ~/Documents/inbox"}
{"id":3,"hash":"d9e4...","prev_hash":"b7c1...","timestamp":"2026-05-05T09:00:01Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"filesystem_deny","allowed":false,"resource":"read:/home/user/.ssh/id_rsa","rule":"filesystem.deny: ~/.ssh","reason":"path is explicitly denied"}
**λ³μ‘° κ°μ§:**
root@kitploit:~
agentbox verify logs/email-sorter-audit.log
β
κ°μ¬ λ‘κ·Έκ° μ¨μ ν©λλ€
νλͺ©: 47 (ID 1β47)
ν΄μ 체μΈ: λκΉ μμ
νλͺ©μ λ¬Έμ νλλΌλ λ³κ²½νλ©΄ κ²μ¦μ΄ μ¦μ μ€ν¨ν©λλ€ β 체μΈμ΄ λμ΄μ§λλ€.
* * *
## μ격 μ¦λͺ
κΈκ³
root@kitploit:~
# λΉλ°κ° μ μ₯ (μ λ κΈ°λ‘λμ§ μμΌλ©°, νκ²½ λ³μμ νλ¬ΈμΌλ‘ μ‘΄μ¬νμ§ μμ)
agentbox vault add ANTHROPIC_API_KEY
# μ μ₯λ μ격 μ¦λͺ
μ΄λ¦ λͺ©λ‘ (κ°μ μ λ νμλμ§ μμ)
agentbox vault list
# μ격 μ¦λͺ
μ΄ λ³΅νΈν κ°λ₯νμ§ νμΈ
agentbox vault test ANTHROPIC_API_KEY
# μ격 μ¦λͺ
κ΅μ²΄
agentbox vault add ANTHROPIC_API_KEY # addλ κΈ°μ‘΄ νλͺ©μ μ
λ°μ΄νΈ
μ격 μ¦λͺ
μ AES-256-GCMμΌλ‘ μνΈνλ©λλ€. λ§μ€ν° ν€λ κΈκ³ λΉλ°λ²νΈμμ νμλλ©° λμ€ν¬μ μ λ μ μ₯λμ§ μμ΅λλ€. μμ΄μ νΈ μμ μ AgentBoxλ μ격 μ¦λͺ
μ λ²μκ° μ νλ νκ²½ λ³μλ‘ μ£Όμ
ν©λλ€. μμ΄μ νΈλ μΌλ°μ μΌλ‘ `os.getenv("ANTHROPIC_API_KEY")`λ₯Ό νΈμΆν©λλ€ β κΈκ³ μ μ§μ μ κ·Όνμ§ μμ΅λλ€.
* * *
## 리μμ€ νλ
AgentBoxλ μ μΈλ νλλ₯Ό μ΄κ³Όνλ μμ΄μ νΈλ₯Ό μ’
λ£ν©λλ€:
root@kitploit:~
# μ΄ μμ΄μ νΈλ max_duration: 5sλ‘ κ΅¬μ±λ¨
agentbox run --manifest manifests/timeout-test.yaml python long_running_agent.py
Agent started
tick 1
tick 2
tick 3
tick 4
tick 5
π Killing agent timeout-test: duration limit exceeded: 5s
β οΈ Agent timeout-test exited code 137 in 5.2s
μ’
λ£ μ½λ 137 = SIGKILL. μ μ μ’
λ£, μ΅μ’
κ°μ¬ νλͺ©μ΄ κΈ°λ‘λ©λλ€.
* * *
## μμ€μμ λΉλ
root@kitploit:~
# ν΄λ‘
git clone https://github.com/siyad01/agentbox
cd agentbox
# λΉλ
go build -o agentbox ./cmd/agentbox/
# ν
μ€νΈ μ€ν (27κ° ν
μ€νΈ, λͺ¨λ ν΅κ³Ό)
go test ./...
# μ μ μ€μΉ
go install ./cmd/agentbox/
**μꡬ μ¬ν:**
* Go 1.26+
* Docker (Docker λ° gVisor λ°±μλμ©)
* Linux 컀λ 5.15+ (gVisorμ© β μλ κ°μ§, Dockerλ‘ ν΄λ°±)
* * *
## νλ‘μ νΈ κ΅¬μ‘°
root@kitploit:~
agentbox/
βββ cmd/agentbox/main.go β CLI μ§μ
μ
βββ internal/
β βββ policy/
β β βββ manifest.go β YAML λ§€λνμ€νΈ μ€ν€λ§
β β βββ parser.go β κ²μ¦ + κΈ°λ³Έκ°
β β βββ engine.go β κ±°λΆ μ°μ κ²°μ μμ§ (20κ° ν
μ€νΈ)
β βββ audit/
β β βββ logger.go β μΆκ° μ μ© SHA-256 ν΄μ μ²΄μΈ λ‘κ·Έ
β β βββ verifier.go β λ³μ‘° κ°μ§
β β βββ reader.go β μ‘°ν + νν°
β βββ vault/
β β βββ store.go β AES-256-GCM μνΈν μ격 μ¦λͺ
μ μ₯μ
β β βββ injector.go β λ°νμ μ£Όμ
(7κ° ν
μ€νΈ)
β βββ sandbox/
β β βββ sandbox.go β Sandbox μΈν°νμ΄μ€
β β βββ docker.go β Docker λ°±μλ
β β βββ gvisor.go β gVisor λ°±μλ (컀λ μμ€)
β β βββ manager.go β μμ΄μ νΈ μλͺ
μ£ΌκΈ° κ΄λ¦¬
β β βββ util.go β WSL2 κ°μ§, κ²½λ‘ ν¬νΌ
β βββ monitor/
β β βββ enforcer.go β 리μμ€ νλ + μλ μ’
λ£
β βββ api/
β βββ server.go β :8081μ REST API
βββ manifests/
βββ email-sorter.yaml β νλ‘λμ
μμ
βββ timeout-test.yaml β νλ κ°μ μμ
* * *
## 보μ λͺ¨λΈ
**κΈ°λ³Έμ μΌλ‘ κ±°λΆ μ°μ .** μμ΄μ νΈλ κΆνμ΄ 0μΈ μνλ‘ μμν©λλ€. λͺ¨λ κΈ°λ₯μ λͺ
μμ μΌλ‘ μ μΈλμ΄μΌ ν©λλ€.
**κ±°λΆ λͺ©λ‘μ΄ νμ μ°μ .** κ²½λ‘κ° μ½κΈ° λͺ©λ‘κ³Ό κ±°λΆ λͺ©λ‘ λͺ¨λμ μμ΄λ κ±°λΆ λͺ©λ‘μ΄ μ°μ ν©λλ€. μμΈλ μμ΅λλ€.
**gVisorλ₯Ό ν΅ν 컀λ μμ€ κ°μ .** seccomp νν°μ capability μ κ±°λ μμ€ν
μ½ κ²½κ³μμ μλν©λλ€. 곡격μκ° μ μ΄ν μ μλ λͺ¨λΈ μΆλ ₯μ μ¬μ©μ 곡κ°μμ μ€νλλ©° 컀λ μμ€ μ μ±
μ μμ ν μ μμ΅λλ€.
**μ격 μ¦λͺ
격리.** κΈκ³ λ§μ€ν° ν€λ λμ€ν¬μ μ λ μ μ₯λμ§ μμ΅λλ€. μ격 μ¦λͺ
μ μλλ°μ€ μμ μ μλͺ
μ΄ μ§§μ λ²μ μ ν ν ν°μΌλ‘ μ£Όμ
λκ³ μ’
λ£ μ νκΈ°λ©λλ€. μμ΄μ νΈ νλ‘μΈμ€κ° μμλμ΄λ μ격 μ¦λͺ
κΈκ³ λ μμλμ§ μμ΅λλ€.
**λ³μ‘° λΆκ° κ°μ¬ μΆμ .** SHA-256 ν΄μ 체μΈμ μ¬ν λ‘κ·Έ μμ μ κ°μ§ν μ μκ² ν©λλ€. νλͺ© νλμ λ³κ²½μ κ·Έ μμ λΆν° 체μΈμ λμ΅λλ€.
μ·¨μ½μ λ³΄κ³ λ SECURITY.mdλ₯Ό μ°Έμ‘°νμΈμ.
* * *
## λΉκ΅
* * *
## λ‘λλ§΅
* Firecracker MicroVM λ°±μλ (μμ΄μ νΈλ³ μ μ© Linux 컀λ)
* eBPF μμ€ν
μ½ λͺ¨λν°λ§ (μ€μκ° λμ λΆμ)
* OPA/Rego μ μ±
-as-μ½λ (Gitμ 볡μ‘ν κ·μΉ μΈνΈ)
* Prometheus λ©νΈλ¦ μλν¬μΈνΈ
* AgentBox Cloud (κ΄λ¦¬ν νΈμ€ν
, SOC2 μ€λΉ)
* λ§€λνμ€νΈ μλͺ
(Ed25519, μΆμ² κ²μ¦)
* DLP (λ°μ΄ν° μ μΆ λ°©μ§ β μμ΄μ νΈ μΆλ ₯μμ PII μ€μΊ)
* * *
## κΈ°μ¬
CONTRIBUTING.mdλ₯Ό μ°Έμ‘°νμΈμ.
## λΌμ΄μ μ€
Apache 2.0 β μμ λ‘κ² μ¬μ©, μμ , λ°°ν¬ν μ μμ΅λλ€. LICENSEλ₯Ό μ°Έμ‘°νμΈμ.
* * *
Goλ‘ μ μ Β· ν΅μ¬ 보μ κΈ°λ₯μ μΈλΆ μ’
μμ± 0 Β· ν λͺ
λ ΉμΌλ‘ μ체 νΈμ€ν
**CVE-2026-25253μ΄ μ°λ €λμλ€λ©΄, μ΄κ²μ΄ ν΄κ²°μ±
μ
λλ€. βλ₯Ό λ¨κ²¨μ£ΌμΈμ**