Microsoft Copilot is an LLM-powered AI assistant by Microsoft, similar to OpenAI's ChatGPT. Under the Copilot brand, Microsoft has released a variety of products. Here's a timeline of key releases:
The most interesting and complex copilot in this series of products is Copilot for Microsoft 365 – the enterprise copilot. In this blog, we'll dive deep into how Copilot works under the hood - According to Microsoft. In the following posts, we'll peel the layers of Copilot for Microsoft 365, and reveal more (hidden) details about its architecture and how it really works.
Copilot for Microsoft 365 (which will be referred to as Copilot from now on) is an AI assistant that combines the LLM with (almost) all of your organizational data, which makes it much more powerful than the "regular" ChatGPT-like assistant. Every conversation has the context of data from documents, emails, messages, etc., which makes Copilot useful in scenarios such as enterprise search, organizational content drafting, and so on.
Copilot's architecture consists of three main components: the user interface, the large language model (LLM), and Microsoft Graph.
Copilot can be accessed from desktop and mobile devices, managed or unmanaged (depending on the organization’s policy).
Let's go over the journey of a prompt in the Copilot system:
Preview for future posts: although the architecture seems linear, Copilot can decide to make multiple queries to the data sources, based on the user's prompt and previous results.
Almost every step in this process is protected by AI firewalls to make sure the user doesn't abuse Copilot. Here are some examples of what these measures protect from:
One of Copilot's best capabilities is to base its answers on data from the Microsoft ecosystem. This advanced search capability is done using a technic called semantic indexing. Semantic indexing utilizes AI to create vector embeddings of data, capturing the semantics rather than relying on keyword matching.
Analyzing the relationships and context within documents, emails, and chats, enables Copilot to perform highly relevant, context-aware searches. This approach ensures that search results are grounded in the meaning and context of the data, providing more accurate and useful responses.
In addition to searching over organizational data, Copilot can search the web for current information. Searching the web is a feature that can be enabled by admins at the tenant level and by users in each conversation.
Copilot uses Bing to search for results, but it does not crawl the websites that come up in the results. This means that only websites that were indexed by Bing are shown, and the fetched data is based on Bing's index, and not the current content of the website. The reason for this behavior is to prevent data exfiltration attacks through Copilot.
Results from the web search are referenced in Copilot's response:
So far we've talked about Copilot capabilities within the Microsoft ecosystem. Microsoft provides a set of tools and options to extend and customize Copilot (for example to work with data outside of the Microsoft ecosystem). There are multiple ways to extend Copilot - in-house development or from a third-party vendor, developed using pro-code or low-code.
Plugins can be enabled or disabled by the user in each conversation.
There are a lot of plugins Copilot can use when processing the prompt, so how does it choose the right one? The Copilot orchestrator to the rescue.
When creating a plugin, the plugin author needs to specify a comprehensive description for the plugin, and descriptions for each of the plugin's functions, inputs, and outputs. Copilot will choose the right plugins based on these descriptions.
Copilot is a complex system, that is integrated with the entire organization ecosystem, and as such it needs to be protected. Microsoft provides a set of security and privacy controls to help organizations use Copilot safely. Here are the main ones:
While these security features provide a certain level of control, they are basic and point to gaps that we’ll show in our following blogs.
Internet browsing for AI agents leads to 0click compromise but these mitigations can help
Guiding threat simulation and defense for Copilots and Agents
10 free, open-source tools to help security teams to identify and understand immediate risks
Assess Your Risk