Złośliwy AGENTS.md w Downloads może przejąć agentów AI do programowania - Security Bez Tabu

Złośliwy AGENTS.md w Downloads może przejąć agentów AI do programowania

Cybersecurity news

Wprowadzenie do problemu / definicja

Rosnąca popularność agentów AI wspierających programowanie tworzy nową kategorię ryzyk bezpieczeństwa. Jednym z najważniejszych jest możliwość manipulowania zachowaniem narzędzia za pomocą lokalnych plików instrukcyjnych, takich jak AGENTS.md, które są automatycznie odczytywane jako część kontekstu pracy.

W tym scenariuszu nie dochodzi do klasycznego uruchomienia złośliwego pliku przez system operacyjny. Zagrożenie polega na tym, że agent AI interpretuje treść pliku jako wiążące wskazówki i na tej podstawie wykonuje działania mieszczące się w jego uprawnieniach.

W skrócie

Badacze bezpieczeństwa opisali scenariusz, w którym złośliwy plik AGENTS.md umieszczony w katalogu ~/Downloads może zostać automatycznie wczytany przez agenta AI uruchomionego z tego samego katalogu. W efekcie narzędzie może zostać skłonione do instalacji podejrzanych pakietów, uruchamiania poleceń, modyfikacji konfiguracji lub ujawnienia poświadczeń.

Istotą problemu jest architektura zaufania. Zarówno przeglądarka zapisująca pliki w katalogu pobrań, jak i agent odczytujący lokalne instrukcje, działają zgodnie z przeznaczeniem. To połączenie tych mechanizmów tworzy realną ścieżkę ataku.

Kontekst / historia

Pliki markdown z instrukcjami dla agentów AI stały się standardowym elementem nowoczesnych procesów deweloperskich. Ułatwiają definiowanie zasad projektu, sposobu uruchamiania testów, preferowanych narzędzi oraz konwencji kodowania.

Problem pojawia się wtedy, gdy taki sam mechanizm zostaje wykorzystany ofensywnie. Jeśli plik instrukcyjny trafi do katalogu roboczego agenta, model może uznać jego treść za autorytatywną część środowiska zadania. W praktyce oznacza to lokalny wariant ataku typu prompt injection, osadzony w systemie plików zamiast w treści strony internetowej czy dokumentu.

Analiza techniczna

Łańcuch ataku jest prosty, ale skuteczny. Pierwszym etapem jest umieszczenie pliku AGENTS.md w katalogu Downloads. Może do tego dojść na skutek ręcznego pobrania pliku z internetu albo automatycznego zapisania go przez przeglądarkę w domyślnej lokalizacji.

Następnie użytkownik uruchamia agenta AI z katalogu ~/Downloads jako bieżącego katalogu roboczego. Wiele narzędzi automatycznie skanuje otoczenie projektu i ładuje pliki instrukcyjne, aby ustalić sposób działania. Jeżeli wśród nich znajdzie się złośliwy AGENTS.md, agent może potraktować zawarte tam polecenia jako obowiązujące.

Technicznie nie jest to exploit pamięci, błąd parsera ani klasyczne zdalne wykonanie kodu. To nadużycie modelu zaufania, w którym agent:

  • ufa plikom kontekstowym znajdującym się w katalogu roboczym,
  • ma możliwość wykonywania poleceń systemowych lub wywołań narzędziowych,
  • działa z uprawnieniami użytkownika,
  • może instalować pakiety i modyfikować środowisko.

W opisywanych testach pokazano scenariusz, w którym agent został nakłoniony do instalacji podejrzanego pakietu npm. W innym wariancie użyto podobnego mechanizmu do przekierowania ruchu API i pozyskania tokenu OAuth, co w odpowiednich warunkach mogło umożliwić podszycie się pod użytkownika oraz inicjowanie dalszych działań na systemie.

