Trojanized PoCs Target Vulnerability Researchers with ChocoPoC Python RAT

· Original article ↗

Summary

Researchers identified a campaign using malicious GitHub PoCs and trojanized PyPI dependencies to infect vulnerability researchers and pentesters with ChocoPoC, a persistent Python RAT that steals credentials and files and executes commands.

Key points

  • At least seven fake CVE proof-of-concept repositories used malicious Python dependencies, including frint and skytext, to deliver the malware.
  • The infection chain loads an obfuscated native extension, installs persistence through malicious Python packages and .pth files, and retrieves the RAT through a Mapbox dataset.
  • ChocoPoC steals browser credentials, cookies, autofill data, and history; collects files and system information; and supports arbitrary command and Python-code execution.
  • The malware uses techniques including environment-specific execution gates, anti-debugging, timestomping, DNS-over-HTTPS, and Mapbox-based command-and-control.
  • The researchers link related campaigns from 2025 and 2026 with high confidence, citing shared code and infrastructure patterns despite rotating accounts and packages.
  • Package download statistics suggest the malicious dependencies were installed, but do not establish that those downloads resulted in successful compromises.
  • The report advises against running the identified PoCs or installing the malicious packages while the malware and infrastructure remain active.

Article Details

Attack Vectors
  • Trojanised GitHub PoC repositories add malicious Python dependencies to requirements files; installing the PoC dependencies downloads frint and transitively installs skytext.
  • The skytext native extension decrypts embedded scripts in the PoC runtime, drops a persistent Python RAT, and retrieves additional code from a Mapbox dataset.
  • ChocoPoC harvests browser credentials and local files, executes received commands or Python code, and exfiltrates data through Mapbox or a dedicated HTTP server.
Defensive Notes
  • Do not run the identified PoC code or install the malicious packages.
  • Review PoC authors and every dependency before execution; the article warns that behavior may only trigger in the full PoC runtime and may evade ordinary sandbox analysis.

Indicators of compromise

TypeIndicatorContext
IPV491[.]132[.]163[.]78Dedicated external server used for ChocoPoC stage-three data exfiltration.
SHA25617997e9e0256d0f5d5d21a4852c37f16b338e4bb9c2bec09bdfd822b24aa76b4SHA-256 hash of the malicious frint 0.1.2 wheel.
SHA256320b29844892e3c59bc6fcb07e701b2b3230a37cb4a13176174e9e294ec6d43eSHA-256 hash of the malicious Linux gradient.so native extension.
SHA25640569318e89db751ff3886b2617d990d8a343f0d1d8727b7f978a28129ca36bcSHA-256 hash of the malicious Windows gradient.pyd native extension.
SHA2565abd45d6f4a1705dca55d882f017d4768888dce9ad99cea40b3da35c23de5caeSHA-256 hash listed for the malicious slogsec package.
SHA25693739477cd379adef95126b22758c0e644282d2028dd297328ce856fa111dd06SHA-256 hash of the malicious skytext 1.1.0 wheel.
URLhxxp[:]//91[.]132[.]163[.]78:8001/assets/static/bundle[.]ext[.]min[.]de5b2bc9[.]jsChunked-upload endpoint on the server identified for ChocoPoC stage-three data exfiltration.
URLhxxps[:]//api[.]mapbox[.]com/datasets/v1/frankley/cmor0tcxf008i1mmpd7apt903/features/dm370543acmdopk296nahbtua?access_token=pk[.]eyJ1IjoiZnJhbmtsZXkiLCJhIjoiY21vNzFzaXNzMDJrMjJxcHJqY3JscnlpYSJ9[.]fuMfMgsxlOGxRy44A-y0WQSpecific Mapbox dataset feature URL used as the ChocoPoC dead-drop for retrieving malicious code.
URLhxxps[:]//api[.]mapbox[.]com/datasets/v1/mattallahsaed/cmismaye7000s1mp2v8fkn4lp/features/dm370543acmdopk296nahbtua?access_token=pk[.]eyJ1IjoibWF0dGFsbGFoc2FlZCIsImEiOiJjbWlzbWpncWkwNHRmM2ZzMWd1eTBmanQ4In0[.]VNFutzqzaSVfDiwQFr7_gQSpecific Mapbox dataset feature URL identified as a ChocoPoC downloader dead-drop.
URLhxxps[:]//github[.]com/bolubey/CVE-2026-0257Trojanised PoC repository identified as distributing malicious dependencies.
URLhxxps[:]//github[.]com/bolubey/CVE-2026-50751Trojanised PoC repository identified as distributing malicious dependencies.
URLhxxps[:]//github[.]com/lincemorado97/CVE-2025-14847Trojanised PoC repository identified as distributing malicious dependencies.
URLhxxps[:]//github[.]com/lincemorado97/CVE-2025-55182_CVE-2025-66478Trojanised PoC repository identified as distributing malicious dependencies.
URLhxxps[:]//github[.]com/lincemorado97/CVE-2025-64446_CVE-2025-58034Trojanised PoC repository identified as distributing malicious dependencies.
URLhxxps[:]//github[.]com/ogenich/CVE-2026-10520Trojanised PoC repository identified as distributing malicious dependencies.
URLhxxps[:]//github[.]com/ogenich/CVE-2026-48908Trojanised PoC repository identified as distributing malicious dependencies.

