Sdílet prostřednictvím


AIAgentsInfo (Preview)

Důležité

Některé informace se týkají předprodeje produktu, který může být před komerčním vydáním podstatně změněn. Společnost Microsoft neposkytuje v souvislosti se zde uvedenými informacemi žádné výslovné ani předpokládané záruky.

Tabulka AIAgentsInfo ve schématu rozšířeného proaktivního vyhledávání obsahuje informace o různých entitách – souborech, IP adresách, adresách URL, uživatelích nebo zařízeních – spojených s upozorněními z Microsoft Defender for Endpoint Microsoft Defender pro Office 365. Microsoft Defender for Cloud Apps a Microsoft Defender for Identity. Tento odkaz slouží k vytvoření dotazů, které vracejí informace z této tabulky.

Tato pokročilá tabulka proaktivního vyhledávání je naplněná záznamy z různých Microsoft Defender služeb. Pokud vaše organizace nenasadí službu v Microsoft Defender XDR, dotazy, které používají tabulku, nefungují nebo nevrací žádné výsledky. Další informace o nasazení služeb v Microsoft Defender XDR najdete v tématu Nasazení podporovaných služeb.

Informace o dalších tabulkách ve schématu rozšířeného proaktivního vyhledávání najdete v referenčních informacích k rozšířenému proaktivnímu vyhledávání.

Název sloupce Datový typ Popis
Timestamp datetime Poslední datum a čas zaznamenaný pro informace o agentech
AIAgentId guid Jedinečný identifikátor agenta přiřazeného v Microsoft 365 Copilot nebo Copilot Studio
AIAgentName string Zobrazovaný název agenta
AgentCreationTime datetime Datum a čas vytvoření agenta
CreatorAccountUpn string Hlavní název uživatele (UPN) účtu, který vytvořil agenta
OwnerAccountUpns string Hlavní názvy uživatelů (UPN) všech vlastníků agenta
LastModifiedByUpn string Hlavní název uživatele (UPN) účtu, který naposledy změnil tohoto agenta
LastModifiedTime datetime Datum a čas poslední změny agenta
LastPublishedTime datetime Datum a čas posledního publikování agenta
LastPublishedByUpn string Hlavní název uživatele (UPN) účtu, který naposledy publikoval agenta
AgentDescription string Popis agenta zobrazený ve zdroji agenta
AgentStatus string Stav agenta; možné hodnoty: Vytvořeno, Publikováno, Odstraněno
UserAuthenticationType string Nakonfigurovaný typ ověřování agenta pro uživatele, kteří s agentem pracují; možné hodnoty: None, Microsoft, Custom
AgentUsers string Seznam hlavních názvů uživatelů (UPN) nebo ID skupin, které můžou používat agenta
KnowledgeDetails string Podrobnosti o zdrojích znalostí přidaných do agenta
AgentActionTriggers string Seznam triggerů, které umožňují, aby autonomní agent podnikl akci
RawAgentInfo string Obsah nezpracovaného kódu JSON, který popisuje agenta a obsahuje podrobnosti o konfiguraci přijaté od poskytovatele
AuthenticationTrigger string Označuje, kdy je pro agenta aktivováno ověřování; možné hodnoty: Podle potřeby, Vždy
AccessControlPolicy string Uživatelé, kteří můžou s agentem pracovat; možné hodnoty: Any, Copilot readers, Group membership, Any (víceklientská)
AuthorizedSecurityGroupIds dynamic Seznam Azure ID skupin služby Active Directory, které mají povolenou interakci s agentem
AgentTopicsDetails dynamic Specifikace témat, která může agent provádět
AgentToolsDetails dynamic Specifikace nástrojů, ke kterým má agent přístup a s kterými může provádět akce
EnvironmentId string Identifikátor prostředí Microsoft Power Platform, ve kterém se agent nachází
Platform string Platforma, která poskytovala informace o agentech; možné hodnoty: Copilot Studio
IsGenerativeOrchestrationEnabled boolean ndikuje, jestli agent používá k provozu generativní orchestraci (to znamená, že dynamicky vybírá nástroje, znalosti a akce na základě kontextu).
AgentAppId string Jedinečný identifikátor aplikace zaregistrovaný pro agenta v Microsoft Entra
ConnectedAgentsSchemaNames dynamic Zobrazí seznam názvů schémat připojených agentů, což jsou nezávisle spravovaní agenti, kteří jsou propojeni s hlavním agentem pro orchestraci.
ChildAgentsSchemaNames dynamic Vypíše názvy schémat podřízených agentů, které existují v rámci hlavního agenta.

