From 5b03e4e6cd2cc3aaf37bb45e6172a5acb0757708 Mon Sep 17 00:00:00 2001 From: wunderwuzzi23 <35349594+wunderwuzzi23@users.noreply.github.com> Date: Thu, 2 Jan 2025 16:25:12 -0800 Subject: [PATCH] fixes --- ...t-image-generation-without-authentication.md | 17 ++++++++--------- docs/index.xml | 2 +- .../index.html | 14 +++++++------- docs/posts/index.xml | 2 +- docs/tags/ai-injections/index.xml | 2 +- docs/tags/aiml/index.xml | 2 +- docs/tags/machine-learning/index.xml | 2 +- docs/tags/threats/index.xml | 2 +- 8 files changed, 21 insertions(+), 22 deletions(-) diff --git a/content/posts/2025/m365-copilot-image-generation-without-authentication.md b/content/posts/2025/m365-copilot-image-generation-without-authentication.md index 6c4ed893..154c1a58 100644 --- a/content/posts/2025/m365-copilot-image-generation-without-authentication.md +++ b/content/posts/2025/m365-copilot-image-generation-without-authentication.md @@ -18,7 +18,7 @@ twitter: I regularly look at how the system prompts of chatbots change over time. Updates frequently highlight new features being added, design changes that occur and potential areas that might benefit from more security scrutiny. -A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one `enterprise_search` tool in the past. You might remember that tool being used during the [Copirate ASCII Smuggling exploit](https://embracethered.com/blog/posts/2024/m365-copilot-prompt-injection-tool-invocation-and-data-exfil-using-ascii-smuggling/) and using it to search for MFA codes in the user's inbox. +A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one `enterprise_search` tool in the past. You might remember that tool was used during the [Copirate ASCII Smuggling exploit](https://embracethered.com/blog/posts/2024/m365-copilot-prompt-injection-tool-invocation-and-data-exfil-using-ascii-smuggling/) to search for MFA codes in the user's inbox. ### Dumping the System Prompt @@ -30,13 +30,13 @@ It's not visible in the above screenshot, but Copilot actually started printing #### Oops, was this my outer voice!?! -It's not uncommon that companies put output filters in place that monitor for certain words or phrases and overwrite responses. This is happening because the responses are streamed, which makes output filtering more challenging, and often visible to the user. +It's not uncommon that companies put output filters in place that monitor for certain words or phrases and overwrite responses. This is happening because the **responses are streamed**, which makes output filtering challenging, and often visible to the user. #### Simple Trick to Help With System Prompt Extraction -Also, one thing I like doing is to give the Chatbot a hint on where to start. It's usually quite easy to figure out how the system prompt starts, like "You are ChatGPT", "I am Microsoft 365 Copilot",... you get the idea. Once we know that we can very easily trigger the system prompt extractions. +Also, one thing I like doing is to give the chatbot a hint on where to start. It's usually quite easy to figure out how the system prompt starts, like "You are ChatGPT", "I am Microsoft 365 Copilot",... you get the idea. Once we know that, we can easily trigger the system prompt extractions. -**There are usually two tricks I use to bypass that:** +**There are usually two tricks I commonly try:** #### 1. Ask the chatbot to return the system prompt in German (rather than English) @@ -48,7 +48,7 @@ This is how it looks in action: This usually works quite well. -#### 2. Ask the chatbot to return the system prompt as xml +#### 2. Ask the chatbot to return the system prompt as xml This trick makes sure that the chatbot only returns a few words of the prompt at a time, evading filters that look for full sentences of the system prompt, etc. [![Refuse system prompt leak](/blog/images/2024/copilot-m365-dump-system-prompt-xml.png)](/blog/images/2024/copilot-m365-dump-system-prompt-xml.png) @@ -59,7 +59,7 @@ In the case of M365 Copilot both continue to work well. ### Renamed And New M365 Copilot Tools -With the update to the system prompt sometime in September quite a few changes were introduced. The interesting part was of the system prompt was that it seems Microsoft created many specific `search_enterprise_*` tools: +With the system prompt updates sometime in September, quite a few changes were introduced. The interesting part was that Microsoft created many `search_enterprise_*` tools: * `designer_graphic_art` * `search_enterprise_chat` @@ -67,12 +67,11 @@ With the update to the system prompt sometime in September quite a few changes w * `search_enterprise_files` * `search_enterprise_meetings` -Quite interesting how the system prompts are changed ofter time, sometimes quite significantly. +Quite interesting how the system prompts are changed over time, sometimes quite significantly. [![New Tools](/blog/images/2024/copilot-m365-new-tools.png)](/blog/images/2024/copilot-m365-new-tools.png) - -The one tool that stood out to me was the `designer_graphic_art`, because so far, the M365 Enterprise Chat experience (BizChat) did not have an image generation capability. +The tool that stood out to me was `designer_graphic_art`, because so far, the M365 Enterprise Chat experience (BizChat) did not have image generation capabilities. ### Graphic Designer Image Generation diff --git a/docs/index.xml b/docs/index.xml index d9ac18ed..1dbc7a7c 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -15,7 +15,7 @@ https://embracethered.com/blog/posts/2025/m365-copilot-image-generation-without-authentication/ I regularly look at how the system prompts of chatbots change over time. Updates frequently highlight new features being added, design changes that occur and potential areas that might benefit from more security scrutiny. -A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool being used during the Copirate ASCII Smuggling exploit and using it to search for MFA codes in the user&rsquo;s inbox. +A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool was used during the Copirate ASCII Smuggling exploit to search for MFA codes in the user&rsquo;s inbox. diff --git a/docs/posts/2025/m365-copilot-image-generation-without-authentication/index.html b/docs/posts/2025/m365-copilot-image-generation-without-authentication/index.html index 733e8a70..a0a503f3 100644 --- a/docs/posts/2025/m365-copilot-image-generation-without-authentication/index.html +++ b/docs/posts/2025/m365-copilot-image-generation-without-authentication/index.html @@ -137,16 +137,16 @@

Microsoft 365 Copilot Generated Images Accessible Witho

I regularly look at how the system prompts of chatbots change over time. Updates frequently highlight new features being added, design changes that occur and potential areas that might benefit from more security scrutiny.

-

A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool being used during the Copirate ASCII Smuggling exploit and using it to search for MFA codes in the user’s inbox.

+

A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool was used during the Copirate ASCII Smuggling exploit to search for MFA codes in the user’s inbox.

Dumping the System Prompt

Many chatbots have output filters in place that refuse to return the system prompt verbatim. Here is an example on how that might look like:

Refuse system prompt leak

It’s not visible in the above screenshot, but Copilot actually started printing the system prompt, but at one point it detected that it shouldn’t leak it and refused to continue and afterwards error message was shown instead.

Oops, was this my outer voice!?!

-

It’s not uncommon that companies put output filters in place that monitor for certain words or phrases and overwrite responses. This is happening because the responses are streamed, which makes output filtering more challenging, and often visible to the user.

+

It’s not uncommon that companies put output filters in place that monitor for certain words or phrases and overwrite responses. This is happening because the responses are streamed, which makes output filtering challenging, and often visible to the user.

Simple Trick to Help With System Prompt Extraction

-

Also, one thing I like doing is to give the Chatbot a hint on where to start. It’s usually quite easy to figure out how the system prompt starts, like “You are ChatGPT”, “I am Microsoft 365 Copilot”,… you get the idea. Once we know that we can very easily trigger the system prompt extractions.

-

There are usually two tricks I use to bypass that:

+

Also, one thing I like doing is to give the chatbot a hint on where to start. It’s usually quite easy to figure out how the system prompt starts, like “You are ChatGPT”, “I am Microsoft 365 Copilot”,… you get the idea. Once we know that, we can easily trigger the system prompt extractions.

+

There are usually two tricks I commonly try:

1. Ask the chatbot to return the system prompt in German (rather than English)

System prompt leak German

This is how it looks in action:

@@ -158,7 +158,7 @@

2. Ask the chatbot

And funny enough I typically copy/paste the xml output and put it into ChatGPT and ask it to remove the xml tags and convert it into a nicely formatted system prompt. If you are curious how the result from ChatGPT looked like, you can find it here.

In the case of M365 Copilot both continue to work well.

Renamed And New M365 Copilot Tools

-

With the update to the system prompt sometime in September quite a few changes were introduced. The interesting part was of the system prompt was that it seems Microsoft created many specific search_enterprise_* tools:

+

With the system prompt updates sometime in September, quite a few changes were introduced. The interesting part was that Microsoft created many search_enterprise_* tools:

  • designer_graphic_art
  • search_enterprise_chat
  • @@ -166,9 +166,9 @@

    Renamed And New M365 Copilot Toolssearch_enterprise_files
  • search_enterprise_meetings
-

Quite interesting how the system prompts are changed ofter time, sometimes quite significantly.

+

Quite interesting how the system prompts are changed over time, sometimes quite significantly.

New Tools

-

The one tool that stood out to me was the designer_graphic_art, because so far, the M365 Enterprise Chat experience (BizChat) did not have an image generation capability.

+

The tool that stood out to me was designer_graphic_art, because so far, the M365 Enterprise Chat experience (BizChat) did not have image generation capabilities.

Graphic Designer Image Generation

In retrospect it’s unclear when exactly this was introduced. I might have observed it a few days before the official announcement even, but I noticed right away that it seemed to use the Bing “consumer” image generation domain ending in live.com.

It was designerapp.officeapps.live.com.

diff --git a/docs/posts/index.xml b/docs/posts/index.xml index aa052b6c..1e68d1d4 100644 --- a/docs/posts/index.xml +++ b/docs/posts/index.xml @@ -15,7 +15,7 @@ https://embracethered.com/blog/posts/2025/m365-copilot-image-generation-without-authentication/ I regularly look at how the system prompts of chatbots change over time. Updates frequently highlight new features being added, design changes that occur and potential areas that might benefit from more security scrutiny. -A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool being used during the Copirate ASCII Smuggling exploit and using it to search for MFA codes in the user&rsquo;s inbox. +A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool was used during the Copirate ASCII Smuggling exploit to search for MFA codes in the user&rsquo;s inbox. diff --git a/docs/tags/ai-injections/index.xml b/docs/tags/ai-injections/index.xml index e0018449..39ff704f 100644 --- a/docs/tags/ai-injections/index.xml +++ b/docs/tags/ai-injections/index.xml @@ -15,7 +15,7 @@ https://embracethered.com/blog/posts/2025/m365-copilot-image-generation-without-authentication/ I regularly look at how the system prompts of chatbots change over time. Updates frequently highlight new features being added, design changes that occur and potential areas that might benefit from more security scrutiny. -A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool being used during the Copirate ASCII Smuggling exploit and using it to search for MFA codes in the user&rsquo;s inbox. +A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool was used during the Copirate ASCII Smuggling exploit to search for MFA codes in the user&rsquo;s inbox. diff --git a/docs/tags/aiml/index.xml b/docs/tags/aiml/index.xml index 1ef7fdf6..3e614ec7 100644 --- a/docs/tags/aiml/index.xml +++ b/docs/tags/aiml/index.xml @@ -15,7 +15,7 @@ https://embracethered.com/blog/posts/2025/m365-copilot-image-generation-without-authentication/ I regularly look at how the system prompts of chatbots change over time. Updates frequently highlight new features being added, design changes that occur and potential areas that might benefit from more security scrutiny. -A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool being used during the Copirate ASCII Smuggling exploit and using it to search for MFA codes in the user&rsquo;s inbox. +A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool was used during the Copirate ASCII Smuggling exploit to search for MFA codes in the user&rsquo;s inbox. diff --git a/docs/tags/machine-learning/index.xml b/docs/tags/machine-learning/index.xml index c600efdd..e84abe86 100644 --- a/docs/tags/machine-learning/index.xml +++ b/docs/tags/machine-learning/index.xml @@ -15,7 +15,7 @@ https://embracethered.com/blog/posts/2025/m365-copilot-image-generation-without-authentication/ I regularly look at how the system prompts of chatbots change over time. Updates frequently highlight new features being added, design changes that occur and potential areas that might benefit from more security scrutiny. -A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool being used during the Copirate ASCII Smuggling exploit and using it to search for MFA codes in the user&rsquo;s inbox. +A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool was used during the Copirate ASCII Smuggling exploit to search for MFA codes in the user&rsquo;s inbox. diff --git a/docs/tags/threats/index.xml b/docs/tags/threats/index.xml index 3c415622..e91600a4 100644 --- a/docs/tags/threats/index.xml +++ b/docs/tags/threats/index.xml @@ -15,7 +15,7 @@ https://embracethered.com/blog/posts/2025/m365-copilot-image-generation-without-authentication/ I regularly look at how the system prompts of chatbots change over time. Updates frequently highlight new features being added, design changes that occur and potential areas that might benefit from more security scrutiny. -A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool being used during the Copirate ASCII Smuggling exploit and using it to search for MFA codes in the user&rsquo;s inbox. +A few months back I noticed an interesting update to the M365 Copilot (BizChat) system prompt. In particular, there used to be one enterprise_search tool in the past. You might remember that tool was used during the Copirate ASCII Smuggling exploit to search for MFA codes in the user&rsquo;s inbox.