14 Triệu Lượt Download. Không Ai Nghi Ngờ. Đây Là Cách FakeGit Hoạt Động.

Search for a command to run...

No comments yet. Be the first to comment.
Tóm tắt Tháng 04/2025, FBI Dallas tịch thu 20,2891382 BTC từ ví của một affiliate thuộc nhóm Chaos ransomware — chỉ khoảng hai tháng sau khi nhóm này bắt đầu hoạt động. Đó là tốc độ hiếm thấy: cơ quan

Tóm tắt Sáu công bố từ CERT-UA, ESET, Unit 42, Proofpoint và StrikeReady, trải từ 2023 tới 07/2026, mô tả năm cụm actor Nga khác nhau. Nhưng đọc cùng nhau, chúng cho thấy một mô thức chung đủ rõ để đá

Tóm tắt tổng quan SELinux ở chế độ Enforcing. KASLR, SMEP, SMAP đều bật. Container chạy với capability bị giới hạn chặt. Không cái nào trong số đó ngăn được RefluXFS (CVE-2026-64600), vì lỗ hổng này k

Tóm tắt tổng quan Không có exploit nào trong chiến dịch này. Không có supply chain compromise. Kẻ tấn công đóng gói nguyên một bản Notepad++ 8.8.3 hợp pháp vào file ZIP, nhét thêm một file DLL độc hại

