+− THE DAILY DIFFdev & AI news
REVERT

Claude Code wysyłał e-maile użytkowników do stron internetowych jako adres kontaktowy

Claude Code dodał adres e-mail zalogowanego konta do kontekstu modelu, a agent czasem umieszczał ten adres w nagłówku User-Agent żądań curl, które pisał dla stron proszących skrypty o kontakt, takich jak Wikipedia i SEC.

Want to see our stories first on Google? Add us to your preferred sources — it helps us grow.

Claude Code dodał adres e-mail zalogowanego konta do kontekstu modelu, a agent czasem umieszczał ten adres w nagłówku User-Agent żądań curl, które pisał dla stron proszących skrypty o kontakt, takich jak Wikipedia i SEC. Anthropic wydał kontrolę poleceń powłoki w wersji 2.1.317 i twierdzi, że następna wersja usuwa e-mail z kontekstu. Zgłoszenia użytkowników o tym samym wycieku datują się na 18 września.

Przeczytaj wydanie pisemne (angielski) ↗

Co obejmuje ten film

  • Lydia Hallie z Anthropic powiedziała, że e-mail konta został dodany do kontekstu modelu dla zalogowanych użytkowników, ponieważ Claude wymyślał nazwy dla rzeczy takich jak znaczniki @author bez niego.
  • Strony takie jak Wikimedia proszą skrypty o informatywny User-Agent z danymi kontaktowymi; polityka akceptuje e-mail, stronę internetową lub użytkownika wiki. Model czasem używał adresu e-mail konta, który miał w kontekście.
  • Wersja 2.1.317 dodała kontrolę. Opublikowany plik readme opisuje odmowę bez monitu dla wywołań Bash, PowerShell i Monitor, które zawierają adres i nazwę User-Agent, i mówi, że WebFetch, WebSearch, skrypty i wartości czasu wykonania nie są sprawdzane. Dziennik zmian i personel opisują ten sam zabezpieczenie jako pytające lub blokujące.
  • Dwóch użytkowników zgłosiło, że załadowane zabezpieczenie nie odrzuciło nieszkodliwych poleceń testowych; Anthropic nie potwierdził tych zgłoszeń. Kanał stabilny nadal był na 2.1.311, który nie ma tej kontroli, a najnowszy wpis w dzienniku zmian w momencie nagrywania to 2.1.318.
  • Problemy na GitHubie opisujące ten sam wyciek User-Agent datują się na 18 września, z raportem z lipca dotyczącym bloku kontekstu wstrzykniętego. Werdykt brzmiał REVERT: adres, który model może zobaczyć, to adres, który może wysłać.

Pytania i odpowiedzi

Dlaczego Claude Code umieścił adres e-mail użytkownika w nagłówku User-Agent?

Według Lydii Hallie z zespołu Claude Code, Anthropic dodał adres e-mail konta do kontekstu modelu dla zalogowanych użytkowników, aby Claude przestał wymyślać nazwy dla rzeczy takich jak znaczniki autora. Kiedy Claude pisał własne polecenia curl, czasem używał tego adresu jako kontaktu w User-Agent, ponieważ niektóre strony proszą skrypty o kontakt.

Obejrzyj tę część 0:35 · Hacker News · Hacker News

Dlaczego Wikipedia i SEC proszą skrypty o identyfikację?

Polityka User-Agent Wikimedia mówi, że skrypty powinny używać informatywnego ciągu User-Agent z danymi kontaktowymi, w przeciwnym razie mogą zostać zablokowane bez powiadomienia, i akceptuje adres e-mail, stronę internetową lub użytkownika wiki. Strona EDGAR SEC prosi zautomatyzowanych klientów o zadeklarowanie agenta użytkownika i pokazuje przykładowy nagłówek z nazwą firmy i e-mailem administratora.

Obejrzyj tę część 1:20 · Wikimedia Foundation · U.S. Securities and Exchange Commission

Co sprawdza modyfikacja prywatności Claude Code, a czego nie?

