AIToday
Large Language ModelsAI Safety & AlignmentZenn AI/MLPublished: Sep 28, 2026, 13:00 JST

HACH dev: verify chat agent requests by user.id, not display name

HACH dev: verify chat agent requests by user.id, not display name

3 Key Points

  1. What happened

    The developer of HACH, an agent resident in Slack, Teams and Chatwork, argued that authorization, logging and sensitive actions must rely only on immutable IDs such as Slack's user.id or Teams' aad_object_id, never on display names.

  2. Why it matters

    Display names can be changed by malicious actors or reused after departures, so name-based decisions leave a real risk of impersonation-driven misuse of hard-to-undo agent actions such as approval or report suppression.

  3. What to watch

    The article admits unusual-pattern detection alone produces many false positives, so the practical design hinges on pausing a high-risk action and confirming identity via a separate channel; whether that trade-off in added friction is acceptable for daily operations is the question.

WHO IT HITSTeams building or operating chat-resident AI agents (for example, internal IT or platform engineering teams behind Slack, Teams or Chatwork bots) should audit whether authorization uses display names and move to platform-signed user IDs, with separate handling for guest and off-list users.

Not sure about something? Ask the AI

Questions and answers are published on this page.

Summaries like this, in your inbox every morning.

Context & Analysis

The article's distinction is between two different trust problems. Prompt injection, already widely discussed, concerns fake instructions hidden in external content the agent reads. The article targets an earlier step: whether the person speaking live in the chat is who they claim to be. It notes that chat platform APIs typically send both a display name and a user ID, or account ID, but hurried implementations sometimes use only the display name for logging and permission checks — the starting point of incidents.

The article's argument rests on several concrete scenarios. Display names are often user-editable, so a malicious third party or a hijacked guest account can mimic an executive's name and icon. External guests or members of partner workspaces may join under the same name as an internal member, making inside-versus-outside hard to distinguish. And when an account is reused or handed over after retirement or transfer, name-based linking to past conversation logs cannot reveal that the owner has changed.

The proposed countermeasures are layered. Permission decisions should use only immutable identifiers such as Slack's user.id or Teams' aad_object_id, with display names used purely for human-facing display; some platforms also let the agent tell whether a participant is a guest or external member, so requests from outside can be held back or escalated according to importance. And because the article acknowledges these signals on their own produce many false positives, it recommends not blocking outright but inserting a heavier confirmation step before execution. What the design ultimately hinges on is how much added friction a team is willing to absorb for hard-to-undo actions, and for whom — the teams running agents that approve quotes or suppress reports daily are the ones who will feel that trade-off.

FAQ
Why are display names unsafe for AI agent authorization?
Display names can usually be changed freely by the user, so a malicious third party or a compromised guest account can copy an executive's name and icon. External guests with the same name as internal staff also make it impossible to tell inside from outside by name alone.
What can an agent do about a legitimate account that has been taken over?
Unexpected time, IP range or device, sudden high-risk requests that differ from past behavior, and rapid sequences of important actions are signals. The article recommends pausing the action and confirming identity through another channel, such as a registered email address, rather than blocking outright.
What should be recorded in the audit log?
The user ID used for the decision, the fact that it was on the permission list, and the display name as reference information should be logged together. That way, a later review can reconstruct why the agent judged the requester to be who they claimed.

AI news that matters for your work, delivered every morning.

Pick your industry and the AI tools you use, and get news related to your work every day.

Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →

Ask AI

Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.

Questions and answers are published on this page.

Related Articles

Next articleShirt built to fool AI cameras hides wearer