Skip to main content

Piaszcznica WebAssembly (Wasm / WASI)

DLA AGENTÓW AIChatGPTClaude

Technologia izolowanego wykonywania kodu zewnętrznego i wtyczek agentowych wewnątrz lekkich runtime'ów WebAssembly (Wasmtime, Wasmer), charakteryzująca się uruchamianiem w czasie poniżej milisekundy oraz zerowym dostępem do systemu operacyjnego.

1. Przegląd koncepcji i problem systemowy

Autonomiczne agenci często wymagają podłączania pluginów, rozszerzeń oraz niestandardowych funkcji napisanych przez użytkowników lub innych agentów:

  • Uruchamianie dowolnego skryptu użytkownika za pomocą eval() lub standardowego procesu Node.js to katastrofalna luka w bezpieczeństwie (umożliwia odczyt plików serwera lub kradzież tokenów z .env).
  • Podnoszenie osobnego kontenera Docker dla funkcji liczącej 10 linii matematycznych obliczeń jest zbyt wolne i marnotrawi zasoby procesora.

WebAssembly Sandboxing (Wasm / WASI) zapewnia mikroskopijną piaskownicę: binarny kod bajtowy wykonuje się z natywną prędkością procesora, ale jest całkowicie zamknięty w wirtualnym pudełku z dostępem wyłącznie do wyodrębnionego bloku pamięci liniowej.

2. Taksonomia architektoniczna i model mentalny

┌─────────────────────────────────────────────────────────────┐
│                 WASM BEZPIECZEŃSTWO OPARTE NA UPRAWNIENIACH │
├─────────────────────────────────────────────────────────────┤
│ 1. MODUŁ GOŚCIA WASM (Niezaufany kod / Plugin agenta)       │
│    • Przestrzeń pamięci liniowej (Izolowana pamięć, brak    │
│      wskaźników do systemu hosta)                           │
│    • Domyślnie zero wywołań systemowych (Brak dostępu do   │
│      plików, brak dostępu do sieci)                        │
├─────────────────────────────────────────────────────────────┤
│                          │                                  │
│                          ▼ Granica uprawnień WASI           │
├─────────────────────────────────────────────────────────────┤
│ 2. RUNTIME HOSTA (Wasmtime / Wasmer w Rust/Go/Node)         │
│    • Jawne przyznawanie uprawnień:                          │
│      - Zezwól na odczyt: TYLKO `/tmp/dataset.csv`           │
│      - Zablokuj wszystkie gniazda sieciowe                  │
│      - Limit paliwa wykonania (ochrona przed nieskończonymi │
│        pętlami)                                             │
├─────────────────────────────────────────────────────────────┤
│ 3. SYSTEM OPERACYJNY HOSTA (Kernel Linux / macOS)           │
│    • W 100% chroniony przed złośliwym wykonywaniem          │
└─────────────────────────────────────────────────────────────┘

3. Praktyczne scenariusze inżynierskie w środowisku produkcyjnym

01. Bezpieczne wykonywanie formuł i skryptów użytkownika

Serwis arkuszy kalkulacyjnych pozwala użytkownikom dodawać własne formuły w Pythonie. Formuły są kompilowane do WASM i wykonywane w 0,5 milisekundy bez ryzyka wpływu na serwer.

02. Ekosystem izolowanych narzędzi MCP (Wasm MCP Tools)

Narzędzia Model Context Protocol dystrybuowane są jako jednoplikowe moduły .wasm. Agent pobiera nowe narzędzie z sieci i uruchamia je lokalnie, mając pewność, że narzędzie nie będzie mogło potajemnie odczytać kluczy SSH hosta.

4. Pułapki, typowe błędy i bezpieczeństwo

  • Ograniczone wsparcie dla bibliotek systemowych: Jeśli kod wymaga specyficznych sterowników systemowych (np. złożonych rdzeni CUDA lub niskopoziomowych bibliotek graficznych), jego kompilacja do WASM może być utrudniona lub niemożliwa.
  • Narzut języków interpretowanych: Uruchamianie ciężkich pakietów Pythona (pandas, scikit-learn) w WASM wymaga wczytania całego runtime'u Pythona do pamięci modułu (50–100 MB), co spowalnia pierwsze uruchomienie.

5. Strategiczny wniosek dla inżyniera roku 2026

WebAssembly stał się standardem bezpiecznego osadzania kodu. Dla architekta systemów agentowych implementacja WASM umożliwia dostarczanie agentom i użytkownikom maksymalnej elastyczności w rozszerzaniu systemu z matematyczną gwarancją bezpieczeństwa hosta.

/ Najczęściej zadawane pytaniaSchema.org FAQPage

FAQ: Piaszcznica WebAssembly (Wasm / WASI)

WASM to uniwersalny format binarny ze ścisłym modelem bezpieczeństwa opartym na uprawnieniach (Capability-Based Security). Moduł WASM fizycznie nie ma dostępu do systemu plików, sieci ani zegara systemowego hosta, dopóki program hostujący jawnie nie przyzna takiego deskryptora.
/ Linki wewnętrzne
Wszystkie hasła