Ukázkové dotazy

Agent bez ověřování

Je důležité identifikovat agenty, kteří nemají mechanismy ověřování, protože tito agenti můžou kvůli své veřejné dostupnosti představovat pro organizaci významná rizika. Organizace by o těchto agentech měly vědět, aby mohly řešit případné problémy.

Doporučení:

  • Ověřte případ použití agenta u vlastníka a zjistěte, jestli je určený pro veřejný přístup.
  • Projděte si témata, akce a zdroje znalostí a ujistěte se, že neobsahují žádné interní nebo citlivé informace.
 AIAgentsInfo
| summarize arg_max(Timestamp, *) by AIAgentId
| where AgentStatus != "Deleted" 
| where UserAuthenticationType == "None"
| project-reorder AgentCreationTime ,AIAgentId, AIAgentName, AgentStatus, CreatorAccountUpn, OwnerAccountUpns

Podezřelý požadavek HTTP na nestandardní port

Identifikujte agenty, kteří používají akce HTTP na jiných portech než 443 nebo 80.

Doporučení:

  • Ověřte u vlastníka agenta, jestli je to nutné, a zjistěte konkrétní obchodní případ použití.
AIAgentsInfo
// Find agents with topic that contains Http request action to non 443 port
| summarize arg_max(Timestamp, *) by AIAgentId
| where AgentStatus != "Deleted"
| mvexpand Topic = AgentTopicsDetails
| where Topic has "HttpRequestAction"
| extend TopicActions = Topic.beginDialog.actions
| mvexpand action = TopicActions
| where action['$kind'] == "HttpRequestAction"
| extend Url = tostring(action.url.literalValue)
| extend ParsedUrl = parse_url(Url)
| extend Port = tostring(ParsedUrl["Port"])
| where isnotempty(Port) and Port != 443
| project-reorder AgentCreationTime ,AIAgentId, AIAgentName, ParsedUrl ,Url, Port, AgentStatus, CreatorAccountUpn, OwnerAccountUpns, Topic

Podezřelý požadavek HTTP na koncový bod konektoru

Identifikujte agenty, kteří používají akce HTTP na koncový bod s dostupným konektorem Power Platform.

Doporučení:

  • Ověřte u vlastníka agenta, jestli je to nutné, a zeptejte se na obchodní případ použití. Zvažte místo toho použití konektoru.
AIAgentsInfo
// Find agents with topic that contains Http request to endpoint with built-in connector
| summarize arg_max(Timestamp, *) by AIAgentId
| where AgentStatus != "Deleted"
| mvexpand Topic = AgentTopicsDetails
| where Topic has "HttpRequestAction"
| extend TopicActions = Topic.beginDialog.actions
| mvexpand action = TopicActions
| where action['$kind'] == "HttpRequestAction"
| extend Url = tostring(action.url.literalValue)
| extend ParsedUrl = parse_url(Url)
| extend Host = tostring(ParsedUrl["Host"])
| where Host has_any("graph.microsoft.com", "management.azure.com")
| project-reorder AgentCreationTime ,AIAgentId, AIAgentName, ParsedUrl ,Url, Host, AgentStatus, CreatorAccountUpn, OwnerAccountUpns, Topic

Odesílání e-mailů vstupním hodnotám řízeným AI

Identifikujte agenty, kteří používají generativní orchestraci, která zahrnuje odesílání e-mailových nástrojů prostřednictvím Outlooku, a vstupní hodnoty akcí jsou naplněny generativním orchestrátorem. Toto nastavení je riskantní, protože při úspěšném útoku XPIA lze agenta použít k úniku dat libovolným příjemcům.

Doporučení:

  • Ověřte u vlastníka agenta, jestli je to nutné, a zjistěte, co se týká obchodního použití. Pokud je to možné, pevně zakódujte příjemce e-mailu do akce.
