En version av den här berättelsen cirkulerar i säkerhetsskrivningar, några av dem nu genererade av AI-assistenter: macOS:s bakgrundsindexeringsdemon, mdworker, hämtar förmodligen fjärrbilderna i vilken HTML-fil du laddar ner, så en fil du aldrig öppnar kan fortfarande rapportera din IP-adress till den som skickade den. Det är en bra historia. Det är också den typen av påstående som bör testas innan det upprepas, så vi testade det.
Tre olika saker händer med en ny fil
Påståendet suddar ut tre separata mekanismer. När en fil landar på disken lämnar Spotlights metadataserver den till en importerplugin, körs i en mdworker_shared-process, som extraherar text och attribut så att filen blir sökbar (mdimport och mdls är kommandoradsfönstren till detta). Separat, när Finder behöver en ikon, återger Quick Look-miniatyrbilder en liten miniatyrbild. Och bara när du väljer filen och trycker på blanksteg gör Snabb titt en fullständig förhandsgranskning. Var och en av dessa kan bete sig olika, så var och en behöver sitt eget test.
Testet
Vi körde en liten HTTP-lyssnare på loopback-adressen som loggar varje begäran med dess User-Agent, och skapade sedan två filer i ~/Downloads som pekade på den: en HTML-sida med en enpixelbild och en extern stilmall, och en SVG med en inbäddad extern bild. Loopback håller experimentet fristående; en fjärrspårningsserver skulle få samma förfrågningar, plus din offentliga IP-adress.
<html><head><title>Q3 Financial Report</title></head><body>
<h1>Financial Summary</h1>
<img src="http://127.0.0.1:8765/html-img.png" width="1" height="1">
<link rel="stylesheet" href="http://127.0.0.1:8765/html-css.css">
</body></html><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100">
<image xlink:href="http://127.0.0.1:8765/svg-image.png" width="100" height="100"/>
</svg>1. Bara att ladda ner det: Spotlight-indexering
Vi väntade 40 sekunder efter att ha skapat filerna och bekräftade sedan att Spotlight hade indexerat dem. Lyssnaren hade inte fått något.
mdls -name kMDItemContentType ~/Downloads/fireai-lab-test/q3-report.html
kMDItemContentType = "public.html"
# listener log: empty2. Tvinga Spotlight-importören
För att utesluta tajming körde vi importören för hand. Den använde Apples RichText-importör, extraherade 37 attribut och gjorde ingen begäran.
mdimport -t -d1 ~/Downloads/fireai-lab-test/q3-report.html
Imported '…/q3-report.html' of type 'public.html' with plugIn /System/Library/Spotlight/RichText.mdimporter.
37 attributes returned
# listener log: still empty3. Finder-ikonen: Quick Look-miniatyr
qlmanage -t -s 256 -o /tmp ~/Downloads/fireai-lab-test/q3-report.html ~/Downloads/fireai-lab-test/badge.svg
* …/q3-report.html produced one thumbnail
Done producing thumbnails
# listener log: still empty4. Tryck på blanksteg: förhandsgranskningen av Quick Look
qlmanage -p öppnar samma förhandsgranskningspanel som när du väljer en fil i Finder och trycker på blanksteg (qlmanage). Den här gången tändes lyssnaren omedelbart, för båda filerna:
qlmanage -p ~/Downloads/fireai-lab-test/q3-report.html
13:40:22.408 GET /html-img.png UA=Mozilla/5.0 (Macintosh; …) AppleWebKit/605.1.15 … Safari/605.1.15
13:40:22.408 GET /html-css.css UA=Mozilla/5.0 (Macintosh; …) AppleWebKit/605.1.15 … Safari/605.1.15
qlmanage -p ~/Downloads/fireai-lab-test/badge.svg
13:40:30.035 GET /svg-image.png UA=Mozilla/5.0 (Macintosh; …) AppleWebKit/605.1.15 … Safari/605.1.15| Vad användaren gjorde | Mekanism | Fjärrbegäran? |
|---|---|---|
| Ingenting (fil nedladdad) | Spotlight-importör i mdworker_shared | Inga |
| Ingenting (tvångsimport) | mdimport, RichText-importör | Inga |
| Tittade på mappen | Quick Look-miniatyr (Finder-ikon) | Inga |
| Markerade filen, tryckte på blanksteg | Quick Look-förhandsvisning (WebKit) | Ja: bild, stilmall, SVG-bild |
Vad detta betyder
"Noll-klick"-versionen är inte vad vi mätte: en fil som finns i Nedladdningar, indexeras av Spotlight och visas som en ikon som inte ropade ut. Det spelar roll, för ett försvar byggt på en fel modell slösar kraft på fel plats. Blockering av mdworker från nätverket, till exempel, skulle inte ha förändrat någonting i detta test.
Ennyckelversionen är verklig. Quick Looks förhandsvisning renderar HTML och SVG med WebKit och laddar deras fjärrresurser, så ett enda tryck på blanksteg på en bifogad "rapport" talar om för avsändaren att filen tittades på, när och från vilken IP-adress. Det är ett webbfyr, samma knep som e-postspårningspixlar använder och som Apples Mail Sekretessskydd existerar för att trubba i Mail; det är helt enkelt inte täckt när samma innehåll kommer som en fil. I angripartermer är det spaning, inte kompromiss: GERING ATT&CK T1598 katalogiserar den här typen av informationsinsamling innan en riktig attack.
Begränsningar för detta test
- En macOS-version (26.7) och en körning per fodral. Beteendet kan skilja sig åt på andra versioner; kör den igen på din, filerna ovan är allt du behöver.
- Vi använde en loopback-adress. En offentlig URL beter sig på samma sätt för WebKit, men vi mätte den inte här.
- Vi testade HTML och SVG. Andra typer med fjärrreferenser (till exempel
.webarchive, Office-dokument med länkade bilder eller tredjeparts Quick Look-tillägg) testades inte och kan bete sig annorlunda i båda riktningarna. qlmanage -pär Apples felsökningsgränssnitt för förhandsvisningen; Finders förhandsvisning av mellanslagstangenten använder samma ramverk, men vi har inte instrumenterat Finder själv.
Vad ska man göra
- Behandla Quick Look på en opålitlig HTML- eller SVG-fil som att öppna den. Om du vill inspektera en på ett säkert sätt, läs den som text:
cat file.html, eller öppna den i en vanlig textredigerare. - Kontrollera en filtyp innan du förhandsgranskar:
mdls -name kMDItemContentType fileberättar hur Quick Look kommer att rendera den som, vad dess ikon än antyder. - Se vilken process som gör kopplingen, inte bara om en inträffar. Här var det WebKit-förhandsvisningen som agerade på Apples vägnar, varför regler som bara litar på eller misstror "appar du installerat" missar det.
Den bredare lektionen handlar om metod. Den dramatiska versionen av denna berättelse var självsäker skriven och skulle ha varit lätt att publicera. Tjugo minuter med en lyssnare och fyra kommandon visade var det var fel och var den verkliga, mindre risken finns.
Var FireAI och HisnLabs kommer in
The fetch in this test came from a WebKit preview running on Apple’s behalf, not from an app you installed, which is exactly the kind of connection a per-app firewall exists to show you: FireAI lists the process, the destination and the country, and lets you deny it.
FireAI är HisnLabs eget verktyg: en AI-brandvägg som körs direkt på din Mac. Den visar varje anslutning dina appar gör, på klarspråk, och låter dig avgöra vad som lämnar din Mac — AI:n körs lokalt, så din trafik skickas aldrig till oss eller någon annan. HisnLabs säkerhetsforskningsteam är de som håller de bedömningarna tillförlitliga: de katalogiserar vilka domäner som är vanlig telemetri och vilka som är en riktig tjänst, spårar land och nätverk bakom en anslutning och tränar den lokala modellen (Autopilot-funktionen) på verkliga trafikmönster — utan att något av det lämnar din Mac.
Du kan läsa om de tekniska besluten bakom, eller prova FireAI i 17 dagar, på FireAI, från HisnLabs.
