VoidLink threat dossier
Threat dossier // cloud-native linux malware
A field guide to VoidLink, a modular Zig-based post-exploitation framework built for Linux cloud and container estates. It covers how VoidLink works, who has been using it, and how to find it. The framework was first described as an unfinished project. It has since been tied to real intrusions.
- status
- In the wild (Cisco Talos)
- operator
- UAT-9921 (Talos; timeline disputed)
- platform
- Linux cloud & containers; Windows build indicated
- language
- Zig core · C · Go
- disclosed
- 2026-01-13 · Check Point Research
- updated
- 2026-09-25 · dossier v2.0
analyst@voidlink:~/dossier$ cat 01_overview.md
01Executive Summary
A cloud-native Linux malware framework, now confirmed in the wild
VoidLink is a modular command-and-control framework written mainly in Zig. It is built for long-term, quiet access to Linux servers in public clouds and container platforms. Check Point Research found it in December 2025 and published it on 13 January 2026. At the time it looked like work in progress: debug symbols, fast-changing builds and no known victims.
Since then, Cisco Talos has linked VoidLink to intrusions by an actor it tracks as UAT-9921. Check Point says it cannot independently verify Talos's timeline. Elastic Security Labs analysed a leaked dump of the rootkit source and found four generations of kernel rootkit. VoidLink is also the best-documented case so far of an advanced framework built largely by one developer driving an AI coding agent.
--- v1.0 2026-01-31
+++ v2.0 2026-09-25
- No confirmed real-world infections as of January 2026
+ In the wild: victims in tech & finance, Sep 2025 → Jan 2026 (Cisco Talos)
+ Operator named UAT-9921; Check Point disputes the timeline (Talos / THN)
+ Leaked rootkit source: 4 kernel-rootkit generations (Elastic)
+ Windows build of the core implant indicated; RBAC in the C2 (Talos)
+ New IoCs: 2 C2 IPs, rootkit sample, 7 host artifacts (Elastic / Ontinue)
+ Vendor detections: Snort, ClamAV, YARA, Splunk (various)
~ Rewrote Falco + auditd rules (old eBPF rule matched the wrong syscall)
~ All 7 Check Point implant hashes listed (v1.0 page showed 3)
Key characteristics
Target platform
Linux servers in public clouds and containerised workloads. Talos has also seen signs of a Windows build.
Languages
Core implant in Zig. C for the "arsenal" (rootkits, plugins). Go for the backend.
Architecture
Modular plugin API modelled on Cobalt Strike's Beacon Object Files.
Cloud focus
Detects and adapts to AWS, GCP, Azure, Alibaba Cloud and Tencent Cloud.
Purpose
Long-term access, surveillance, credential theft and pivoting through cloud estates.
Development
Built by one developer directing an AI coding agent from written specifications.
analyst@voidlink:~/dossier$ tail -n 50 02_timeline.log
02Timeline
From first victims to public research, Sep 2025 → Sep 2026
-
Earliest VoidLink-related victims, according to Talos, which believes this was still version 1.0. Check Point says it has seen no evidence of use this early.Cisco Talos
-
Development of the documented build starts (late November), per the developer's own planning files.Check Point Research
-
Working implant with 88K+ lines of code within a week (4 Dec test build). Check Point then finds a cluster of unfamiliar Linux samples that still contain debug symbols.Check Point Research
-
Public disclosure: "VoidLink: The Cloud-Native Malware Framework".Check Point Research
-
Elastic ships YARA rules
Linux_Trojan_VoidLink_*.Elastic protections-artifacts -
Sysdig describes server-side rootkit compilation: the C2 builds kernel modules for each victim's kernel.Sysdig TRT
-
Reports that the framework was written almost entirely by an AI agent.Check Point Research · The Register
-
Splunk publishes the "VoidLink Cloud-Native Linux Malware" analytic story.Splunk Threat Research
-
Implant teardown: "not a proof of concept". Hard-coded C2
8.149.128[.]10.Ontinue -
Talos names UAT-9921 and reports victims in technology and finance, a Windows build, and role-based access control in the C2.Cisco Talos
-
Check Point "cannot independently verify" the September 2025 start date or the actor's activity since 2019.The Hacker News
-
Elastic YARA rule
Linux_Rootkit_VoidLink_243306b5.Elastic protections-artifacts -
"Illuminating VoidLink": analysis of leaked rootkit source, binaries and deployment scripts. Evidence of operational use.Elastic Security Labs
-
No new primary research found. No government advisory. No MITRE ATT&CK software entry.Checked 2026-09-25
analyst@voidlink:~/dossier$ cat 03_architecture.md
03Technical Architecture
Multi-stage loader with fileless execution
| Component | Role |
|---|---|
stage0 |
Dropper: forks, renames itself [kworker/0:0], prepares Stage 1 |
stage1 |
Fetches the implant over HTTP into a memfd, so nothing is written to
disk |
core |
Orchestrator: state, comms, task execution |
plugins |
BOF-style modular API, 35–37 plugins |
rootkits |
LD_PRELOAD, LKM and eBPF concealment |
c2 panel |
Chinese-localised web console with role-based access |
win32? |
Talos found "clear indications" the core was also built for Windows, loading plugins by DLL sideloading. No public sample. |
stage0 ─► fork() ─► prctl rename "[kworker/0:0]" ─► memfd_create()
─► HTTP GET stage1 ─► execveat(memfd) # payload never touches disk
analyst@voidlink:~/dossier$ cat 04_cloud.md
04Cloud & Container Awareness
Fingerprints the provider and runtime, then changes behaviour to suit
| Provider | Method | Status |
|---|---|---|
| AWS | Instance metadata 169.254.169.254 |
active |
| Google Cloud | Metadata server | active |
| Microsoft Azure | IMDS endpoint | active |
| Alibaba Cloud | Metadata 100.100.100.200 |
active |
| Tencent Cloud | Metadata service | active |
| Huawei · DigitalOcean · Vultr | Listed as planned; no support observed as of Sep 2026 | planned |
Runtime detection
Docker
Detects container runtimes and adjusts behaviour.
Kubernetes
Identifies pod context for cluster-level discovery and privilege escalation.
Bare metal / VM
Unlocks the full capability set on hosts that are not containerised.
Container-specific capabilities
- Kubernetes and Docker enumeration
- Automated container-escape attempts
- Service-account token harvesting
- Secret extraction from orchestrators
- Privilege escalation via misconfigurations
- Cloud metadata harvesting from pods
analyst@voidlink:~/dossier$ cat 05_rootkits.md
05Rootkit Mechanisms
Picks a rootkit to match the kernel; four generations recovered from leaked source
| Kernel | Type | Method |
|---|---|---|
< 4.0 |
ld_preload | User-space library injection via /etc/ld.so.preload |
4.x – 5.4 |
lkm | Loadable kernel module |
≥ 5.5 |
ebpf | eBPF programs attached to kernel hooks |
6.x+ |
ebpf / src | Modules compiled by the C2 for the victim's exact kernel |
LD_PRELOAD rootkit
- Hijacks dynamic-linker preloading via
/etc/ld.so.preload - Intercepts libc calls to hide files, processes and sockets
- Works on old kernels without kernel-level access
LKM rootkit
- Unlinks itself from
/proc/modulesand/sys/module - Hooks
getdentsto hide processes and files; manipulates VFS operations - Hides sockets from
netstatvia a kretprobe ontcp4_seq_show - Spoofs the in-tree flag to look legitimate
eBPF rootkit
- Hides sockets from
ssby rewritingNETLINK_SOCK_DIAGreplies inrecvmsg - Uses a kprobe-registration trick to work around the Linux 5.7+ restriction on
kallsyms_lookup_name - Source comment:
ss 命令隐藏由 eBPF 模块实现 (更稳定), meaning "ss hiding is done by the eBPF module (more stable)"
Server-side rootkit compilation (Sysdig)
The C2 compiles kernel modules for the victim's exact kernel on request and
serves them from /compile endpoints. This removes the usual problem of LKMs
breaking across kernel versions.
Elastic analysed a dump containing source code, compiled binaries and deployment scripts for VoidLink's kernel rootkits. It found at least four generations:
| Gen | Artifact | Target | Notes |
|---|---|---|---|
| 1 | stealth_centos7_v2.c |
CentOS 7 · kernel 3.10 | Hooks the syscall table directly |
| 2 | stealth_kernel5x.c |
Kernel 5.x | ftrace / kprobe hooking |
| 3 | kernel5x_new/, lkm_5x/ |
Kernel 5.x | Production-ready variants |
| 4 | "Ultimate Stealth v5" | Modern kernels | Delayed start, anti-debug timers, XOR-obfuscated names |
- Module name
vl_stealth, oramd_mem_encryptin some variants - Hybrid LKM + eBPF design; eBPF map pinned at
/sys/fs/bpf/vl_hide_tcp - Defaults: ICMP magic
0xC0DE, XOR key0x42, hidden port8080
analyst@voidlink:~/dossier$ cat 06_c2.md
06Command & Control
Several transports, with traffic dressed up as ordinary web content
| Protocol | Role | Stealth |
|---|---|---|
| HTTP/HTTPS | Primary | Looks like ordinary web and API traffic |
| HTTP/2 | Performance | Multiplexed connections |
| WebSocket | Real-time | Persistent bidirectional session |
| DNS tunnelling | Covert | Data encoded in queries/responses |
| ICMP | Fallback | Echo requests with magic ID 0xC0DE |
| P2P / mesh | Relay | Infected hosts relay traffic for each other |
Traffic concealment
- Encrypted data inside PNG images
- Payloads hidden in JS/HTML/CSS
- Slow 10-minute beacon observed
Operator console
- Chinese-localised web UI
- Agent manager + built-in terminal
- Implant generator with evasion tuning
Role-based access (Talos)
SuperAdminOperatorViewer
Roles suggest several operators share one C2.
analyst@voidlink:~/dossier$ ls ./plugins | wc -l # 35–37
07Plugin Ecosystem
35–37 modules; direct syscalls get around libc hooks
Reconnaissance
- Kernel, hypervisor, process and network enumeration
- Users, groups and services
- Kubernetes resources and internal topology
Credential harvesting
- SSH keys, Git credentials
- API tokens, cloud secrets, env vars
- Browser cookies, keyrings
Cloud & container
- Container escape
- Kubernetes privilege escalation
- Metadata harvesting
Lateral movement
- SSH-based worming
- Port forwarding and tunnelling
- Remote execution
Persistence
LD_PRELOADabuse- cron and systemd units
- Process injection
Anti-forensics
- Keyword-based log wiping
- History and login-record cleaning
- Timestomping, secure overwrite
analyst@voidlink:~/dossier$ cat 08_evasion.md
08Evasion & Anti-Analysis
Scores how risky the environment is, then sets its operating tempo
Adaptive OPSEC
Computes a risk score for the host:
- High risk: slower scans, longer beacons, stealth first
- Low risk: aggressive recon, faster tempo
Security-product discovery
- Linux EDR / XDR agents
- Kernel hardening; Falco, Sysdig
- Debuggers and sandboxes
| Mechanism | Effect |
|---|---|
| Runtime code encryption | Decrypts regions only while in use, then re-encrypts |
| Self-modifying code | Defeats memory scanners |
| Debugger detection | Spots analysis environments |
| Integrity checks | Detects hooks and tampering |
| Self-destruct | Wipes history, logins and logs, overwrites its files, then exits |
analyst@voidlink:~/dossier$ cat 09_ai_dev.md
09AI-Generated Development
One developer, an AI coding agent, and a spec-first workflow
The developer used spec-driven development. They wrote detailed specifications and a work plan, split across three notional teams (Core/Zig, Arsenal/C, Backend/Go). They then had the agent in TRAE SOLO, part of ByteDance's TRAE IDE, write the code. A plan scheduled for 30 weeks produced a working implant in under a week. A test build from 4 December 2025 already held more than 88,000 lines of code. Check Point says the planning documents "bear all the hallmarks of a large language model".
Talos notes that the documents Check Point saw describe version 2.0. It believes version 1.0 was already in use earlier. Ontinue's teardown concluded: "VoidLink is not a proof of concept."
analyst@voidlink:~/dossier$ cat 10_in_the_wild.md
10In the Wild & Attribution
UAT-9921, the victims, and a disputed timeline
Targeting
- Mainly technology, some financial services
- Active since at least 2019, medium confidence (not necessarily with VoidLink)
- Knows Chinese, judging by the framework, code comments and planning
Tradecraft
- Initial access: previously stolen credentials, or Java deserialisation RCE (notably Apache Dubbo)
- Installs VoidLink C2 on compromised hosts and scans onward from them
- A SOCKS server and FSCAN for internal reconnaissance
- Operators have source code for some modules
Check Point's response
"We have not observed evidence of VoidLink being used as of September 2025 and threat actor activity since 2019 … we cannot independently verify activity outside of the datasets and sources available to us." (via The Hacker News, 13 Feb 2026)
Elastic's evidence
Operator scripts in the leaked dump name real Alibaba Cloud infrastructure. Elastic reads this as VoidLink "being used operationally against targets accessible from Chinese cloud infrastructure."
Chinese-affiliation indicators
- Chinese-localised C2 console
- Chinese source comments and planning docs
- Malpedia links
elf.voidlinkto UAT-9921
Business model: still open
- No evidence it is sold (Talos)
- Leak origin unknown (Elastic)
- No law-enforcement action or government advisory reported
analyst@voidlink:~/dossier$ cat 11_iocs.txt
11Indicators of Compromise
Hashes cross-checked against the vendors' published lists (Sep 2026)
File hashes (SHA-256)
# Stage 0 loader (Check Point)
70aa5b3516d331e9d1876f3b8994fc8c18e2b1b9f15096e6c790de8cdadb3fc9
# Stage 1 loader (Check Point)
13025f83ee515b299632d267f94b37c71115b22447a0425ac7baed4bf60b95cd
# Core implants (Check Point)
05eac3663d47a29da0d32f67e10d161f831138e10958dcd88b9dc97038948f69
15cb93d38b0a4bd931434a501d8308739326ce482da5158eb657b0af0fa7ba49
6850788b9c76042e0e29a318f65fceb574083ed3ec39a34bc64a1292f4586b41
6dcfe9f66d3aef1efd7007c588a59f69e5cd61b7a8eca1fb89a84b8ccef13a2b
28c4a4df27f7ce8ced69476cc7923cf56625928a7b4530bc7b484eec67fe3943
e990a39e479e0750d2320735444b6c86cc26822d86a40d37d6e163d0fe058896
4c4201cc1278da615bacf48deef461bf26c343f8cbb2d8596788b41829a39f3f
# Kernel rootkit (Elastic YARA Linux_Rootkit_VoidLink_243306b5 reference sample)
8bce8daacaaa546a8fc77f484d776560a28dfb024e3b7aa7c6b322c7c5716ac5
Network indicators
# Alibaba Cloud: named in operator scripts (Elastic); first is Ontinue's hard-coded C2
8.149.128[.]10
116.62.172[.]147
- ICMP echo with magic ID
0xC0DE - Requests to
/compileendpoints (server-side rootkit build) - Metadata endpoints (
169.254.169.254,100.100.100.200) queried by unexpected processes - DGA-style domains; HTTP traffic that only imitates normal web requests
Infrastructure IoCs go stale fast. Treat these IPs as historical and check them before blocking.
Host artifacts
| Artifact | Context |
|---|---|
[kworker/0:0] |
Stage 0 process name. A real kworker is a kernel thread (parent PID 2, no executable) |
vl_stealth.ko |
Rootkit module name (Elastic) |
amd_mem_encrypt.ko |
Rootkit masquerade name (Elastic). AMD memory encryption is normally compiled into the kernel, so a loadable module with this name is a red flag |
/sys/fs/bpf/vl_hide_tcp |
Pinned eBPF map for hiding connections (Elastic) |
/etc/ld.so.preload |
Unexpected entries: LD_PRELOAD rootkit |
memfd_create → execveat |
Fileless Stage 1 execution |
finit_module from /tmp |
Kernel module loaded from a temporary path |
analyst@voidlink:~/dossier$ cat 12_detection.yml
12Detection & Hunting
Vendor content, plus starter rules to tune for your environment
| Source | Content |
|---|---|
| Cisco Talos | Snort 2 SIDs 1:65915–65922, 1:65834–65842 · Snort 3 SIDs
1:65915–65922, 1:65834–65838,
1:310388–310389 · ClamAV
Unix.Trojan.VoidLink-10059283
|
| Elastic | YARA Linux_Trojan_VoidLink_0868fa9d,
Linux_Trojan_VoidLink_e4c13c2c,
Linux_Rootkit_VoidLink_243306b5; EQL hunts in "Illuminating
VoidLink" |
| Splunk | Analytic story "VoidLink Cloud-Native Linux Malware" |
| Isovalent | "Deconstructing VoidLink": runtime-security write-up (Feb 2026) |
| Ontinue | IoC feed on GitHub (ontinue-research/threat-intel-iocs) |
Falco: starter rules
- list: voidlink_allowed_bpf_procs
items: [falco, tetragon, cilium-agent, bpftool, systemd]
- rule: VoidLink - Fileless execution from memfd
desc: Process executed from an anonymous memfd (Stage 1 memfd_create + execveat)
condition: spawned_process and proc.is_exe_from_memfd = true
output: >
Fileless exec from memfd (proc=%proc.name exe=%proc.exe parent=%proc.pname
cmdline=%proc.cmdline container=%container.id)
priority: CRITICAL
tags: [voidlink, T1620]
- rule: VoidLink - Unexpected bpf() caller
desc: bpf syscall from a process outside the allowlist (eBPF rootkit load)
condition: evt.type = bpf and evt.dir = > and not proc.name in (voidlink_allowed_bpf_procs)
output: "bpf() by unexpected process (proc=%proc.name exe=%proc.exe user=%user.name)"
priority: WARNING
tags: [voidlink, T1014]
- rule: VoidLink - Kernel module load
desc: init_module / finit_module outside of expected tooling
condition: evt.type in (init_module, finit_module) and not proc.name in (modprobe, insmod, systemd-modules-load)
output: "Kernel module load (proc=%proc.name exe=%proc.exe cmdline=%proc.cmdline)"
priority: CRITICAL
tags: [voidlink, T1547.006]
- rule: VoidLink - ld.so.preload modified
desc: Write to /etc/ld.so.preload (LD_PRELOAD rootkit persistence)
condition: open_write and fd.name = /etc/ld.so.preload
output: "ld.so.preload written (proc=%proc.name exe=%proc.exe user=%user.name)"
priority: CRITICAL
tags: [voidlink, T1574.006]
These are starting points. Test them against your baseline and extend the allowlists before alerting on them.
auditd rules
# Kernel module loads (LKM rootkit)
-a always,exit -F arch=b64 -S init_module,finit_module -k voidlink_lkm
# eBPF program / map activity (eBPF rootkit); noisy on Cilium/Falco hosts
-a always,exit -F arch=b64 -S bpf -k voidlink_bpf
# Fileless loader
-a always,exit -F arch=b64 -S memfd_create -k voidlink_memfd
# LD_PRELOAD rootkit persistence
-w /etc/ld.so.preload -p wa -k voidlink_preload
v1.0 used setsockopt … a2=26. That catches SO_ATTACH_FILTER (classic
socket filters), not eBPF program loads. Hooking the bpf syscall is the
correct approach.
Live hunting one-liners
# 1. Fake kernel threads: real kworkers are children of kthreadd (PID 2) and have no exe
for p in /proc/[0-9]*; do
c=$(cat "$p/comm" 2>/dev/null) || continue
case "$c" in kworker*) ;; *) continue ;; esac
pp=$(awk '/^PPid:/{print $2}' "$p/status" 2>/dev/null)
[ "$pp" != 2 ] && echo "SUSPECT pid=${p#/proc/} comm=$c ppid=$pp exe=$(readlink "$p/exe")"
done
# 2. Processes running from a memfd (strong signal) or a deleted file (noisy: package upgrades cause it too)
ls -l /proc/[0-9]*/exe 2>/dev/null | grep -E 'memfd:|\(deleted\)'
# 3. VoidLink eBPF pin/map, then review every loaded BPF program by hand
ls -la /sys/fs/bpf/ 2>/dev/null | grep -i vl_
bpftool map show 2>/dev/null | grep -i vl_
bpftool prog show 2>/dev/null
# 4. Known module names (a hidden LKM will NOT appear here)
grep -E '^(vl_stealth|amd_mem_encrypt) ' /proc/modules
find / -xdev \( -name 'vl_stealth*.ko' -o -name 'amd_mem_encrypt*.ko' \) 2>/dev/null
# 5. Preload hijack
[ -s /etc/ld.so.preload ] && cat /etc/ld.so.preload
A kernel rootkit can hide from everything above. Clean results on a host you suspect are not proof it is clean. Use memory forensics (for example LiME + Volatility 3) or inspect it from outside the guest.
analyst@voidlink:~/dossier$ cat 13_mitigation.md
13Mitigation & Defence
Treat VoidLink as a cloud-identity and control-plane risk, not only an endpoint problem
Close the observed entry points
- crit Patch or firewall exposed Java RPC and deserialisation surfaces (e.g. Apache Dubbo)
- crit Rotate long-lived credentials; enforce MFA and short-lived tokens
- Alert on logins from new infrastructure to server accounts
Cloud infrastructure
- crit Lock down IMDS (require IMDSv2 on AWS; block metadata access from pods)
- Least-privilege IAM for instance roles
- Monitor metadata API queries from workloads
Kernel hardening
- Require signed modules (
module.sig_enforce=1) or turn on lockdown mode - Set
kernel.modules_disabled=1after boot where possible - Set
kernel.unprivileged_bpf_disabled=1 - SELinux or AppArmor in enforcing mode
Kubernetes
- Block privileged pods (Pod Security "restricted")
- No Docker/containerd socket mounts
- Audit service-account RBAC; turn off token automount
- Default-deny network policies and egress controls
Detection coverage
- Linux EDR/XDR with kernel and eBPF visibility
- Runtime sensors (Falco, Tetragon) with the rules above
- Egress inspection for ICMP/DNS tunnelling
Incident response
- Capture memory before shutdown
- Rotate SSH keys, cloud credentials, Kubernetes tokens and API keys
- Rebuild hosts from known-good images rather than cleaning them in place
- Check container images and CI for tampering
analyst@voidlink:~/dossier$ jq . 14_attack_map.json
14MITRE ATT&CK Mapping
Analyst mapping. VoidLink has no ATT&CK Software ID as of Sep 2026
| Tactic | Techniques |
|---|---|
| Initial Access | T1078 Valid Accounts · T1190 Exploit Public-Facing Application |
| Execution | T1059.004 Unix Shell · T1106 Native API |
| Persistence | T1053.003 Cron · T1543.002 Systemd Service · T1574.006 Dynamic Linker Hijacking · T1547.006 Kernel Modules and Extensions |
| Privilege Escalation | T1611 Escape to Host · T1068 Exploitation for Privilege Escalation |
| Defense Evasion | T1014 Rootkit · T1620 Reflective Code Loading · T1036.004 Masquerade Task or Service · T1027 Obfuscated Files or Information · T1497 Virtualization/Sandbox Evasion · T1070.002/.003/.006 Clear Logs / Clear History / Timestomp |
| Credential Access | T1552.001 Credentials in Files · T1552.004 Private Keys · T1552.005 Cloud Instance Metadata API · T1552.007 Container API · T1555 Password Stores · T1539 Steal Web Session Cookie |
| Discovery | T1580 Cloud Infrastructure · T1613 Container and Resource · T1082 System Information · T1518.001 Security Software · T1046 Network Service Discovery |
| Lateral Movement | T1021.004 SSH · T1570 Lateral Tool Transfer |
| Command & Control | T1071.001 Web Protocols · T1071.004 DNS · T1095 Non-Application Layer Protocol (ICMP) · T1001.002 Steganography · T1090 Proxy · T1572 Protocol Tunneling · T1573 Encrypted Channel |
| Exfiltration | T1041 Exfiltration Over C2 Channel |
analyst@voidlink:~/dossier$ column -ts, 15_compare.csv
15Threat Comparison
How VoidLink compares with familiar tooling
| Feature | VoidLink | Cobalt Strike | perfctl | Winnti (Linux) |
|---|---|---|---|---|
| Platform | linux (+Windows build) | Windows-first | Linux | Linux / Windows |
| Cloud-aware | yes 5 providers | No | No | No |
| Container-aware | yes | No | No | No |
| Plugins | 35–37, BOF-style | BOFs, large ecosystem | Limited | Plugin-based |
| Rootkit | LD_PRELOAD + LKM + eBPF | None built in | User-mode (preload) | User-mode (preload) |
| AI-assisted build | yes | No | No evidence | No evidence |
| In the wild | yes since 2025 | Widely abused | Yes | Yes |
analyst@voidlink:~/dossier$ cat 16_references.bib
16References
Primary research first, then news coverage
- Check Point Research. "VoidLink: The Cloud-Native Malware Framework." 13 Jan 2026. research.checkpoint.com
- Check Point Research. "VoidLink: Evidence That the Era of Advanced AI-Generated Malware Has Begun." 20 Jan 2026. research.checkpoint.com
- Sysdig TRT. "VoidLink threat analysis: Sysdig discovers C2-compiled kernel rootkits." Jan 2026. sysdig.com
- Ontinue. "VoidLink: Dissecting an AI-Generated C2 Implant." 9 Feb 2026 (upd. 6 May 2026). ontinue.com
- Cisco Talos. "New threat actor, UAT-9921, leverages VoidLink framework in campaigns." 10 Feb 2026. blog.talosintelligence.com
- Isovalent. "Deconstructing VoidLink." 11 Feb 2026. isovalent.com
- Elastic Security Labs (R. Groenewoud, R. Sprooten). "Illuminating VoidLink: Technical analysis of the VoidLink rootkit framework." 26 Mar 2026. elastic.co
- Elastic. protections-artifacts YARA rules
(
Linux_Trojan_VoidLink.yar,Linux_Rootkit_VoidLink.yar). github.com - Splunk Threat Research. Analytic story "VoidLink Cloud-Native Linux Malware." 2026. research.splunk.com
- Malpedia.
elf.voidlink. malpedia.caad.fkie.fraunhofer.de
- The Hacker News. "New Advanced Linux VoidLink Malware Targets Cloud and Container Environments." 13 Jan 2026. thehackernews.com
- The Hacker News. "UAT-9921 Deploys VoidLink Malware to Target Technology and Financial Sectors." 13 Feb 2026. thehackernews.com
- BleepingComputer. "New VoidLink malware framework targets Linux cloud servers." Jan 2026. bleepingcomputer.com
- The Register. "An AI wrote VoidLink, the cloud-targeting Linux malware." 20 Jan 2026.
- Dark Reading. "Complex VoidLink Linux Malware Created by AI." Jan 2026. darkreading.com
- SecurityWeek. "VoidLink Linux Malware Framework Targets Cloud Environments." Jan 2026.
- UltraViolet Cyber. "Threat Advisory: VoidLink." Jan 2026.
- Integrity360. "VoidLink Linux Malware Framework." Jan 2026.