Opublikowany plik readme modyfikacji mówi, że odrzuca, bez monitu, wywołanie Bash, PowerShell lub Monitor, którego dane wejściowe zawierają adres konta i nazwę User-Agent, używając dwóch zgodności słów i bez parsera. Plik readme mówi, że WebFetch, WebSearch, narzędzia MCP, skrypty zawierające adres i wartości obliczone w czasie wykonania nie są sprawdzane, i nazywa modyfikację uprzejmością, która obejmuje jeden kształt.

Obejrzyj tę część 2:17 · GitHub · anthropics/claude-code · GitHub · anthropics/claude-code

Czy usunięcie danych z kontekstu agenta różni się od filtrowania jego poleceń?

Tak. Filtr na wychodzących poleceniach musi rozpoznawać każdą drogę, którą dane mogą obrać, a plik readme Claude Code wymienia kilka dróg, których jego filtr nie obejmuje. Usunięcie adresu z kontekstu oznacza, że model nie ma nic do wysłania. Lydia Hallie powiedziała, że następna wersja usunie adres e-mail konta z kontekstu, spodziewana na początku przyszłego tygodnia; w momencie nagrywania najnowszy wpis w dzienniku zmian to 2.1.318.

Obejrzyj tę część 3:29 · Hacker News · GitHub · anthropics/claude-code · GitHub · anthropics/claude-code

Jaki był werdykt The Daily Diff w sprawie zmiany e-maila w Claude Code?

Werdykt The Daily Diff brzmiał REVERT, mający na celu cofnięcie umieszczenia adresu e-mail konta w kontekście modelu, ponieważ adres, który model może zobaczyć, to adres, który może wysłać. Odcinek zauważa, że własny plik readme strażnika mówi, że obejmuje jeden kształt, oraz że problem na GitHubie opisujący ten sam wyciek User-Agent został zgłoszony 18 września, siedem tygodni przed wiralnym wątkiem.

Obejrzyj tę część 4:47 · GitHub · anthropics/claude-code · GitHub · anthropics/claude-code #95258

Przetłumaczona transkrypcja

Przetłumaczono z oryginalnej narracji angielskiej. Dostępne audio i napisy są kontrolowane przez YouTube.

Jak e-mail logowania trafił do Wikipedii i SEC?

0:00 Twój e-mail logowania służy do logowania. Dla niektórych zalogowanych użytkowników Claude Code, był on również przesyłany w nagłówku User-Agent żądaniach do stron takich jak Wikipedia i SEC. W tym filmie: jak się tam znalazł? I czy poprawka to zamyka? Anthropic twierdzi, że powinien był to zauważyć wcześniej. Ich własny tracker błędów ma datę, o ile wcześniej, a ja przeczytam to przed werdyktem. Jest piątek, szósty listopada, a to jest The Daily Diff.

0:24 Claude Code to agent kodujący Anthropic. Czyta Twój projekt i wykonuje dla Ciebie polecenia, w tym wywołania curl do sieci. User-Agent to wiersz w każdym żądaniu sieciowym, który nazywa program wywołujący.

Dlaczego model znał Twój e-mail?

0:35 Adres znalazł się tam celowo. Lydia Hallie, która pracuje nad Claude Code, wyjaśniła na Hacker News, że Claude ciągle wymyślał nazwy dla rzeczy takich jak znaczniki autora w kodzie, ponieważ nie wiedział, kim jesteś. Więc Anthropic dodał e-mail konta do kontekstu modelu dla zalogowanych użytkowników. Wybuchło to w czwartek z problemem na GitHubie zatytułowanym „naruszenie prywatności w nagłówku User-Agent”. Reporter oskarża to o dziesiątki e-maili spamowych dziennie, i nic publicznego nie dowodzi tego związku.

1:02 Wątek na Hacker News przekroczył tysiąc dwieście punktów. Raport z lipca już cytował wstrzyknięty tekst. Pod nagłówkiem „e-mail użytkownika” jest napisane „adres e-mail użytkownika to”, a następnie Twój adres. Ten reporter również zauważył, że Claude wpisuje adres do commitów git, a ochrona pusha GitHub zablokowała push.