Kluczowy wniosek jest taki, że sam plik markdown nie jest wykonywalny. Zagrożenie wynika z interpretacji semantycznej jego treści przez model, który traktuje instrukcje jako zaufane i realizuje je w granicach przyznanych mu możliwości.

Konsekwencje / ryzyko

Ryzyko dotyczy przede wszystkim środowisk programistycznych, w których agenci AI mają szeroki dostęp do systemu plików, menedżerów pakietów, zmiennych środowiskowych i sekretów. W takich warunkach skutki incydentu mogą być poważne zarówno dla pojedynczego developera, jak i całej organizacji.

  • instalacja złośliwych zależności,
  • uruchamianie lokalnych poleceń,
  • modyfikacja konfiguracji projektu,
  • wyciek tokenów API, sekretów i danych uwierzytelniających,
  • wykonanie nieautoryzowanych operacji w imieniu użytkownika,
  • kompromitacja łańcucha dostaw oprogramowania.

Szczególnie groźne jest połączenie trzech elementów: automatycznego zapisu plików do katalogu Downloads, uruchamiania agentów z tego katalogu oraz zbyt szerokich uprawnień narzędziowych. Taki układ może prowadzić do skutecznego ataku nawet wtedy, gdy użytkownik nie otworzy ręcznie samego pliku instrukcyjnego.

Rekomendacje

Najważniejszą zasadą ochrony jest ograniczenie zaufania do katalogu pobrań i innych ogólnych lokalizacji roboczych. Agenci AI nie powinni być uruchamiani z katalogów takich jak Downloads, Desktop czy katalog domowy użytkownika, jeśli automatycznie wczytują lokalne pliki kontekstowe.

  • uruchamiać agentów wyłącznie w katalogu konkretnego projektu,
  • unikać pracy z poziomu katalogów ogólnych i współdzielonych,
  • sprawdzać zawartość plików AGENTS.md, CLAUDE.md i podobnych przed rozpoczęciem sesji,
  • pozostawiać aktywne mechanizmy zatwierdzania operacji wysokiego ryzyka,
  • ograniczać uprawnienia agenta do minimalnego niezbędnego zakresu,
  • stosować sandboxing i izolowane środowiska testowe dla nieznanych artefaktów,
  • kontrolować możliwość instalacji pakietów i wykonywania poleceń systemowych,
  • monitorować nietypowe użycie menedżerów pakietów oraz dostęp do tokenów i sekretów.

W organizacjach rozwijających polityki bezpieczeństwa dla narzędzi AI warto dodatkowo wdrożyć listę dozwolonych katalogów roboczych, reguły wykrywania plików instrukcyjnych w lokalizacjach wysokiego ryzyka, audyt uprawnień agentów kodujących oraz kontrolę użycia poświadczeń przez narzędzia wspierane przez AI.

Podsumowanie

Przypadek złośliwego AGENTS.md pokazuje, że bezpieczeństwo agentów AI zależy nie tylko od jakości samego modelu, ale również od całego otaczającego go ekosystemu: przeglądarki, systemu plików, katalogu roboczego i polityki uprawnień. To atak, który nie wymaga klasycznej podatności programistycznej, lecz wykorzystuje przewidywalne zachowanie narzędzi.

Dla zespołów bezpieczeństwa i programistów oznacza to konieczność traktowania lokalnych plików instrukcyjnych jako potencjalnie nieufnego wejścia. Najskuteczniejszą ochroną pozostają ścisła kontrola kontekstu roboczego agenta, minimalizacja uprawnień oraz unikanie uruchamiania sesji AI w lokalizacjach, do których treści mogą trafiać bezpośrednio z internetu.

Źródła

  1. https://www.bleepingcomputer.com/news/security/ai-coding-agents-hijacked-using-agentsmd-file-in-downloads-folder/
  2. https://forever.security/
  3. https://platform.openai.com/docs/
  4. https://docs.anthropic.com/