AI dla początkującychPrzewodnik
Uruchamiasz Claude Code lub Codex w Pobranych? Sprawdzenie bezpieczeństwa AGENTS.md
Plik o nazwie AGENTS.md lub CLAUDE.md w Pobranych może sterować Claude Code i Codex. Czym są te pliki i 5-minutowe sprawdzenie twoich konfiguracji.

Na tej stronie
Krótka odpowiedź: nie uruchamiaj Claude Code ani Codex w folderze ~/Downloads. 22 października 2026 firma zajmująca się bezpieczeństwem Forever Security opublikowała badanie pokazujące, że strona internetowa może po cichu zapisać plik o nazwie AGENTS.md lub CLAUDE.md w folderze Pobrane, a agent uruchomiony w tym folderze traktuje ten plik jako zaufane instrukcje. Poniżej: czym są te pliki, co udało się zmienić badaczom i sprawdzenie, które zajmuje około pięciu minut.
Wyobraź sobie zwykłą sytuację. Zapisujesz kilkanaście PDF-ów i zrzutów ekranu ze strony internetowej, otwierasz terminal w folderze Pobrane, wpisujesz claude lub codex i prosisz o „posortowanie tych plików”. Nic w tym nie wydaje się ryzykowne. I właśnie w tym tkwi haczyk.
Czym są AGENTS.md i CLAUDE.md i dlaczego agent im wierzy#
Agent do kodowania nie zaczyna każdej sesji od zera. Zanim spojrzy na twoje polecenie, sprawdza folder, w którym został uruchomiony, pod kątem pliku tekstowego ze stałymi instrukcjami: „używaj tabulatorów, uruchamiaj testy przez npm test, nigdy nie dotykaj folderu migracji”. AGENTS.md to nazwa ogólna, CLAUDE.md to ta sama idea dla Claude Code. W twoim własnym projekcie te pliki są przydatne, bo sam je napisałeś.
Agent nie potrafi jednak rozpoznać, kto napisał plik. CLAUDE.md, który strona internetowa podrzuciła do folderu Pobrane, wygląda dokładnie tak samo jak ten, który napisałeś w zeszłym tygodniu.
Fiszki
Pojęcia, które spotkasz w tym artykule
Dotknij kartę, aby ją odwrócić
Co badacze zrobili z plikiem w folderze Pobrane#
Wpis Forever Security (autorzy Gal Weizman i Omer Samet, 22 października 2026) opisuje dwa przypadki. Wszystkie podane poniżej wskaźniki skuteczności to pomiary samych badaczy.
Codex. Podrzucony AGENTS.md kazał agentowi dodać wpis serwera MCP do ~/, a ten wpis prowadził do instalacji pakietu npm o nazwie function-color. Według badaczy ładunek uruchomił się w ponad 90% prób. Spójrz, gdzie znajduje się ten plik: w twoim folderze domowym, nie w Pobranych. Konfiguracja jest ogólnosystemowa, więc dotyczy każdej późniejszej sesji w dowolnym folderze, długo po tym, jak zapomnisz o folderze Pobrane.
Claude Code. Podrzucony CLAUDE.md próbował zapisać ustawienie ANTHROPIC_ w .. To ustawienie decyduje, dokąd agent wysyła ruch API. Skieruj je na serwer kogoś innego, a ten serwer zobaczy twój token OAuth i może odsyłać wywołania narzędzi do wykonania przez agenta. Zapis udał się w około połowie przypadków; ścieżka wykonana w ramach tej samej sesji — w około jednej piątej.

