Paperclip AI: import agenta prowadził do wykonania poleceń na hoście
CVE-2026-41679 i powiązane błędy Paperclip pokazały, że pakiet agenta jest wykonywalnym łańcuchem dostaw. Wyjaśniamy import, runtime i zabezpieczenia.
- AUTOR
- Karol Rapacz / CEO Breachroad · OSCP · PNPT
- PUBLIKACJA
- 5 sierpnia 2026
- CZAS CZYTANIA
- 12 min czytania
- TEMAT
- Bezpieczeństwo AI
Seria podatności w platformie orkiestracji agentów Paperclip AI pokazała, że import „firmy agentów” może być równoważny instalacji programu. Najpoważniejszy łańcuch, opisany jako CVE-2026-41679 i GHSA-68qg-g8mg-6pr7, pozwalał ominąć kontrolę importu, dostarczyć konfigurację adaptera procesowego, a następnie uruchomić polecenie na hoście serwera.
Problem jest szerszy niż jeden endpoint. Agent zawiera instrukcje, strategię workspace’u, adapter wykonawczy, ścieżki plików i komendy lifecycle. Jeżeli platforma ufa importowanemu pakietowi i wykonuje te pola przez shell, granica między „konfiguracją AI” a kodem znika.
Łańcuch techniczny
Advisory projektu Paperclip opisuje brak odpowiedniej autoryzacji przy imporcie nowej organizacji. Pakiet mógł zawierać .paperclip.yaml definiujący agenta z adapterem process, poleceniem i argumentami. Po uruchomieniu agenta backend wykonywał zadeklarowany proces w kontekście usługi Paperclip.
W zależności od trybu wdrożenia napastnik mógł wykorzystać otwartą rejestrację i samodzielne zatwierdzenie klucza CLI. Kolejne advisory wskazały podobny wzorzec w cleanupCommand, provisionCommand, ścieżkach plików instrukcji i tokenach między tenantami. Zestawienie RAXE Labs wymienia jedenaście identyfikatorów GHSA obejmujących osiem podstawowych klas błędów.
Wersje sprzed 2026.416.0 wymagały pilnej aktualizacji. Jednak sama poprawka nie zmienia faktu architektonicznego: adapter lokalny jest celowym mechanizmem uruchamiania procesów. Po kompromitacji konta z prawem konfiguracji legalna funkcja może zostać użyta do tego samego skutku.
Zakres wpływu
Proces agenta może widzieć zmienne środowiskowe, tokeny modeli, klucze chmurowe, repozytoria i dane robocze. RCE na hoście platformy daje też możliwość zmiany instrukcji innych agentów, przechwycenia ich wyników i utrzymania dostępu poza pamięcią rozmowy. W środowisku wielotenantowym błędy kontroli companyId zwiększają ryzyko naruszenia izolacji klientów.
Najbardziej narażone są instalacje dostępne sieciowo, w trybie local_trusted, z otwartą rejestracją albo bez rozdzielenia procesu orkiestratora od wykonawców. Runtime agenta nie powinien dzielić systemu plików i sekretów z panelem sterującym.
Jak zabezpieczyć platformę agentową
- Zaktualizuj oba pakiety
paperclipaii@paperclipai/serverco najmniej do wersji naprawionej i zrestartuj procesy. - Wyłącz otwartą rejestrację, usuń nieznane konta, klucze CLI i agentów oraz sprawdź historię importów.
- Rotuj sekrety dostępne dla procesu: klucze LLM, OAuth, chmurę, pocztę, bazę i repozytoria.
- Uruchamiaj adaptery w osobnych, jednorazowych sandboxach bez dziedziczenia środowiska hosta i z domyślnie zablokowaną siecią.
- Traktuj plik importu jak obraz kontenera: podpisuj, skanuj, zatwierdzaj pochodzenie i pokazuj pełny diff konfiguracji przed wykonaniem.
- Zastąp dowolne polecenia deklaratywnymi, wersjonowanymi narzędziami oraz allowlistą argumentów.
- Loguj principal, tenant, hash importu, proces potomny, sieć i wynik każdej operacji lifecycle w zewnętrznym systemie.
Rozdziel control plane od data plane
Panel, baza metadanych i usługa zatwierdzająca import należą do control plane. Proces wykonujący kod agenta jest data plane i powinien być traktowany jak nieufny workload. Między nimi potrzebny jest wąski protokół z jawnym typem narzędzia, limitem zasobów i jednorazowym tokenem zadania. Data plane nie powinien móc modyfikować definicji innych agentów ani pobierać głównego klucza szyfrującego platformy.
W środowisku Kubernetes oznacza to osobny namespace, service account bez praw do API klastra, read-only root filesystem, brak hostPath i domyślnie zamknięty egress. W maszynie wirtualnej tę samą zasadę realizuje jednorazowy worker bez współdzielonego katalogu domowego. W logach trzeba odróżniać polecenie zapisane w imporcie od procesu faktycznie uruchomionego po interpretacji argumentów; tylko ta druga wartość pokazuje, czy doszło do nieoczekiwanej ekspansji shellowej.
Fakty i wnioski
Advisory potwierdzają podatności oraz poprawki; demonstracje dotyczyły kontrolowanych środowisk. Nie ma publicznego dowodu, że każda instalacja Paperclip została zaatakowana. Wnioskiem Breachroad jest uznanie importu agenta za pełnoprawną granicę dostaw oprogramowania.
Audyt bezpieczeństwa AI i LLM powinien obejmować orkiestrator i runtime, nie tylko prompt. Szkolenia cyberbezpieczeństwa pomagają zespołom rozpoznawać, kiedy „konfiguracja” niesie prawa do kodu i danych.


