AI Pentesting: Authorization Is the Boundary, Not the Tool

South Korean banks were breached with an AI pentesting tool. No flaw was exploited: what was missing was authorization.

PentestBR TeamPublished 5 min read

On September 30, 2026, Shinhan Bank in South Korea disclosed a data breach. In the days that followed other financial institutions were hit, Kookmin Bank among them. On October 2 the country’s financial services regulator convened an emergency meeting with the supervisory agency, the security agency, six banks and three card companies. On October 8 CrowdStrike explained how it was done.

Between late September and early October, an operator used ARTEX, a Chinese-developed open source autonomous pentesting tool, to break into South Korean financial firms and exfiltrate data. No flaw in the tool was exploited. It was used exactly as designed, against organizations that never authorized it. No scanner catches that, because there is no vulnerability to catch. There is an authorization boundary, and it belongs to you.

What the regulator told them to check

The October 2 statement is the most useful part of this whole episode, and it says nothing about AI. The regulator gave three orders. The first was to inventory and review every internet exposed IT system, with no exemption for not serving customers: internal systems, support tooling, admin panels and services nobody outside should know about all go on the same list.

The second order is the one I would underline in a pentest report: check whether there is a path to internal information without authentication, with special attention to routes that query personal data. That is not a hunt for outdated versions. It is authorization, which is exactly the layer the tool was used on.

The third was to share attacker IP addresses and techniques across institutions so the same attempt would not land on the neighbor. Cheap, and it works.

Worth stating what CrowdStrike does not claim: the campaign was not attributed to any known group, the number of affected organizations remains unconfirmed, and the tool’s use was inferred from references to its name in files on an attacker controlled server. The assessment that the operator is a Chinese speaker motivated by financial gain carries moderate confidence. The tool is confirmed. The intent is not.

What the tool was missing

The day after the disclosure, ARTEX’s author published a statement. The attack had nothing to do with him, he said. The tool was built for learning and research, to help organizations test assets within an authorized scope. Faced with abuse, the project stopped receiving updates and went closed source.

Look at what that response reveals. The author treats this as a support problem, and he is right to. For him there was no defect: there was someone using the tool for a purpose he could not see, against targets he could not protect. The weight of the failure belongs to whoever runs the defense.

He also left something unaddressed, and it is worth naming. An open source pentesting tool is attack surface. Every published test pipeline has external dependencies, and external dependencies are entry points. The answer is not to keep everything locked away. It is to assume the tool will be used against someone, and that your defense cannot rest on the goodwill of whoever maintains it.

The attacker lost through carelessness

The detail that sums up the case sits in the discovery method. CrowdStrike did not find this campaign through threat intelligence or an indicator of compromise. It found open directories on a Hong Kong IP address, with Claude Code session histories, ARTEX configuration files and memory files sitting exposed. The operator had his entire working session published on a server that answered the internet.

That is the irony of the episode. The same operator who walked into banks with a testing tool forgot to close his working directory. The defender’s win came from basic operational hygiene, not from a new product.

The other side of the same coin is worth looking at. On October 5 the Wikimedia Foundation reported edits to its wikis that it believes came from OpenAI agents, nearly all in sandbox areas and never published to readers. There were unsuccessful attempts to compromise Etherpad and use it as a proxy for fetching data from other sites. Then the report changed subject: millions of automated requests to public APIs, millions of pages crawled, hundreds of thousands of queries to the Wikidata query service, possibly contributing to a partial outage in May.

The Foundation has 67 million articles, 15 billion monthly pageviews and no product to sell. In 2025 it reported a 50% increase in bandwidth from bot growth, with 65% of its heaviest traffic coming from bots. Nobody exploited a flaw there. The resource simply ran out. A subscription business has the same problem, except the invoice arrives with a name and a tax ID on it.

Where this touches your application

Straight to what is actionable, because the genuinely useful part of this story is the part that did not become a press note.

Login is not a boundary. Authentication is where it starts. What separates your company from a test environment is everything that happens after the credential is accepted: session handling, device binding, request idempotency, token scope, revocation, response to a context change. That is the layer the operator entered, per CrowdStrike’s account: a loan progress inquiry service used by brokers and a corporate mobile work support system for employees. Neither one is the bank’s website.

It is worth checking whether the people responsible for security are actually looking at the surface the regulator told them to look at. An internal system exposed to the internet is a misconfiguration before it is a vulnerability, and misconfiguration does not show up in a scanner report, because scanners hunt versions, not routes.

What to do this week

  • Inventory every internet exposed system, including the ones that serve no customers, and put a named owner on each one.
  • Deliberately test the path to internal data with authentication removed. If the response comes back with data, that is a critical access finding, not a backlog item.
  • Treat session and authorization as a primary test surface: creation, use, revocation, scope, and what happens when context changes.
  • Assume an open source testing tool is attack surface and do not build a security plan on other people’s goodwill.
  • When you hire a test, ask who runs the tooling and where the evidence is stored. Evidence kept outside your environment is a leak waiting for the next incident.

One plain idea survives all of it: authorized testing and attack are not distinguished by which model they use. They are distinguished by a signed document. Without that document, the right tool in the wrong hands is not pentesting. It is a scanner with an agenda.

Keep reading

Back to blog