MITRE ATT&CK

T1005 · Data from Local SystemThe RAT searches local user directories for documents, database files, and shell histories for collection.T1016 · System Network Configuration DiscoveryThe RAT gathers active network configuration during system reconnaissance.T1027 · Obfuscated Files or InformationEmbedded payloads are obfuscated with XOR and compressed before being decrypted and executed.T1041 · Exfiltration Over C2 ChannelThe RAT exfiltrates harvested data through its C2 channel and a dedicated external HTTP server.T1057 · Process DiscoveryThe RAT gathers lists of running processes during system reconnaissance.T1059.006 · PythonThe RAT is written in Python and uses Python exec() to run downloaded code.T1070.006 · TimestompThe malware timestomps dropped persistence files to hinder forensic detection.T1071.001 · Web ProtocolsThe malware uses HTTPS requests to Mapbox for its covert command-and-control and dead-drop activity.T1082 · System Information DiscoveryThe hola command gathers system information as part of reconnaissance.T1105 · Ingress Tool TransferThe downloader retrieves subsequent Python payloads from Mapbox dataset features.T1195.002 · Compromise Software Supply ChainMalicious frint and skytext dependencies are delivered through trojanised PoC repositories and installed as part of the software dependency chain.T1217 · Browser Information DiscoveryThe RAT collects browser history from targeted browser profiles.T1546.018 · Python Startup HooksA dropped .pth file and trojanised _distutils_hack package execute the RAT bootstrap when a new Python interpreter starts.T1555.003 · Credentials from Web BrowsersThe RAT collects stored credentials and other profile data from Chrome, Brave, Edge, and Firefox.T1622 · Debugger EvasionThe native extension checks for a remote debugger and hardware breakpoints before proceeding.

CVE

People

Malware

Products

Checkpoint VPNCheckpoint VPN Auth bypassFortiWebWhen a critical vulnerability affects a large attack surface - such as React2Shell (CVE-2025-55182), FortiWeb (CVE-2025-64446), or Ivanti Sentry (CVE-2026-10520) - every hour counts to produce a scan module beforeGitHubTargeted Supply Chain Attack: Vulnerability researchers and pentesters are being actively targeted via malicious Proof-of-Concept (PoC) repositories on GitHub that contain trojanised Python dependencies.Ivanti Sentryaffects a large attack surface - such as React2Shell (CVE-2025-55182), FortiWeb (CVE-2025-64446), or Ivanti Sentry (CVE-2026-10520) - every hour counts to produce a scan module before attackers weaponise andJoomlaof the Vulnerability Intelligence team. Then, on Thursday, 25 June 2026, shortly after publishing a Joomla JCE template, we received an intriguing GitHub notification:MapboxPyPI dependency executes a compiled and obfuscated dropper that retrieves a Python RAT payload from a Mapbox dead drop resolver. ChocoPoC RAT is designed to be stealthy and persistent, using timestomping, file-lockPAN-OSPAN-OS Auth bypassPyPIleast 7 fake CVE PoC repositories have been identified, all employing the same modus operandi: a malicious PyPI dependency executes a compiled and obfuscated dropper that retrieves a Python RAT payload from a MapboxPythondetails a campaign targeting vulnerability researchers with "ChocoPoC" malware embedded inside trojanised Python dependencies. Exploiting the pressure to quickly test new vulnerabilities, threat actors distribute aReact

Tools

Related Articles