Dlaczego strony internetowe proszą skrypty o e-mail?

1:20 Niektóre strony proszą skrypty o identyfikację. Polityka Wikimedia mówi, że skrypty powinny używać informacyjnego User-Agent z danymi kontaktowymi, w przeciwnym razie mogą zostać zablokowane bez powiadomienia. Strona internetowa również działa jako kontakt. Strona SEC Edgar pokazuje przykładowy nagłówek z nazwą firmy i e-mailem administratora. Kiedy Claude Code pisze własne polecenie curl dla Wikipedii, strona chce kontaktu, a jedyny adres w jego kontekście to Twój e-mail logowania. Deweloper Claude Code ujął to tak na Hacker News.

1:48 Claude najwyraźniej ma tendencję do decydowania, że ta polityka jest warta przestrzegania. Według użytkowników cytujących go, ten sam blok kontekstu mówił modelowi, aby nigdy nie

Czy nic mu nie mówiło, żeby tego nie robić?

1:56 wysyłał tego adresu do niepowiązanej usługi, w nagłówku, URL-u lub ładunku. W jednym z raportów z października Claude podsumował, co stało się dalej. I tak to wysłałem. A User-Agent nie znika po żądaniu. Standardowy połączony format logów Apache zapisuje go do logu dostępu, obok adresu IP odwiedzającego i godziny. Pierwsza odpowiedź Anthropic pojawiła się w wersji trzysta siedemnaście.

Co faktycznie blokuje modyfikacja prywatności?

2:19 Dziennik zmian nazywa to sprawdzeniem, które pyta, zanim wywołanie narzędzia webowego lub powłoki wyśle Twój e-mail konta do sieci. Jest domyślnie włączone. Ale kanał stabilny nadal jest na trzysta jedenaście, który go nie ma. Jego źródło zostało upublicznione mniej niż dwie godziny po problemie. Podpina narzędzia powłoki, czyli Bash, PowerShell i Monitor. Jeśli polecenie zawiera Twój adres i nazwę User-Agent, plik readme mówi, że jest odrzucone, bez monitu.

2:44 Dziennik zmian mówi, że pyta, komentarz personelu mówi, że blokuje, a plik readme mówi, że odrzuca bez pytania. Cały odrzucacz to dwie zgodności słów, bez parsera, celowo. Potem użytkownicy to przetestowali.

Czy zabezpieczenie złapało test?

2:56 Jeden na Macu i jeden na Windowsie uruchomili nieszkodliwe polecenia, echo w nicość i curl do nieistniejącej domeny .invalid, która nigdy się nie rozwiązuje. Obaj mówią, że modyfikacja pokazała się jako załadowana, i żadne polecenie nie zostało odrzucone. To są raporty użytkowników; Anthropic ich nie potwierdził. Plik readme wymienia również, co przechodzi. Narzędzia webowe, WebFetch i WebSearch, nie są sprawdzane, co dziwnie pasuje do dziennika zmian, który wspomina o wywołaniach webowych. Nie jest sprawdzany również skrypt, który zawiera Twój adres, ani wartość obliczona w czasie wykonania.

3:25 Plik readme nazywa to wszystko "uprzejmością", która obejmuje jeden kształt. Hallie mówi, że następna wersja usunie e-mail konta z tego, co Claude Code

Kiedy pojawi się prawdziwa poprawka i co masz teraz zrobić?

3:32 daje modelowi, i powinna pojawić się na początku przyszłego tygodnia. Filtr na wyjściu musi rozpoznawać każdą trasę. Jeśli adres nigdy nie zostanie wprowadzony, nie ma nic do filtrowania. W momencie nagrywania, najnowszy wpis w dzienniku zmian to nadal trzysta osiemnaście. Jeśli jesteś na kanale stabilnym, zaktualizuj do trzysta siedemnaście lub nowszej. Jeśli piszesz haki, tymczasowe rozwiązanie testera Windowsa sprawdza również edycje plików, więc zakodowany na stałe adres zostanie wychwycony, zanim skrypt zostanie napisany. I przeszukaj swoje transkrypcje sesji w poszukiwaniu swojego własnego e-maila obok User-Agent.

