Penjelasan teknis
Spring AI's support untuk Anthropic's Skills API melewatkan nama file yang dihasilkan LLM secara langsung ke Path.resolve sebelum menulis file ke disk tanpa sanitasi. Pengguna berbahaya yang dapat mempengaruhi output LLM (misalnya, melalui prompt yang dirancang atau prompt injection tidak langsung) dapat menyebabkan aplikasi menulis file di luar direktori target yang dimaksud, termasuk direktori sistem terbatas. Ini adalah contoh langsung dari 'LLM output adalah application input' — konten yang dihasilkan model menyebar ke operasi filesystem tanpa validasi.
Vektor serangan
Penyerang mempengaruhi output penamaan file LLM (melalui prompt injection langsung atau tidak langsung dalam workflow agentic) untuk menyertakan token path traversal (misalnya, '../../etc/'). Spring AI melewatkan nama file yang tidak disanitasi yang berasal dari LLM ke Path.resolve, yang menyelesaikan traversal, dan file ditulis ke lokasi yang diinginkan penyerang sebelum validasi path apa pun terjadi.
Sistem yang terdampak
Spring AI versi 1.1.0 hingga 1.1.x. Secara khusus mempengaruhi deployment yang menggunakan fitur dukungan Anthropic Skills API yang mencakup operasi file write. Spring AI banyak digunakan dalam implementasi workflow agentic Java enterprise.
Mitigasi
Upgrade ke Spring AI 1.1.7 segera. Sebagai langkah defence-in-depth, terapkan validasi canonical path pada semua nama file yang berasal dari LLM, batasi akar file write ke direktori yang secara eksplisit allowlisted, perlakukan semua path yang dihasilkan model sebagai input yang tidak dipercaya, dan audit alur kerja AI apa pun di mana output model mengontrol path filesystem, argumen tool, atau parameter API.