FireAIs säkerhetsblogg

Av FireAI Security & Research Team · Publicerad

Övervaka Claude Codes nätverksanslutningar på Mac: säkerhet med FireAI

Övervaka Claude Codes nätverksanslutningar på Mac: säkerhet med FireAI

Claude Code är en kodagent från Anthropic som körs i en terminal på din Mac. Den läser ditt projekt, redigerar filer och kör skalkommandon åt dig, och var och en av dessa åtgärder kan sluta i en nätverksanslutning. Den här artikeln redogör för vad Anthropic dokumenterar om hur Claude Code körs på macOS, vad den kan nå och vilka anslutningar som är normala, och visar sedan hur du övervakar dem med FireAI. Där en uppgift kommer från Anthropics dokumentation anges källan i slutet.

Vad Claude Code är och hur den körs på en Mac

Anthropics installationssida anger tre sätt att installera Claude Code på macOS. Det rekommenderade inbyggda installationsprogrammet är ett curl-skript som hämtar en binärfil och uppdaterar sig självt i bakgrunden. Homebrew erbjuder två casks, claude-code för den stabila kanalen och claude-code@latest för den senaste, och installationer via Homebrew uppdateras inte automatiskt. Ett globalt npm-paket, @anthropic-ai/claude-code, finns också; enligt samma sida installerar det samma inbyggda binärfil, och den installerade binärfilen claude anropar inte själv Node. På macOS är binärfilen dokumenterad som signerad av ”Anthropic PBC” och notariserad av Apple, och du kan kontrollera den med codesign --verify --verbose.

Terminal
# check the signature of the claude binary, as the setup page describes
codesign --verify --verbose ./claude

Vad den har åtkomst till, och den dokumenterade behörighetsmodellen

Claude Code agerar med behörigheterna hos det konto som startar den. Anthropics säkerhetssida beskriver två utgångslägen. I manuellt läge startar den med endast läsåtkomst och frågar innan den redigerar filer, kör tester eller utför kommandon, medan en inbyggd uppsättning kommandon med endast läsåtkomst, som ls, cat och git status, körs utan fråga. Automatiskt läge är det inbyggda utgångsläget för interaktiva sessioner i terminalen och VS Code: en separat klassificeringsmodell granskar åtgärder och blockerar dem den bedömer som osäkra, medan dina uttryckliga regler för att fråga och neka fortfarande gäller.

Tre dokumenterade detaljer har betydelse för nätverksbeteendet. För det första godkänns kommandon som hämtar innehåll från webben, som curl och wget, inte automatiskt som standard. För det andra är gränsen för arbetskatalogen en behörighetsfråga, så ett Bash-kommando som du godkänner kan ändå skriva överallt där ditt användarkonto kan skriva. För det tredje tillämpar ett valfritt sandlådeisolerat Bash-verktyg, som konfigureras med /sandbox, isolering av filsystem och nätverk på skalkommandon på operativsystemsnivå. Anthropic noterar att sandlådan endast omfattar skalkommandon, och att filverktyg, MCP-servrar och hooks körs utanför den.

Säkerhetssidan anger också att inget system är helt immunt mot alla attacker, och rekommenderar att man granskar föreslagna kommandon, undviker att skicka obetrott innehåll direkt till Claude och använder virtuella maskiner för skript som berör externa webbtjänster.

De domäner som Claude Code dokumenterar

Anthropics sida om nätverkskonfiguration listar de URL:er som det fristående CLI:t behöver. Dessa är de leverantörsdokumenterade som är mest relevanta för en brandvägg:

Källa: Claude Codes dokumentation, Enterprise network configuration, ”Network access requirements”.
VärdDokumenterat syfte
api.anthropic.comFörfrågningar till Claude API, säkerhetskontrollen av domäner för WebFetch, hämtning av funktionsflaggor och loggning av telemetrihändelser
claude.ai, claude.com, platform.claude.comInloggning på kontot och utbyte av OAuth-token
mcp-proxy.anthropic.comMCP-anslutningar från claude.ai
downloads.claude.aiInbyggt installationsprogram, automatisk uppdatering, uppdateringskontroller och hämtning av plugin
registry.npmjs.orgInstallationer av Claude Code via npm och bun, installationer av plugin och MCP-servrar som startas med npx
github.com, raw.githubusercontent.comKloning av marknadsplatser för plugin; flödet med ändringsloggen för /release-notes
http-intake.logs.us5.datadoghq.com, browser-intake-us5-datadoghq.comValfri driftstelemetri och felrapporter; dokumenterade som avstängda med DISABLE_TELEMETRY eller CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC

Samma sida anger att Claude Code respekterar standardvariablerna HTTPS_PROXY och HTTP_PROXY och inte stöder SOCKS-proxyer. Allt utanför den här listan, till exempel ett paketregister som nås av ett byggkommando som Claude kör, är projektets egen trafik, inte Claude Codes.

Varför en nätverksvy ändå hjälper