O ile wcześniej to zgłoszono?

4:00 Teraz ta data. „Powinniśmy byli wcześniej zauważyć to zachowanie”, napisała Hallie. Raport z lipca już ostrzegał, że wszystko w kontekście może wyciec do wychodzących wywołań narzędzi. A 18 września użytkownik zgłosił błąd zatytułowany: „adres e-mail użytkownika z metadanych konta nieumyślnie wysłany do usługi zewnętrznej w nagłówku User-Agent”. To siedem tygodni przed wątkiem z czwartku, a bot oznaczył go jako "obszar bezpieczeństwa" w ciągu około minuty.

4:24 Do końca października co najmniej cztery kolejne problemy opisywały ten sam wyciek, do Wikipedii, SEC i wiki gier. Na dzień dzisiejszy wszystkie pięć jest otwartych. Anthropic twierdzi, że zauważyli, kiedy to zaczęło pojawiać się na Reddicie. Samo przeprosiny były szybkie i proste, to im przyznam. Jeśli wolisz to przeczytać, niż słuchać, jak to mówię, diff trafia do Twojej skrzynki odbiorczej każdego ranka, bezpłatnie na the daily diff dot dev, link poniżej. Więc, dzisiejszy werdykt: COFNIJ.

Czy e-mail powinien pozostać w kontekście?

4:48 Cofnąłbym umieszczenie adresu e-mail konta w kontekście modelu, ponieważ adres, który model może zobaczyć, to adres, który może wysłać, a własny plik readme strażnika mówi, że obejmuje jeden kształt. Subskrybuj, naciśnij dzwonek i powiedz mi w komentarzach, czy Ty byś to ostemplował inaczej. I to tyle na dziś. Jestem Niko z Axrisi. Łącz odpowiedzialnie.

Źródła

  1. Bug report: privacy violation in User-Agent headerGitHub · anthropics/claude-code #107757
  2. Claude Code staff explanation and planned removal of the account email from the model contextHacker News
  3. Claude Code staff comment on site User-Agent policiesHacker News
  4. Privacy mod readme and sourceGitHub · anthropics/claude-code
  5. Changelog entry for 2.1.317GitHub · anthropics/claude-code
  6. July report on the account email injected into the model contextGitHub · anthropics/claude-code #81138
  7. September 18 report of the email sent in a User-Agent headerGitHub · anthropics/claude-code #95258
  8. User-Agent PolicyWikimedia Foundation
  9. Accessing EDGAR dataU.S. Securities and Exchange Commission
  10. Log files: combined log formatApache HTTP Server documentation
  11. Dario Amodei at TechCrunch Disrupt 2023 portrait, CC BY 2.0, identification onlyTechCrunch via Wikimedia Commons
  12. Original Dario Amodei portrait at TechCrunch Disrupt 2023 — TechCrunch; CC BY 2.0; background removed, cropped and resized; identifies Anthropic only, no endorsement, quote or reactionTechCrunch on Flickr
  13. Portrait license: Creative Commons Attribution 2.0Creative Commons; TechCrunch portrait credit above
  14. UNO Draw 25 Cards template — brief transformed narrator commentary, no actual reaction by anyone shown or blanket reuse licenceImgflip
  15. The Office (Michael Scott) GIF, official @theoffice upload, Peacock — brief transformed narrator commentary, no actual reaction by anyone shown or blanket reuse licence; public hosting does not certify legal clearanceThe Office on GIPHY

Niko from Axrisi

Nikoloz Turazashvili · Vexrail · Axrisi

LinkedIn · dev.to · GitHub · X · Substack

Powiązane filmy