BuildNot yet confirmed elsewhere1 publisher2 min readPublished
Dev.to post blames Korean bank breaches on missing agent controls, including no isolation and session-wide approval
A dev.to post says a Chinese-speaking attacker used Artex AI and Claude agents to breach Shinhan, KB Kookmin and Hana banks in October 2026. It proposes runtime guards on tool calls, yet the CrowdStrike finding it cites puts the agent sessions on the attacker's own infrastructure.
The Engineer · Build desk

Shinhan, KB Kookmin, Hana: client data, card leaks, outages. Attacker's servers: open directories of session histories. Bank networks: no egress filtering. Artex AI, Claude: session-wide approval. Sample adopters: params logged as given. Korean government: emergency mandates.
- exposure Shinhan, KB Kookmin, Hana Client data exposure, credit card information leaks and system outages, according to the post, claim 12
- exposure Attacker's own infrastructure Per the post, CrowdStrike found open directories with Claude Code session histories, Artex configs and Claude memory files, claim 11
- constraint Bank production networks Post says agents had full network access to production banking systems and no egress filtering stopped exfiltration, claim 16
- capability Artex AI and Claude defaults Session-wide approval by default lets agents run tool chains uninterrupted once credentials are provided, claim 15
- exposure Teams copying the sample code Its info-level log line writes each tool call's params dictionary exactly as given, claim 6
- decision South Korean government Convened emergency meetings and issued immediate security mandates for critical IT systems, claim 13
| Who | How | Kind | Claim |
|---|---|---|---|
| Shinhan, KB Kookmin, Hana | Client data exposure, credit card information leaks and system outages, according to the post | exposure | 12 |
| Attacker's own infrastructure | Per the post, CrowdStrike found open directories with Claude Code session histories, Artex configs and Claude memory files | exposure | 11 |
| Bank production networks | Post says agents had full network access to production banking systems and no egress filtering stopped exfiltration | constraint | 16 |
| Artex AI and Claude defaults | Session-wide approval by default lets agents run tool chains uninterrupted once credentials are provided | capability | 15 |
| Teams copying the sample code | Its info-level log line writes each tool call's params dictionary exactly as given | exposure | 6 |
| South Korean government | Convened emergency meetings and issued immediate security mandates for critical IT systems | decision | 13 |
What happened
- The post says CrowdStrike confirmed the attacker's infrastructure held open directories with Claude Code session histories, Artex configuration files and Claude memory files.
- The breaches resulted in client data exposure, credit card information leaks and system outages, according to the post.
- South Korea's government held emergency meetings and ordered immediate security requirements for critical IT systems.
- The post says Artex AI and Claude both use session-wide approval by default, so agents run tool chains uninterrupted once credentials are supplied.
Why it matters
- contradiction The post lists session histories in open directories as an audit-logging gap, but its own CrowdStrike finding places those directories on the attacker's side.
- constraint Sandboxes and approval gates protect only whoever installs them. A bank facing an attacker's agents is left with segmentation and egress filtering on its own network.
- exposure A team that copies the sample into production writes every tool argument, secrets included, into a log pipeline the post says feeds SIEM systems.
The post labels its reconstruction as inference. It introduces the three attack phases with "Here's what the plumbing likely looked like" [1], and the lateral-movement section says audit logs "(if present)" did not trigger alerts [2]. The CrowdStrike finding is secondhand: the post relays it, and the excerpt we read does not link a CrowdStrike report. The "first documented case" label is the author's own [14].
Here is what the post's sample class does when called. `log_tool_call` adds one to a counter, appends the tool name to a list if `is_privileged` is true, writes a structured log line, then checks the list length [3]. When the list holds more than five entries it logs a warning and raises an exception, with a comment saying to pause the agent and require human approval [4]. The sixth privileged call is the one that trips it [8]. The caller supplies `is_privileged`, and it defaults to False [5].
In our view this is a logging aid with a brake attached, and the brake sits inside the thing it is meant to stop. The agent loop reports its own privilege level. The post says tool execution happened in the same security context as the host [16]. A process an adversary controls can pass False, skip the call or catch the exception. In this incident, per the post, the session histories were on the attacker's infrastructure [11], so the attacker would have been the one deciding whether to install the guard.
The counters are instance attributes set to zero in the constructor, one object per agent and session [3]. A fresh session starts clean. We would put the limit where the agent cannot edit it: a credential broker that issues a short-lived credential per call and refuses the sixth one, whatever the agent reports. That costs a service to run and a policy to maintain.
What to watch
- A CrowdStrike report or South Korean regulator disclosure that states which hosts the agent sessions ran on and whether any bank-side logs recorded them.
- Whether the government's new security mandates for critical IT systems name controls on AI agent tooling or stay at network and credential hygiene.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence22
- Adoption
- Insufficient
- Hype gap+45
- Incentives
- Insufficient
- Confidence30
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
The post introduces its three-phase attack breakdown with the line "Here's what the plumbing likely looked like".
- [2]
In the lateral-movement phase the post says: "Audit logs (if present) did not trigger alerts on anomalous agent behavior".
- [3]
The post's sample class AgentToolInvocation sets invocation_count to zero and an empty privileged_tools_used list in its constructor, one object per agent_id and session_id, and its log_tool_call method increments the counter, appends privileged tool names, emits a structured log line, then checks the list length.
- [4]
In the sample code, when privileged_tools_used holds more than 5 entries, log_tool_call logs a warning and raises PrivilegedToolThresholdExceeded, with a comment to pause agent execution and require human approval.
- [5]
The is_privileged argument to log_tool_call is supplied by the caller and defaults to False.
- [6]
The sample's info-level log line writes the params dictionary of each tool call as given.
- [7]
The post says the structured logs feed into SIEM systems.
- [8]
The sixth privileged tool call is the first to trip the guard, because the check is a length greater than 5.
- [9]
Under its audit-logging failures the post lists that session histories were stored in open directories.
- [10]
A Chinese-speaking attacker used Artex AI and Claude agents to breach multiple South Korean banks in October 2026, according to the dev.to post.
- [11]
According to the post, CrowdStrike confirmed the attacker's infrastructure included open directories with Claude Code session histories, Artex configuration files, and Claude memory files.
- [12]
The attack targeted Shinhan Bank, KB Kookmin Bank, and Hana Bank and resulted in client data exposure, credit card information leaks, and system outages.
- [13]
The South Korean government convened emergency meetings and issued immediate security mandates for critical IT systems.
- [14]
The post calls the incident the first documented case of commercial AI agents weaponized in a coordinated financial cyberattack.
- [15]
The post says Artex AI and Claude both use session-wide approval by default, so once credentials are provided agents can execute tool chains without interruption.
- [16]
The post lists missing isolation controls: agents ran with full network access to production banking systems, no egress filtering prevented exfiltration, there was no containerization or VM isolation, agents inherited operator credentials, and tool execution happened in the same security context as the host.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toArtex AI Bank Attacks: What Agent-Driven Cyberattacks Reveal About Tool Execution Boundaries
1 article · October 11, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- AI Agent SecurityFollow
- Runtime tool authorizationFollow
- Financial sector cyber incidentsFollow