OpenAI ChatGPT Enterprise Custom Agent Published
editOpenAI ChatGPT Enterprise Custom Agent Published
editDetects ChatGPT Enterprise custom-agent publish events (agent_published). Publishing an agent with connectors, skills, or store visibility can establish durable automation and broaden data access beyond the original user.
Rule type: esql
Rule indices: None
Severity: medium
Risk score: 47
Runs every: 5m
Searches indices from: now-9m (Date Math format, see also Additional look-back time)
Maximum alerts per execution: 100
References:
Tags:
- Domain: GenAI
- Platform: OpenAI
- Data Source: OpenAI ChatGPT Enterprise
- Service: OpenAI ChatGPT Enterprise
- Use Case: Threat Detection
- Resources: Investigation Guide
- Rule Type: ES|QL
- Tactic: Persistence
- Mitre Atlas: AML.T0081
Version: 1
Rule authors:
- Elastic
Rule license: Elastic License v2
Investigation guide
editTriage and analysis
Investigating OpenAI ChatGPT Enterprise Custom Agent Published
A custom agent was published. Published agents with connectors, skills, and store visibility can establish durable automation and broaden data access.
Escalate when visibility is broader than expected, connectors are sensitive, or the publisher is not authorized to release agents. Close as a false positive for approved platform rollouts.
Possible investigation steps
- Identify the actor and agent identifiers on the alert.
- Review connectors, skills, store visibility, and any release notes or description fields.
- Confirm whether publication matches an approved change request.
- Look for related trigger creation or OAuth link events from the same actor.
False positive analysis
- Platform teams publish approved custom agents during controlled workspace rollouts.
Response and remediation
- Unpublish or delete unauthorized agents and revoke connected OAuth links.
- Review recent agent runs if the agent may already have executed.
Setup
editSetup
This rule requires the OpenAI ChatGPT Enterprise integration to collect compliance logs into Elasticsearch.
https://www.elastic.co/docs/reference/integrations/openai_chatgpt_enterprise
Rule query
editfrom logs-openai_chatgpt_enterprise.custom_agents_log-* metadata _id, _version, _index
| where
data_stream.dataset == "openai_chatgpt_enterprise.custom_agents_log" and
event.action == "agent_published"
| keep
_id, _version, _index, @timestamp, event.action, user.id, user.email,
gen_ai.agent.id,
openai_chatgpt_enterprise.custom_agents_log.client_id,
openai_chatgpt_enterprise.custom_agents_log.event_details.publish_type,
openai_chatgpt_enterprise.custom_agents_log.event_details.release_name,
openai_chatgpt_enterprise.custom_agents_log.event_details.agent_fields.store_visible,
openai_chatgpt_enterprise.custom_agents_log.event_details.agent_fields.workspace_capability,
data_stream.*
Framework: MITRE ATT&CKTM
-
Tactic:
- Name: Persistence
- ID: TA0003
- Reference URL: https://attack.mitre.org/tactics/TA0003/
-
Technique:
- Name: Software Extensions
- ID: T1176
- Reference URL: https://attack.mitre.org/techniques/T1176/