{"id":50078,"date":"2026-11-10T19:01:04","date_gmt":"2026-11-10T13:31:04","guid":{"rendered":"https:\/\/www.getastra.com\/blog\/?p=50078"},"modified":"2026-11-10T19:01:07","modified_gmt":"2026-11-10T13:31:07","slug":"artex","status":"publish","type":"post","link":"https:\/\/www.getastra.com\/blog\/security-advisory\/artex\/","title":{"rendered":"Do You Need to Worry About ARTEX?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"TLDR\"><\/span>TLDR<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ARTEX is an open-source, LLM-driven pentest framework. A Go binary with an embedded Next.js UI, PostgreSQL state, a mitmproxy recording shim, a planner agent, and (by default) 3 worker agents per task.<\/li>\n\n\n\n<li>It lowers the cost and time of existing attacks rather than inventing new ones.<\/li>\n\n\n\n<li>Since late August 2026, multiple clusters have used it. CrowdStrike says VAPOR PANDA directed one controller at 200+ organisations in 11 days, with nine confirmed compromises.<\/li>\n\n\n\n<li>Another vendor says Storm-0940 attempted sign-ins to 2,250+ tenants. Other research groups report more clusters.<\/li>\n\n\n\n<li>ARTEX is noisy, but much of what it does uses valid credentials and supported features, so rules tuned only for quiet C2 implants will miss it.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For the last two weeks, ARTEX has been on every CISO\u2019s radar, and every blue team has had multiple meetings about it. Honestly, most of what has been said deserves to be ignored. The threats are serious enough to take seriously, but giving ARTEX credit for rewriting offensive security overnight is absurd.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What ARTEX did is cheaper and more boring than that, and the boring version is what you should actually be worried about.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ARTEX is a logistics upgrade on techniques that have worked for twenty years. If your app would fall to a motivated script kiddie with <a href=\"https:\/\/www.getastra.com\/pentest-compare\/burp-suite\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Burp Suite<\/a> over a weekend, ARTEX lets the script kiddie do it against hundreds, if not thousands, of targets at once. The question worth debating is whether the lowered floor-of-effort puts your attack surface inside the new reachable set.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_ARTEX_actually_is\"><\/span>What ARTEX actually is<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A user going by Autumn-27 published ARTEX on GitHub on July 26, 2026, under <a href=\"https:\/\/www.gnu.org\/licenses\/agpl-3.0.en.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">AGPL-3.0<\/a>. The same developer also wrote <a href=\"https:\/\/github.com\/Autumn-27\/ScopeSentry\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">ScopeSentry<\/a>, a Chinese asset-discovery platform that ARTEX uses as its recon foundation.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1834\" height=\"1375\" src=\"\/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/0d41b8c1-image.png\" alt=\"\" class=\"wp-image-50079\" style=\"aspect-ratio:1.3333333333333333;width:624px;height:auto\" srcset=\"\/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/0d41b8c1-image.png 1834w, \/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/0d41b8c1-image.png 306w, \/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/0d41b8c1-image.png 1536w\" sizes=\"auto, (max-width: 1834px) 100vw, 1834px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Stack:<\/strong> one Go binary with an embedded Next.js frontend, PostgreSQL for state, and mitmproxy recording every worker HTTP request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Agents:<\/strong> a planner reads a goal and dispatches \u201cintents\u201d to N workers (default 3 per task). Workers claim intents and run real tools such as Bash, Nmap, curl, ripgrep, and HTTP clients. Each task keeps an asset graph and an exploration graph.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Models:<\/strong> provider-agnostic. Anthropic, OpenAI, or any OpenAI-compatible endpoint can be set in the UI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On October 8, one day after CrowdStrike\u2019s report on South Korean bank intrusions, Autumn-27 denied involvement and made the project closed-source. The repository was taken down. Archived copies, translations, and forks persist, including ScopeWeaver, \u201cARTEX PRO,\u201d and a Korean edition.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CrowdStrike\u2019s South Korea report identified DeepSeek v4.1-flash as the main model, likely bought through a reseller. Many researchers also saw DeepSeek and Kimi models, and one operator reportedly switched to them after Claude refused the tasks.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">VAPOR PANDA ran mainly on DeepSeek plus a second commercial model CrowdStrike could not identify. Another vendor\u2019s workspace analysis also saw Claude Code, OpenAI Codex, and Grok workspaces used alongside ARTEX, so Western tools are not absent from these operations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Is_it_really_worth_worrying_about\"><\/span>Is it really worth worrying about<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, if you have a large attack surface without a continuous pentesting program in your security strategy. ARTEX changes who can exploit your app and at what cost. It lowers the floor for exploiting low-hanging vulnerabilities that would otherwise be caught by DAST or SAST.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The damage is economic, not technical. A low-skill operator gets reach and parallelism they could not previously afford. A skilled operator paired with ARTEX becomes a genuinely dangerous weapon, which is what the VAPOR PANDA transcripts actually show.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So let\u2019s talk numbers.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>~3 months from GitHub release to attacker staple. Mandiant observed abuse from late August (<a href=\"https:\/\/www.helpnetsecurity.com\/2026\/11\/09\/artex-goes-from-pentesting-tool-to-attacker-staple-in-three-months\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">trade press<\/a>).<\/li>\n\n\n\n<li><strong>1,465<\/strong> exposed ARTEX consoles on the public internet as of November 4, 2026. Around 650 share standardised configurations across two hosting networks, leaving ~815 distinct-looking deployments. Some belong to authorised testers, so the true adversary footprint is likely higher (<a href=\"https:\/\/censys.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">internet-scanning data<\/a>).<\/li>\n\n\n\n<li><strong>2,557 systems<\/strong> have ever hosted ARTEX panels.<strong> 1,608 remain live and public (<\/strong><a href=\"https:\/\/research.checkpoint.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">separate vendor scanning<\/a>).<\/li>\n\n\n\n<li>S<strong>torm-0940 campaign:<\/strong> sign-in attempts to <strong>2,250+ tenants<\/strong>, peaking at <strong>2,900 per minute <\/strong>(<a href=\"https:\/\/www.microsoft.com\/en-us\/security\/blog\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">vendor reporting<\/a>).<\/li>\n\n\n\n<li><strong>~1.4 billion <\/strong>input tokens consumed by planning agents in a single VAPOR PANDA intrusion. CrowdStrike notes total campaign use was far higher and gives no dollar figure.<\/li>\n\n\n\n<li><strong>$145<\/strong> to <strong>$1,500<\/strong> estimated model cost per criminal campaign. One two-week operation used ~36 billion tokens for <strong>$700 <\/strong>to <strong>$1,500<\/strong> (<a href=\"https:\/\/research.checkpoint.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">researcher estimate<\/a>).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Mandiant also cites <strong>UNC7228<\/strong> (overlapping Storm-0940), financially motivated extortion groups, and other suspected PRC-nexus clusters. Other researchers describe criminal operators. Activity dates back to August or September, so this is not a single 30-day spike.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Who_should_worry_practically\"><\/span>Who should worry, practically?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you tick two or more of these, ARTEX-class tooling has a cost-effective path to you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\u2713<\/code> Long-lived secrets (cloud keys, service principal secrets, OAuth app credentials) sitting in public repos, configs, or old exports. This is the most-reported entry point.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\u2713<\/code> Internet-facing apps or APIs with weak or path-based auth, SAML or XML parsing flaws, or unpatched appliances.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\u2713<\/code><strong> Large sprawl: <\/strong>many subdomains and microservices with OpenAPI specs that drift behind the real routes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\u2713<\/code> Exposed administrative interfaces (cloud consoles, publishing endpoints, orchestration services).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\u2713<\/code> Third-party apps with broad tenant access, as in the ConnectWise case.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\u2713<\/code> Financial services, crypto, or payments. Already targeted in South Korea and Japan, and one operator-prompt analysis also named financial and crypto firms.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><code>\u2713<\/code><\/strong> Operations in Japan, South Korea, India, Southeast Asia, or in government, defence, semiconductor, pharma, or telecom. One vendor\u2019s prompt analysis named organisations in about 20 jurisdictions, including India, Malaysia, Indonesia, and Thailand. CrowdStrike\u2019s targets spanned Latin America, Europe, the Middle East, and the U.S.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><code>\u2713<\/code><\/strong> Legacy framework versions anywhere in the stack.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Is_this_our_Cobalt_Strike_moment\"><\/span>Is this our Cobalt Strike moment<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Partly. Trade press and Mandiant both draw the comparison. Attackers have long repurposed red-team tools, and ARTEX is following the same path much faster. How much faster depends on where you start the clock. Cobalt Strike launched in 2012, abuse grew from about 2015, and cracked copies spread widely after 2020.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1834\" height=\"1375\" src=\"\/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/7bb0c1e1-image.png\" alt=\"\" class=\"wp-image-50080\" style=\"aspect-ratio:1.3333333333333333;width:624px;height:auto\" srcset=\"\/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/7bb0c1e1-image.png 1834w, \/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/7bb0c1e1-image.png 306w, \/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/7bb0c1e1-image.png 1536w\" sizes=\"auto, (max-width: 1834px) 100vw, 1834px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">The real difference between the two tools is stealth. Cobalt Strike can be stealthy, and operating it well needs real skill. ARTEX inverts that. Threat actor skill matters less. Model access and compute matter more. The published campaigns show operators repeating well-known techniques (subdomain enumeration, auth bypass fuzzing, credential spray, directory brute force, parameter tampering) faster and against more targets than a human could cover.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In skilled hands, though, it is a dangerous weapon. VAPOR PANDA is an established espionage group that paired ARTEX with its own backdoor and tradecraft, and the criminal operators researchers caught mostly set goals and watched progress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ARTEX is loud by default. Mandiant documented bursts like <strong>27 events<\/strong> in <strong>23 seconds<\/strong> probing cloud permissions, <strong>500+ web requests<\/strong> fuzzing file names against a server, and incrementing marker strings in filenames, account names, and paths. Easy signals if your rules look for them. The catch is that much of ARTEX\u2019s activity uses valid credentials and supported APIs, which static indicators miss. The agents also rotate fingerprints, so IP-based blocking helps little.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So no, this is not a Cobalt Strike moment in the skill sense. It is a cost-per-attempt moment, which is a bigger problem because the economics apply to every attacker, not just the ones who learn the tool.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Where_Astra_fits\"><\/span>Where Astra fits<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two or three months ago, we raised a billboard in the Silicon Valley of India that said: \u201cHack autonomously before attackers do.\u201d It was a technical bet on where the offensive side of the market was headed. ARTEX showed up eight weeks later. The posture is clear: run autonomous pentesting against your own environment before someone else runs it for you.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1554\" height=\"800\" src=\"\/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/455c8c31-image.png\" alt=\"\" class=\"wp-image-50082\" srcset=\"\/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/455c8c31-image.png 1554w, \/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/455c8c31-image.png 1536w\" sizes=\"auto, (max-width: 1554px) 100vw, 1554px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Both tools exist for the same reason. The attacker clock has decoupled from the defender clock, and continuous autonomous pentesting is the only coverage model that keeps up.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"933\" src=\"\/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/10\/35631463-scr-20260420-ltjq.png\" alt=\"Astra autonomous pentesting let the agents loose\" class=\"wp-image-49217\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Mechanically, they are close. Both decompose a goal into tasks, run agents in parallel, and consolidate findings into a graph. The difference is what wraps around that core. ARTEX is a FOSS framework. Astra is a closed-source autonomous pentesting platform. One is a toolkit. The other is a service that owns the outcome.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Astra ships with human-validated findings, near-zero false positives, enterprise support, and reliably catches business-logic flaws such as IDOR and BOLA. Every engagement runs under <a href=\"https:\/\/owasp.org\/APTS\/\" target=\"_blank\" rel=\"noopener\">OWASP APTS<\/a> governance (scope enforcement, production database safeguards, rate limiting, human oversight), so our agents do not delete tables, drop collections, or trash state on the way to a proof of concept. That is the exact failure mode APTS was published to prevent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have engineering hours to burn and in-house offensive skill, go run ARTEX. Treat it like an attacker would. Point it at your own perimeter, read the transcripts, and feed what you learn back into your detections. It is a legitimate exercise for teams already building offensive capability.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want the same outcome without the overhead, that is what Astra is for.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.getastra.com\/schedule-a-demo\" target=\"_blank\" rel=\"noreferrer noopener\">Book a demo<\/a> either way. Do not compromise on security while you decide.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Final_thoughts\"><\/span>Final thoughts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ARTEX may not be as chaotic as Cobalt Strike, but it can cause the same kind of damage if teams are not concentrating on basic security. With this framework and a few dollars of compute, a script kiddie can put you through months of paperwork, legal review, and public embarrassment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The posture that makes sense right now is a continuous or autonomous pentesting program sitting alongside your scanner stack, clearing your remediation queue on a cadence that matches your deploys instead of your fiscal year.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"696\" src=\"\/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/6893ee45-image.png\" alt=\"\" class=\"wp-image-50083\" srcset=\"\/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/6893ee45-image.png 1600w, \/cdn-cgi\/image\/quality=80,format=auto,onerror=redirect,metadata=none\/https:\/\/cdn-blog.getastra.com\/2026\/11\/6893ee45-image.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If remediation is the bottleneck, our autonomous pentesting platform closes that loop at the fix end too. Confirmed findings flow into your dev environment through our MCP integration, so a developer in Cursor or Claude Code can accept the fix in one click, run the tests, and ship the patch inside the same session the finding was reported.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ARTEX is not the end of this story. It is the first framework in its category to reach real campaigns. The next one will be stealthier. Plan for that now.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TLDR For the last two weeks, ARTEX has been on every CISO\u2019s radar, and every blue team has had multiple meetings about it. Honestly, most of what has been said deserves to be ignored. The threats are serious enough to take seriously, but giving ARTEX credit for rewriting offensive security overnight is absurd. What ARTEX &#8230; <a title=\"Do You Need to Worry About ARTEX?\" class=\"read-more\" href=\"https:\/\/www.getastra.com\/blog\/security-advisory\/artex\/\" aria-label=\"Read more about Do You Need to Worry About ARTEX?\">Read more<\/a><\/p>\n","protected":false},"author":138,"featured_media":50084,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[819],"tags":[],"class_list":["post-50078","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security-advisory"],"_links":{"self":[{"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/posts\/50078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/users\/138"}],"replies":[{"embeddable":true,"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/comments?post=50078"}],"version-history":[{"count":1,"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/posts\/50078\/revisions"}],"predecessor-version":[{"id":50085,"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/posts\/50078\/revisions\/50085"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/media\/50084"}],"wp:attachment":[{"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/media?parent=50078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/categories?post=50078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.getastra.com\/blog\/wp-json\/wp\/v2\/tags?post=50078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}