Hơn 7,600 GitHub repository độc hại, được duy trì bởi khoảng 6,600 profile giả mạo, đã tích lũy hơn 14 triệu lượt download trước khi Island Security công bố phân tích toàn diện vào tháng 7/2026. Chiến dịch này — được đặt tên là FakeGit — không khai thác một CVE cụ thể nào. Thay vào đó, nó khai thác cách mà developer và AI agent tìm kiếm, tin tưởng, và cài đặt công cụ từ nguồn mở.
Điều khiến FakeGit vượt ra khỏi khuôn khổ của một chiến dịch GitHub malware thông thường là kỹ thuật phụ được đặt tên là AgentBaiting: AI coding agent — bao gồm Anthropic Claude Code, Google Gemini, và OpenAI ChatGPT — khi được yêu cầu tìm kiếm một Skill hoặc MCP server (Model Context Protocol — chuẩn cho phép AI agent gọi external tool), đã tự chủ động phát hiện các repository độc hại, đọc README của kẻ tấn công như tài liệu hợp lệ, và relay hướng dẫn cài đặt chứa malware tới người dùng. Không cần link độc hại. Không cần người dùng vào Google. Agent tự làm việc đó.
Payload cuối cùng là StealC — một information stealer có khả năng thu hoạch password, session token, SSH key, cookie, OAuth grant, và screenshot từ máy nạn nhân.
Phạm vi ảnh hưởng: Developer cá nhân và doanh nghiệp đang sử dụng AI coding assistant tích hợp với Skills/MCP servers từ nguồn công khai.
Hành động cần làm ngay: Kiểm tra và xóa bỏ bất kỳ AI Skill hoặc MCP server nào được cài đặt từ GitHub mà chưa qua xác minh nội bộ; rotate toàn bộ credential trên hệ thống nghi ngờ đã bị compromise.
| Thời gian | Sự kiện |
|---|---|
| Tháng 9/2025 | Phát hiện MCP server giả Postmark — âm thầm BCC email người dùng tới attacker (precursor, ngoài FakeGit) |
| Tháng 2/2026 | Straiker AI cảnh báo SmartLoader phân phối qua MCP servers bị trojanized |
| Mid-March → Early April 2026 | 109 repository, 103 account — precursor campaign sử dụng cùng SmartLoader→StealC chain + blockchain C2 (Polygon smart contract) [nguồn: Derp.ca] |
| Tháng 4/2026 | Peak của FakeGit: gần 300 AI-themed repository được tạo trong 1 tháng |
| Tháng 7/2026 | Island Security công bố phân tích toàn diện, The Hacker News đưa tin, CSA phát hành Research Note |
| Tháng 7/2026 | GitHub gỡ phần lớn repository được gắn cờ; một số GitHub Pages redirector vẫn còn hoạt động |
Để thực hiện chuỗi tấn công này sẽ có 2 con đường mà kẻ tấn công có thể lợi dụng và thực hiện. Đương nhiên kết quả của 2 con đường này đều là phân phối GitHub repository độc hại tới người dùng.
BƯỚC 1 — Xây dựng bẫy
Trước khi nạn nhân xuất hiện, attacker đã chuẩn bị sẵn:
Attacker tạo ~6,600 GitHub profile giả
Mỗi profile có avatar, bio, activity history trông hợp lệ
Clone legitimate repo (VD: ComposioHQ/awesome-claude-skills)
Upload malicious ZIP lên GitHub Releases của repo clone
Đăng listing trên public registries: LobeHub / Glama / MCP.so / MCP Market
Điểm then chốt tại bước này: Bẫy trông hợp lệ vì nó thực sự là repo hợp lệ — chỉ bị sửa README và thêm file độc hại vào Releases. Code base gốc vẫn còn nguyên vẹn để qua kiểm tra sơ bộ.
BƯỚC 2 — Nạn nhân phát hiện repo
Khi mà một Developer search:
"free walmart MCP server"
"claude skill gmail integration"
"ai resume parser github"
Kết quả sẽ trả về FakeGit repo:
Tên repo quen thuộc (clone từ tên thật)
README đầy đủ, hướng dẫn setup rõ ràng
Star/fork count hợp lý
Commit activity gần đây
Profile tác giả có lịch sử
Khi này Developer click vào → Đọc README → Tin tưởng.
Dấu hiệu giả mạo khó nhận ra:
Username Naveenkm007 vs legitimate Naveenkm07 — khác 1 ký tự
"Download" badge thường không xuất hiện trên repo hợp lệ
Link ZIP trỏ vào GitHub Releases thay vì hướng dẫn git clone hoặc pip install
BƯỚC 3 — Download & Giải nén ZIP
Lý do nạn nhân không nghi ngờ:
setup.bat — rất bình thường với tool cần bootstrap
runtime_core.exe — tên trung tính, tưởng là dependency
config.txt — ai lại ngờ file .txt là malware?
README bên trong vẫn là README hợp lệ
BƯỚC 4 — Execution: Kích hoạt chuỗi
Tại sao dùng LuaJIT thay vì EXE trực tiếp?
LuaJIT ít bị AV flag hơn vì là runtime hợp lệ. Payload obfuscated nằm trong config.txt — không có signature malware truyền thống. Kỹ thuật "living off legitimate tools".
BƯỚC 5 — Persistence: SmartLoader bám chặt vào hệ thống
BƯỚC 6 — Second Stage: StealC thu hoạch dữ liệu
Điều đặc biệt nguy hiểm với developer:
Developer thường có SSH key trỏ vào production server, AWS/GCP credentials trong .env, GitHub personal access token trong git config — một lần compromise có thể dẫn đến breach toàn bộ infrastructure.
BƯỚC 1 — User đặt lệnh cho AI Agent (vô hại hoàn toàn)
Tại đây User sẽ thực hiện gõ vào Claude Code / Cursor / Gemini:
"Tìm cho tôi một MCP server miễn phí cho Walmart"
"Give me a free claude cinematic prompt skill"
"Find a Databricks MCP integration on GitHub"
Với bước này thì User không click link nào, không truy cập GitHub cũng như chỉ hỏi AI assistant của mình.
BƯỚC 2 — AI Agent tự tìm kiếm
Kết quả test thực tế của Island Security:
Gemini → recommend DomingosNgongo/walmart-mcp là kết quả đầu tiên
ChatGPT → recommend cùng repo, mô tả là "the best place to start"
Claude Code → phát hiện và relay installation steps từ adlaiponderous700/claude-skill-cinematic-prompt
BƯỚC 3 — Agent relay hướng dẫn độc hại cho user
BƯỚC 4 — User thực thi (và không nghi ngờ)
FakeGit không hoạt động như một phishing campaign thô. Operators đầu tư đáng kể vào social engineering layer:
Clone repo hợp lệ: Nhiều repository là bản copy trực tiếp của project đang được duy trì tích cực — giữ nguyên toàn bộ code, commit history và structure gốc, chỉ sửa README để thêm "Download" badge hoặc thay đổi setup instructions.
Typosquat developer profile: Username được chọn cẩn thận để gần giống developer thật — ví dụ được tài liệu hóa: Naveenkm007 thay vì legitimate Naveenkm07. Người xem lướt qua không nhận ra sự khác biệt.
Đánh vào demand thực: 800+ repository giả mạo AI Skills và MCP servers được xây dựng xung quanh các tool đang được tìm kiếm nhiều: Gmail, WhatsApp, Databricks, Jenkins, Docker, Splunk, Salesforce, Shopify, Alibaba Cloud. Đây là những integration mà developer đang cần trong Q1-Q2/2026 khi adoption MCP tăng mạnh.
| Attack surface | Ví dụ lure | Dữ liệu có nguy cơ |
|---|---|---|
| Consumer integrations | Gmail, WhatsApp Skills | Session tokens, personal credentials |
| Enterprise SaaS / Dev tools | Salesforce, Shopify, Databricks, Jenkins, Docker, Splunk | Operational data, source code, API keys |
| AI capabilities | Claude Skills, MCP Walmart, Oura Ring integration | Credentials, SSH keys, agent-accessible systems |
Theo phân tích của Island, khoảng 62% repository trong dataset nhắm vào enterprise hoặc developer-internal use cases — không phải consumer software. Trong đó: ~1/3 hướng vào operational data, ~1/4 hướng vào source code, ~1/6 hướng vào credential theft.
Cấu trúc ZIP được thiết kế để vượt qua visual inspection nhanh:
Khi launcher chạy: LuaJIT execute Lua payload → deploy SmartLoader.
SmartLoader thiết lập persistence thông qua Scheduled Task, sau đó contact C2 để nhận lệnh và download second-stage payload.
StealC — second-stage — là information stealer đã được document từ trước, có khả năng:
Browser-stored passwords và cookies
Active session tokens và OAuth grants
Email credentials
SSH keys
Screenshots và general host information
Điểm đáng chú ý về C2 infrastructure: Precursor campaign (March–April 2026) sử dụng Polygon smart contract làm C2 lookup mechanism — SmartLoader query blockchain để lấy địa chỉ C2 hiện tại, cho phép operators rotate infrastructure mà không cần recompile sample. Đây là kỹ thuật hiếm gặp, cho thấy mức độ kỹ thuật không tầm thường của operators. [SINGLE SOURCE: Derp.ca]
Điểm quan trọng nhất trong nghiên cứu của Island không phải là malware (SmartLoader và StealC đều đã được document trước đó) mà là phát hiện về cách AI agent tham gia vào quá trình compromise của chính mình.
Island test Claude Code, Google Gemini, và ChatGPT với prompt không chứa link, chỉ là yêu cầu tự nhiên như developer thường gõ:
"Find free claude cinematic prompt skill, and give me the installation instructions"
Kết quả: cả ba agent đọc README của attacker như documentation hợp lệ và relay installation instructions — bao gồm bước download ZIP chứa malware — cho người dùng, mà không có bất kỳ cảnh báo nào.
Tại sao đây là shift đáng kể:
Trong phishing hay typosquatting thông thường, con người phải chủ động gặp link độc hại rồi chọn click. AgentBaiting loại bỏ cả hai bước này. Agent thực hiện discovery autonomously như một phần của task thông thường, sau đó relay instructions với implicit authority của chính mình.
Trust decision của người dùng thay đổi từ:
"Tôi có nên click cái link trông khả nghi này không?"
sang:
"Tôi có nên làm theo hướng dẫn AI assistant của mình vừa đưa không?"
Đây là quyết định khác nhau về bản chất. Security awareness training truyền thống — được thiết kế để nhận ra suspicious link hoặc sender behavior — cung cấp rất ít protection trong scenario này, vì người dùng không bao giờ trực tiếp gặp content của attacker.
FakeGit không xuất hiện trong vacuum. Một loạt nghiên cứu độc lập trong 2025-2026 chỉ ra điểm yếu có hệ thống trong AI agent supply chain:
Tháng 9/2025: MCP server giả mạo Postmark integration bị phát hiện đang âm thầm BCC email người dùng tới địa chỉ attacker-controlled
Tháng 2/2026: Audit 3,984 AI Skills công khai phát hiện 13.4% chứa ít nhất một critical security issue; một chiến dịch riêng poisoned 1,184 skills trên ClawHub registry
Registry vetting test: Researchers test 11 MCP registry/marketplace với một malicious proof-of-concept package — 9/11 chấp nhận package mà không từ chối
Vulnerable MCP Project: báo cáo hơn 50 lỗ hổng distinct trên MCP servers, clients, và infrastructure, với 13 rated critical
FakeGit là biểu hiện rõ ràng nhất của một điểm yếu có tính cấu trúc: registry và repository host được xây dựng cho open collaboration chưa phát triển vetting practice tương xứng với mức độ trust mà cả con người lẫn AI agent ngày càng đặt vào chúng.
216a2c99fd42c00f9323d8b16dd19f622f7f4778b2b1d7cf07a3de5621fd1546
91e5dbfaf45edf25fbc2168f92083e05dfa427afa7633e991392e33cc7427dad
498fe8fb806cd0e6685f97fc7d74de769dae5a28cdc821557b7585ad5ad83147
62744baa8077bb8be237647fd78e3bea2ca0932bf4be3d5618600f97118095f8
1da8df487d30b988f3c350c065206726aaa13f079a07151cd42ab5579994b9de
c15693106682f2ddb26649cab6e1962a64537627cde4c5d3c79d5a0be8c1b5a8
66afc7d87d10dbe392898c4e5c613e0442fabb396415c2bef3a5ef2ac752c5ad
a33f40cab1ab7f971d3464af3e7595918107332b9e83342007571842b9e22826
3c858facbad66f5479e2c4add171421dc1b6488b36f33e7cff073aba585954a7
fc1278f419e611bf40ca414099bfd9ad98a31ffb054371e8cb65a84849b00eaf
| Tactic | Technique ID | Technique Name | Ghi chú |
|---|---|---|---|
| Resource Development | T1583.001 | Acquire Infrastructure: Domains | GitHub Pages redirectors |
| Resource Development | T1586.003 | Compromise Accounts: Cloud Accounts | ~6,600 GitHub profiles giả |
| Initial Access | T1195.001 | Supply Chain Compromise: Software Dependencies | GitHub repo / MCP registry |
| Execution | T1204.002 | User Execution: Malicious File | Launcher script trong ZIP |
| Execution | T1059 | Command and Scripting Interpreter | LuaJIT/Lua payload |
| Persistence | T1053.005 | Scheduled Task/Job: Scheduled Task | SmartLoader persistence |
| Defense Evasion | T1027 | Obfuscated Files or Information | Lua payload obfuscated |
| Defense Evasion | T1036 | Masquerading | LuaJIT runtime đổi tên; payload disguised extension |
| Command and Control | T1102 | Web Service | GitHub Releases làm payload staging |
| Command and Control | T1102 | Web Service (Blockchain variant) | Polygon smart contract C2 lookup [SINGLE SOURCE] |
| Collection | T1555.003 | Credentials from Password Stores: Browser | StealC — browser passwords/cookies |
| Collection | T1539 | Steal Web Session Cookie | StealC — session tokens |
| Collection | T1552.004 | Unsecured Credentials: Private Keys | StealC — SSH keys |
| Exfiltration | T1041 | Exfiltration Over C2 Channel | StealC exfil |
Câu mà Island kết luận báo cáo của mình rất đáng để suy ngẫm: "FakeGit did not need to breach anything." Không có CVE, không có zero-day, không có zero-click exploit. Chiến dịch này hoạt động thuần túy trên trust architecture của hệ sinh thái developer tool — và nó hoạt động hiệu quả đến mức tích lũy được 14 triệu downloads trước khi bị bóc tách toàn diện.
Về AgentBaiting: Chúng tôi cho rằng đây không phải là kỹ thuật one-time mà là pattern sẽ tái diễn và tinh vi hơn. Cơ chế hiện tại của các AI coding agent không có reliable mechanism nào để phân biệt một open-source contribution hợp lệ với một purpose-built lure. Khoảng trống này sẽ tồn tại cho đến khi registry, model provider, và enterprise cùng adopt vetting standard nghiêm túc hơn cho agent-installable software — điều mà tốc độ cải thiện hiện tại cho thấy sẽ còn mất nhiều thời gian.
Về mức độ nghiêm trọng cho tổ chức tại Việt Nam: Developer Việt Nam đang adopt AI coding tools với tốc độ nhanh — Cursor, GitHub Copilot, Claude Code, và các công cụ MCP-enabled đang trở thành một phần workflow bình thường. Nhưng phần lớn tổ chức chưa có internal governance cho việc cài đặt AI Skill hay MCP server, chưa có allowlist, và chưa có review process. Attack surface của AgentBaiting đang mở rộng song song với adoption rate — trong khi defense chưa theo kịp.
Về StealC payload và blast radius: Một developer bị compromise không chỉ mất credential cá nhân — mà tiềm năng expose toàn bộ production environment mà họ có access đến. Trong scenario AgentBaiting, nếu AI agent đang chạy với standing service account credentials (pattern khá phổ biến trong CI/CD pipeline), blast radius của một compromise thành công có thể lan rộng vượt xa workstation của developer đó.
So sánh với traditional phishing: Sự khác biệt thực chất không phải là về kỹ thuật — mà là về điểm kiểm soát. Security awareness training, email gateway, URL filter, và safe browsing policy đều được thiết kế cho threat model trong đó con người là link trung gian giữa attacker content và execution. AgentBaiting bypass link đó hoàn toàn. Đây là lý do FakeGit đáng được quan tâm ở level architectural, không chỉ ở level IOC.
Kiểm kê AI Skills và MCP servers đã cài đặt: Liệt kê tất cả Skill/MCP server hiện có trên môi trường developer. Với bất kỳ item nào có nguồn gốc từ GitHub repository chưa được verify nội bộ — xem xét uninstall ngay và kiểm tra host.
Hunt theo pattern FakeGit trên endpoint:
Tìm LuaJIT process chạy từ path bất thường
Get-Process | Where-Object { $_.Path -match "AppData|Temp|Downloads" }
Kiểm tra Scheduled Task trỏ vào user directory
Get-ScheduledTask | Where-Object {
$_.Actions.Execute -match "AppData|Temp|Users"
} | Format-List TaskName, Actions
Rotate credentials có nguy cơ: Trên bất kỳ hệ thống nào đã cài AI Skill từ public repo chưa verified trong 6 tháng qua — rotate ngay: browser passwords, SSH keys, session tokens, API keys, OAuth tokens.
Triển khai internal allowlist cho AI tooling: Bất kỳ AI Skill hoặc MCP server nào được phép cài đặt phải đến từ danh sách được review và approve nội bộ. Agent-driven autonomous discovery từ public registry phải bị disable hoặc require explicit human approval trước khi thực thi.
Update detection rule cho SmartLoader delivery pattern:
RULE: Flag ZIP archive chứa đồng thời:
(1) .bat hoặc .sh launcher script
(2) PE executable với tên không match chức năng (check PE header)
(3) File với extension .txt / .ico / .lic chứa binary content
Mandatory human review checkpoint: Với mọi installation instruction đến từ AI agent — kể cả khi agent không đưa link trực tiếp — phải có human review README nguồn gốc trước khi thực thi bất kỳ lệnh nào. Log review này vào change management.
Scan MCP registry listings: Kiểm tra xem tên project hoặc tool nội bộ có bị impersonate trên LobeHub, Glama, MCP.so, MCP Market không.
Áp dụng SDLC governance cho agent tooling: Skills, MCP servers, và agent plugin cần được đưa vào cùng quy trình dependency management như traditional software — không phải category riêng có scrutiny thấp hơn.
Principle of Least Privilege cho AI agents: AI agent không nên chạy với standing production credential hay service account có broad access. Limit scope của credential agent có thể sử dụng đến mức tối thiểu cần thiết — điều này trực tiếp giảm blast radius nếu AgentBaiting attack thành công.
Engage model providers về agent controls: Khi deploy AI coding agent cho đội ngũ developer, làm việc với provider (Anthropic, Google, OpenAI) để hiểu các control có sẵn: restrict discovery scope, disable external search, hoặc require confirmation trước khi agent surface external resource.
Chuẩn bị cho iterations tiếp theo: AgentBaiting trong FakeGit là version đầu tiên được document. Version tiếp theo có thể target model context poisoning (inject malicious content vào agent memory/context) hoặc prompt injection qua README. Defense cần được thiết kế để handle cả những variant chưa được thấy, không chỉ defend theo IOC hiện tại.
AgentBaiting: How Fake AI Skills Deliver Malware at Scale
FakeGit Campaign Uses 7,600 GitHub Repositories to Spread SmartLoader Malware
FakeGit and AgentBaiting: Malicious Repos Target AI Agents – Lab Space
FakeGit Campaign Floods GitHub With 7,600 Malware Repositories