hermes - 💡(How to fix) Fix Harden Slack and Mattermost mass mention handling

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Slack and Mattermost gateway adapters should default to non-executable broadcast mention delivery for bot-authored responses. If model output contains Slack broadcast mentions such as <!everyone>, <!channel>, or <!here>, Slack can receive them as mrkdwn entities. Mattermost posts sent without props.disable_mentions=true can allow @all / @channel to be parsed by the server.

Under the current Hermes threat model this is best treated as defense-in-depth output hardening rather than a standalone prompt-injection boundary bypass, but default-safe platform delivery prevents accidental or prompt-induced notification storms in shared workspaces.

Root Cause

Slack and Mattermost gateway adapters should default to non-executable broadcast mention delivery for bot-authored responses. If model output contains Slack broadcast mentions such as <!everyone>, <!channel>, or <!here>, Slack can receive them as mrkdwn entities. Mattermost posts sent without props.disable_mentions=true can allow @all / @channel to be parsed by the server.

Under the current Hermes threat model this is best treated as defense-in-depth output hardening rather than a standalone prompt-injection boundary bypass, but default-safe platform delivery prevents accidental or prompt-induced notification storms in shared workspaces.

Fix Action

Fix / Workaround

  • Slack: escape broadcast mentions before preserving Slack entities for mrkdwn formatting.
  • Mattermost: include props: {"disable_mentions": true} in bot-authored post and patch payloads.
RAW_BUFFERClick to expand / collapse

Summary

Slack and Mattermost gateway adapters should default to non-executable broadcast mention delivery for bot-authored responses. If model output contains Slack broadcast mentions such as <!everyone>, <!channel>, or <!here>, Slack can receive them as mrkdwn entities. Mattermost posts sent without props.disable_mentions=true can allow @all / @channel to be parsed by the server.

Under the current Hermes threat model this is best treated as defense-in-depth output hardening rather than a standalone prompt-injection boundary bypass, but default-safe platform delivery prevents accidental or prompt-induced notification storms in shared workspaces.

Impact

  • Bot responses can trigger workspace/channel-wide notifications when model output includes broadcast mention syntax.
  • This can cause notification spam and operational disruption in large shared Slack or Mattermost channels.

Suggested fix

  • Slack: escape broadcast mentions before preserving Slack entities for mrkdwn formatting.
  • Mattermost: include props: {"disable_mentions": true} in bot-authored post and patch payloads.

Validation

A regression PR is being opened with targeted tests for:

  • Slack formatting of <!everyone>, <!channel>, and <!here> as literal text.
  • Mattermost send payloads setting props.disable_mentions=true.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix Harden Slack and Mattermost mass mention handling