Elastic Security Labs reported a suspicious multi-day activity chain on a macOS developer endpoint in which Claude Code appeared as the trusted parent process for shells and helper tools that made credentialed HTTP requests, created reverse tunnels, and installed LaunchAgent persistence. Telemetry showed zsh processes authenticating to ephemeral localhost[.]run, lhr[.]life, and trycloudflare[.]com URLs, collecting application metrics, starting a Cloudflare Quick Tunnel, and writing LaunchAgents to maintain access. Elastic said the behavior could reflect either remote administration of a locally exposed dashboard or a more serious compromise, but noted that detections fired for suspicious web-service connections, suspicious top-level domains, persistence via a GenAI tool, and process discovery.
The broader host history also included earlier tunnel and VPN binaries, a suspicious Python script launched from zsh, and related coding-agent-parented variants involving macOS Keychain access, LOLBin staging, and retrieval of unsigned binaries. The activity aligns with known attacker tradecraft for harvesting credentials from Apple’s Keychain, where passwords, keys, certificates, and other secrets can be accessed through Keychain utilities or direct file access if the user’s Keychain password is available. Elastic advised defenders to treat coding-agent-linked credentialized HTTP activity, reverse tunnels, LaunchAgent persistence, and possible Keychain access as high-severity signals even when the tooling involved is legitimate and the use case may be dual-purpose.

Get the actors, campaigns, and ATT&CK mapping behind it.
13 events from the most recent confirmed update back to the earliest known activity.
The session executed process discovery helpers such as pgrep to check related workloads, and Elastic noted related coverage from its Process Discovery via Built-In Applications detection.
The agent-parented session wrote and loaded LaunchAgent persistence using PlistBuddy and launchctl bootstrap, including watchdog and tunnel-keeper style agents configured with StartInterval and liveness checks. Elastic's Persistence via GenAI Tool rule fired on this behavior.
Elastic Defend raised a malicious_file event on an ngrok binary in the project tree. The earliest detection in the July 23 window appeared under a zsh parent, with later related activity under launchd.
The same July 23 session started cloudflared to publish a localhost service through Cloudflare Quick Tunnels and contacted api.trycloudflare[.]com as part of the reverse-tunnel setup. Elastic's suspicious web service detection fired on this activity.
zsh processes under Claude Code made credentialed HTTP(S) requests to ephemeral lhr[.]life hosts associated with localhost[.]run, polling a /login endpoint, posting credentials, and requesting application summary data. Elastic noted credentials appeared in process command lines during this tunnel-authentication stage.
Telemetry showed Claude Code sessions launched with --allow-dangerously-skip-permissions, reducing approval prompts for subsequent tool execution during the suspicious activity.
On July 23, two hunt paths converged on the same macOS host: one driven by VirusTotal reputation on a contacted domain and another by correlated endpoint behavior alerts.
Elastic recorded a spike in GenAI or MCP Server Child Process Execution alerts on the developer endpoint, indicating increased suspicious activity tied to coding-agent-parented processes.
The host showed a write to ~/.claude/projects/*/memory/MEMORY.md performed by cat rather than by the Claude process, indicating unusual manipulation of Claude project memory data.
Elastic observed zsh spawning python3 /tmp/mcp_clean_landers.py with an outbound HTTPS connection to a redacted domain. The activity appeared to use JSON-RPC-style MCP analytics requests to retrieve data rather than obviously exfiltrate data.
Elastic observed malicious_file detections on tunnel/VPN-class binaries including pritunl-client and later wireguard-go on the monitored macOS developer endpoint, marking the start of the suspicious activity chain.
MITRE ATT&CK published its Enterprise sub-technique entry T1555.001 describing how adversaries can obtain credentials from the macOS Keychain, including use of the security utility and direct access to keychain files.
Elastic reported additional coding-agent-parented variants on other hosts, including Apple-signed Python and osascript dropping JavaScript under /tmp, a Cursor-related attempt to dump decrypted keychain material for Linear and MCP OAuth, and a Claude Code variant that downloaded an unsigned binary over plaintext HTTP and probed ~/.zshenv for persistence.
Vulnerabilities, threat actors, malware, products, organizations, breaches, and observables Mallory has linked to this story. Indicator values are masked here and available in full in the app.
Indicator values are masked on this page. See the values in Mallory Domains, IPs, hashes, and URLs are exportable to your SIEM.
Get the adversaries, campaigns, and ATT&CK mapping behind this technique, with detections ready to deploy.
4 references tracked. Mallory keeps watching after this page renders.
cyberaccord.com
Open sourcecybersecuritynews.com
Open sourceelastic.co
Open sourceattack.mitre.org
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.