Behörighetsfrågor visar dig det kommando som Claude Code vill köra. De visar inte varje anslutning som följer av kommandon du har godkänt tidigare, av en MCP-server, av ett plugin eller av ett skript i repot. En vy på nätverksnivå besvarar en snävare och kompletterande fråga: vart anslöt den här datorn faktiskt medan agenten arbetade? Det är den frågan som FireAIs Agent profile är utformad för att besvara.

Övervaka Claude Code med FireAI

FireAI är en brandvägg för macOS från HisnLabs, och sedan version 1.0.2 har den en funktion som heter Agent profile. Den känner igen 19 AI-agenter, lär sig vart var och en normalt ansluter och flaggar ovanligt beteende som du kan granska. Claude Code känns igen genom sin kodsignatur.

FireAIs lista Aktivitet filtrerad på ”claude”: tre claude-rader, till api.anthropic.com och till DNS-uppslag, var och en visad med Claude Codes figur, och en rad för Brave Browser Helper till claude.ai med en vanlig appikon.
FireAIs lista Aktivitet på en Mac: kommandoradsprocessen claude bär Claude Codes figur, medan en webbläsare som besöker claude.ai förblir en vanlig app.

Claude Code är en av de tre agenter som FireAI kontrollerar mot utvecklarens kodsignatur, så en matchning är mer än ett namn.

FireAI känner också igen agentens underordnade processer, till exempel ett skal, git eller curl som agenten kör, genom att följa processens överordnade processer tills den når agenten. Dessa anslutningar räknas därför som agentens egna.

Vad FireAI flaggar

  1. Under de första 3 dagarna lär sig FireAI de destinationer som agenten normalt kontaktar, grupperade efter domän. Ingenting flaggas under denna inlärningsperiod.
  2. Därefter flaggas en allra första destination utanför den inlärda baslinjen för granskning.
  3. En uppladdningstopp flaggas också: en timme då agenten skickade minst 4 gånger så mycket som under sin hittills mest intensiva timme, och aldrig mindre än 25 MB.

Agent profile använder endast metadata, det vill säga värdnamn och antal byte. FireAI läser aldrig innehållet i en anslutning och kan inte läsa inuti en krypterad anslutning.

Konfigurera det för Claude Code

  1. Installera FireAI och slutför konfigurationen, och fortsätt sedan använda Claude Code som vanligt. Inlärningsperioden på 3 dagar utgår från det FireAI ser.
  2. Öppna Förslag och titta på kortet AI-agenter. Det listar de agenter som FireAI har känt igen och vad det har lärt sig om var och en.
  3. När Claude Code når en destination som den aldrig har kontaktat visas flaggan i kortet AI-agenter och i Snabbgenomgång. Svep åt vänster för att blockera, eller åt höger för ”Det är okej”.
  4. Blockera skapar en regel för processen som anslöt. ”Det är okej” lägger till destinationen i agentens baslinje så att den inte flaggas igen.
  5. Om du vill att agenten ska hållas till de platser den redan använder väljer du Agent profile i menyn för säkerhetsläge, bredvid Hemma, Kafé, Paranoid och Under attack. När agenten har lärt sig klart blockeras en anslutning till en destination utanför dess baslinje i stället för att flaggas.
  6. En blockerad destination visas i kortet AI-agenter med Tillåt och Fortsätt blockera. Tillåt lägger till den i baslinjen och agenten kan nå den direkt. Fortsätt blockera skapar en blockeringsregel, så att destinationen förblir blockerad i alla lägen.

Begränsningar

  • FireAI förhindrar inte promptinjektion. En prompt som döljs i en webbsida eller en fil kan fortfarande styra en agent. Det FireAI kan göra är att flagga, och låta dig blockera, den väg som data skulle ta ut från din Mac.
  • FireAI kan inte se prompter, innehållet i MCP-verktyg eller vilka filer Claude Code läser, till exempel ~/.ssh. TLS döljer innehållet, och FireAI finns inte inuti agenten.
  • Underordnade processer som avslutas mycket snabbt kan missas, och underordnade processer matchas efter sökväg, inte efter signatur.
  • Under inlärningsperioden på 3 dagar flaggas ingenting.
  • I läget Agent profile matchas en anslutning till en ren IP-adress utan värdnamn efter sin adress. Om en tjänst som agenten normalt använder svarar från en ny adress blockeras den tills du tillåter den.
  • FireAIs förklaring i klartext av en flagga skrivs utifrån fakta som det har mätt. Den säger aldrig att en destination är säker eller farlig. Beslutet är ditt.

Relaterade guider

Samma tillvägagångssätt gäller för de andra agenter som FireAI känner igen: skrivbordsappen Claude, Cursor, ChatGPT-appen för Mac, Codex CLI, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse från Meta, alla andra AI-agenter som körs av Python eller Node. Den fullständiga funktionsbeskrivningen finns i dokumentationen för Agent profile.

Var FireAI och HisnLabs kommer in

Claude Code frågar innan den agerar. En nätverksbrandvägg ger en andra vy över vart den ansluter.

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 (FireAI Pilot-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.

Källor