A €0.01 bank transfer could compromise a banking AI agent

Posted by tvissers 2 hours ago

Counter43Comment18OpenOriginal

Comments

Comment by EnglishRobin96 6 minutes ago

This line really stood out to me.

> It may look like ordinary text, but when it is placed into an LLM context window, the model may interpret it as an instruction rather than as data.

I feel like as long as this is the case, we'll never have secure LLMs. It concisely summarises the alarm bell I hear every time someone talks about adding AI features to their product. I plan on using this as a sort of benchmark for future AI discussions: "how do you plan on separating data from instructions?"

Comment by nticompass 20 minutes ago

> There is no single control that solves indirect prompt injection

There is, actually. It's called removing the AI agent. Done.

Comment by bilekas 31 minutes ago

Putting AI anywhere near people’s finances without even being asked while being responsible for those finances is some next level negligence imho.

Comment by initramfs 10 minutes ago

This is very interesting. Before I read the article, I thought this one one of those instances where a bank asks a customer to verify a recent transaction to prove they are the account holder (like where did you make your last purchase, and how much did you spend there?), for things like password resets or PIN resets over the phone. It occured to me that a phisher who deposits money into a checking account (a small sum included, could use this if they knew the bank would ask what the most recent transaction amount was. Then when they call in pretending to be the customer, they (if they have other personal information like last 4 of SS# and address, email, phone etc), can get their password reset and gain access to the account. But if the customer blocks any unauthorized deposits, such as ACH/Zelle, then they might not have this issue. Obviously banks should caution or avoid using received funds as an authentication method, except as part of a larger number of evidentiary items.

Was this the type of phishing attack they used? If not, there's two vulnerabilities, and one is not yet patched.

Comment by brickers 6 minutes ago

If you read the article, you can find out!

Comment by initramfs 3 minutes ago

I did read the article, but I didn't understand it because I am not familiar with that level of cyber security nor AI instruction/coding formats.

Comment by reddalo 41 minutes ago

Good job AI, after we managed to almost fix SQL injections everywhere, you made them come back!

Comment by bilekas 29 minutes ago

> almost fix SQL injections everywhere

Oh if I had a euro everytime someone claimed that.

Comment by uyzstvqs 9 minutes ago

This is so simple to prevent, it's just a matter of prompting. The fact that the bank didn't proactively secure against this makes me glad that I'm not one of their customers.

Comment by jorisw 6 minutes ago

Would it be simple to explain as well? I'm interested

Comment by Muromec 6 minutes ago

Okay, time to close the account with them I guess

Comment by nerder92 26 minutes ago

While this is relevant and should indeed be fixed, the attack surface and the practicality of the exploit is a bit meh.

The user needs to do 3 things for this to be actually be phished:

1. Receive money from somebody they don’t known with a weird description 2. Proactively ask the agent for such transaction 3. Click the link the agent provide

While this of course can happen on scale, doesn’t seems so critical in practice

Comment by tvissers 5 minutes ago

Thanks for chiming in.

I agree this is not a one-click account takeover.

But I think point 2 is broader than that. The user does not need to ask about the malicious transaction specifically. Any normal question that makes the agent fetch recent transactions could bring the attacker-controlled text into the LLM context.

Comment by treis 9 minutes ago

Unless I missed it they didn't provide any proof of this actually working. Really seems like a thing veiled advert for their product

Comment by datsci_est_2015 19 minutes ago

I think the critical part is that it launders an arbitrary URL as trustworthy. The alternative is “Don’t trust anything our bot says at face value, please.”

I think a better criticism is allowing arbitrary text (including URLs) in a transaction description.

Comment by doctorpangloss 18 minutes ago

the solution to this problem is so simple and so easy to reason about from first principles i am shocked i can continue making $$$ deploying agents (LLM-driven workflows) for finance customers

Comment by tvhamme 1 hour ago

It was never about the prompt, it is about the prompt delivery.

Comment by jorisw 4 minutes ago

Something my ex never understood