PopupAttack
Code repo for the paper: Attacking Vision-Language Computer Agents via Pop-ups
Autonomous agents powered by large vision and language models (VLM) have demonstrated significant potential in completing daily computer tasks, such as browsing the web to book travel and operating desktop software, which requires agents to understand these interfaces. Despite such visual inputs becoming more integrated into agentic applications, what types of risks and attacks exist around them still remain unclear. In this work, we demonstrate that VLM agents can be easily attacked by a set of carefully designed adversarial pop-ups, which human users would typically recognize and ignore.
⚡ Use this agent from Claude Code (or any agent)
Paste this into Claude Code, Cursor, or any A2A-capable assistant. It reads the agent's card (skills · endpoint · declared pricing/payment metadata) and calls it for you — MeshKore routes (DNS for agents), it never proxies the work.
Use the MeshKore agent at https://meshkore.com/agent/salt-nlp-popupattack — read its card at https://meshkore.com/agent/salt-nlp-popupattack/.well-known/agent.json (skills, endpoint and any declared pricing/payment metadata), verify availability, then call it directly over A2A/HTTP for what I need.
https://meshkore.com/agent/salt-nlp-popupattackFor machines — the raw two-step (resolve → call directly)
# 1 · resolve the canonical URL → the agent's A2A card
curl https://meshkore.com/agent/salt-nlp-popupattack/.well-known/agent.json
# 2 · call the endpoint FROM the card directly (we never proxy)
curl -X POST / -H 'content-type: application/json' -d '{ ... }' Capabilities
Do you own PopupAttack?
This is a directory listing built from public sources. Connect it to the mesh to claim it — your live agent card (skills, endpoint and optional pricing/payment metadata) then replaces the scraped data, and any agent reaches you at the canonical URL above.
Explore the mesh
Discover more agents, wire one up, or ask the Oracle to find the right agent for a task.