AIAgentsInfo
//Find agents with email sending tool via microsoft 365 connector, where the input //parameters of the inputs are populated by generative orchestrator
| summarize arg_max(Timestamp, *) by AIAgentId
| where AgentStatus != "Deleted"
| extend IsGenAIOrchestrator = tostring(todynamic(RawAgentInfo).Bot.Attributes.configuration) has '"GenerativeActionsEnabled": true'
| where IsGenAIOrchestrator
| mvexpand Action = AgentToolsDetails
| extend  OperationId = tostring(Action.action.operationId), ActionName = tostring(Action.modelDisplayName), Action
| where OperationId == "SendEmailV2" 
| where isempty(Action.inputs) //All inputs are populated by Orchestrator
| project-reorder AgentCreationTime ,AIAgentId, AIAgentName, AgentStatus, CreatorAccountUpn, OwnerAccountUpns, ActionName

Pevně zakódované přihlašovací údaje v tématech nebo akcích

Agenti s pevně zakódovanými přihlašovacími údaji v tématech nebo akcích můžou zpřístupnit nezamýšlené entity přihlašovací údaje ve formátu nešiřovaného textu.

Doporučení:

  • Zvažte zachování přihlašovacích údajů v Azure Key Vault a jejich načtení za běhu pomocí proměnných prostředí (použití proměnných prostředí pro Azure Key Vault tajných kódů – Power Apps | Microsoft Learn)
  • Pokud to není možné, ujistěte se, že jsou povolené možnosti zabezpečeného vstupu (Správa citlivých vstupů, jako jsou hesla, ve službě Power Automate – Power Automate | Microsoft Learn).
//Find Agents with hard-coded credentials in Topics or Actions can expose clear-text credentials to unintended entities. 
let suspicious_patterns = @"(AKIA[0-9A-Z]{16})|(AIza[0-9A-Za-z_\-]{35})|(xox[baprs]-[0-9a-zA-Z]{10,48})|(ghp_[A-Za-z0-9]{36,59})|(sk_(live|test)_[A-Za-z0-9]{24})|(SG\.[A-Za-z0-9]{22}\.[A-Za-z0-9]{43})|(\d{8}:[\w\-]{35})|(eyJ[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+)|(Authorization\s*:\s*Basic\s+[A-Za-z0-9=:+]+)|([A-Za-z]+:\/\/[^\/\s]+:[^\/\s]+@[^\/\s]+)";
AIAgentsInfo
| summarize arg_max(Timestamp, *) by AIAgentId 
| where AgentStatus != "Deleted" 
| mv-expand tool = AgentToolsDetails
| mv-expand topic = AgentTopicsDetails
| where isnotempty(tool) and isnotempty(topic)
| where tool matches regex suspicious_patterns or topic matches regex suspicious_patterns
| extend SuspiciousMatchTool = tool, SuspiciousMatchTopic = topic
| project-reorder AgentCreationTime ,AIAgentId, AIAgentName, AgentStatus, CreatorAccountUpn, OwnerAccountUpns, SuspiciousMatchTool, SuspiciousMatchTopic

Agenti s nakonfigurovaným nástrojem MCP

Vyhledejte agenty pomocí nakonfigurovaného nástroje MCP.

Doporučení:

  • Ověřte u vlastníka agenta, jestli je nástroj MCP stále potřeba. V opačném případě zvažte jeho odebrání, abyste zmírnili potenciální rizika.
//Find agents with MCP tool configured
AIAgentsInfo
| summarize arg_max(Timestamp, *) by AIAgentId
| where AgentStatus != "Deleted"
| mvexpand Action = AgentToolsDetails
| where  Action.action.operationDetails["$kind"] == "ModelContextProtocolMetadata"
| extend MCPName = Action.action.operationDetails["operationId"]
| summarize MCPTools = make_set(MCPName) by AIAgentName, AIAgentId, EnvironmentId, CreatorAccountUpn

Tip

Chcete se dozvědět více? Spojte se s komunitou zabezpečení společnosti Microsoft v naší technické komunitě: Technická komunita Microsoft Defender XDR.