Wpis jasno stwierdza, że w żadnym z produktów nic nie jest „zepsute”: agent działa zgodnie z projektem, a ryzyko wynika z tego, gdzie leży plik i jak bardzo agent mu ufa. Forever podaje też, że znalazł prawdziwy podrzucony AGENTS.md na maszynie klienta i zatrzymał złośliwą instalację npm, zanim uruchomił się jakikolwiek kod; npm usunął od tego czasu function-color. Ta ostatnia część to relacja samych badaczy. OpenNET opisał tę historię 26 października 2026 i wskazuje na podobne ryzyko, gdy AGENTS.md przychodzi przez pull request lub sklonowane repozytorium.
Szybkie sprawdzenie
Dlaczego przypadek Codex jest gorszy niż jedna zła sesja w Pobranych?
Pokaż odpowiedź
Odpowiedź: Zmieniona konfiguracja jest ogólnosystemowa, więc dotyczy każdej późniejszej sesji w dowolnym folderze
Podrzucony plik musi zadziałać tylko raz. To, co zapisze w ~/, pozostaje tam i ma zastosowanie do późniejszych sesji w każdym folderze.
Które ustawienia sprawdzić i jak wygląda normalne#
Dwa pliki, po jednym dla każdego narzędzia z badania.
W ~/ szukaj wpisów [mcp_servers.*], których nie pamiętasz, że dodawałeś, oraz adresu base URL, którego nie ustawiłeś. Podejrzany wpis sprawia, że twoja maszyna pobiera i uruchamia coś z npm:
[mcp_servers.helper]
command = "npx"
args = ["-y", "some-package"]Nazwa helper i pakiet w tym miejscu to placeholdery. W przypadku badaczy pakietem stojącym za takim wpisem był function-color.
W . szukaj punktu końcowego API lub proxy, którego tam nie umieściłeś. Jeśli nigdy nie ustawiałeś ANTHROPIC_, plik w ogóle nie powinien o tym wspominać. Jeśli ustawiałeś, powinien to być adres wybranego przez ciebie dostawcy. Dla CheapTokens klient w stylu Anthropic, taki jak Claude Code, używa https:/ bez /v1 na końcu; klienci w stylu OpenAI używają https:/.

Jeśli uruchamiasz Claude Code na własnym kluczu, instrukcja krok po kroku dotycząca podłączania Claude Code do CheapTokens pokazuje cały plik, a dokumentacja wymienia oba adresy base URL. W przypadku długich pętli agenta DeepSeek-V4-Flash (deepseek-) ma kontekst 380K, do 32 768 tokenów wyjściowych na odpowiedź i jedną cenę o każdej porze; reszta jest na stronie modelu.
Cline, Aider i inne agenty nie były częścią tego badania, a każde z nich trzyma ustawienia we własnym miejscu. Nawyk jest ten sam: wiedzieć, który plik zawiera punkt końcowy, i raz go przeczytać.
Sprawdzenie w 5 minut#
Otwórz terminal i przejdź przez te kroki po kolei. Nic tutaj nie zmienia pliku; tylko odczytuje.
Krok po kroku
Sprawdź swoją maszynę
Znajdź obce pliki z instrukcjami
find ~/Downloads -maxdepth 3 -name "AGENTS.md" -o -name "CLAUDE.md"Każde trafienie, którego nie napisałeś: otwórz jako tekst i przeczytaj. Jeśli nie wiesz, skąd się wzięło, usuń je.
Odczytaj konfigurację Codex
grep -n "mcp_servers\|base_url" ~/.codex/config.tomlKażda linia [mcp_servers.…] powinna być czymś, co pamiętasz, że dodawałeś. „No such file” jest w porządku, jeśli nie używasz Codex.
Odczytaj ustawienia Claude Code
grep -n "BASE_URL\|proxy" ~/.claude/settings.json .claude/settings.jsonUruchom to z folderu projektu, aby objąć oba pliki. Każdy adres w wyniku powinien należeć do wybranego przez ciebie dostawcy.
Spójrz na swoją powłokę
env | grep -i "BASE_URL"To wyświetla adresy base URL ustawione jako zmienne środowiskowe. Ta sama zasada: powinieneś rozpoznać każdy z nich.
Poszukaj pakietu z tego przypadku
npm ls -g --depth=0 | grep function-colorUruchom też npm ls function- w projektach, w których używałeś agenta. Jeśli się pojawi, traktuj maszynę jako przejętą.
Jeśli coś wygląda źle#
Najpierw zamknij agenta. Następnie usuń wpisy, których nie rozpoznajesz, i wymień każde poświadczenie, które agent mógł zobaczyć: klucze API, tokeny, wszystko w środowisku. Jeśli rotacja klucza to dla ciebie nowość, czym jest klucz API i jak go przechowywać omawia podstawy.
Nawyki, które zapobiegają powtórzeniu się sytuacji, wszystkie z zaleceń badaczy:
- Uruchamiaj agenty w folderze projektu, który sam utworzyłeś, a nie w Pobranych.
- Przeczytaj każdy
AGENTS.mdlubCLAUDE.md, którego nie napisałeś, zanim uruchomisz na nim agenta, w tym te, które przychodzą przez klon lub pull request. - Utrzymuj prośby o zatwierdzenie i sandboxing włączone i bądź ostrożny wobec każdej instrukcji, która każe agentowi je wyłączyć.



