GCP Vertex AI Publisher Model Config Modified
Detects changes to Vertex AI publisher model configuration via SetPublisherModelConfig (for example enabling or retargeting prompt/response BigQuery logging). Unexpected config changes can disable security-relevant logging or redirect logs.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2026/10/02"
3integration = ["gcp_vertexai"]
4maturity = "production"
5updated_date = "2026/10/02"
6
7[rule]
8author = ["Elastic"]
9description = """
10Detects changes to Vertex AI publisher model configuration via SetPublisherModelConfig (for example enabling or
11retargeting prompt/response BigQuery logging). Unexpected config changes can disable security-relevant logging or
12redirect logs.
13"""
14false_positives = [
15 """
16 Approved platform engineering changes that update publisher logging destinations. Confirm the actor and change
17 ticket.
18 """,
19]
20from = "now-60m"
21interval = "10m"
22language = "esql"
23license = "Elastic License v2"
24name = "GCP Vertex AI Publisher Model Config Modified"
25note = """## Triage and analysis
26
27### Investigating GCP Vertex AI Publisher Model Config Modified
28
29Someone called `SetPublisherModelConfig` on a publisher model. That API can enable, disable, or
30retarget prompt/response BigQuery logging and related publisher settings. Unexpected changes can
31blind detection (logging off or redirected) or move sensitive prompt data to an unapproved sink.
32
33#### Possible investigation steps
34
35- Note `@timestamp`, `event.action`, `source.ip`, `client.user.email`,
36 `gcp.vertexai.audit.resource_name`, and `user_agent.original` on the alert.
37- Confirm the actor is an approved platform owner. Check change tickets / IaC pipelines for a
38 matching change.
39- In GCP, verify the publisher model config still points at the expected BigQuery dataset/table and
40 sampling rate.
41- Compare `prompt_response_logs` volume before and after the change for gaps or a sudden destination
42 shift.
43- Hunt for other privilege or config changes by the same principal around the same time.
44
45### False positive analysis
46
47- Approved platform engineering work that enables or retargets logging. Validate with the change
48 ticket and expected actor/IP before escalating.
49
50### Response and remediation
51
52- Revert unauthorized config to the last known-good logging destination and sampling settings.
53- Restrict IAM who can call `SetPublisherModelConfig`; rotate credentials for the actor if
54 compromise is suspected.
55"""
56references = [
57 "https://www.elastic.co/docs/reference/integrations/gcp_vertexai",
58 "https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/request-response-logging",
59]
60risk_score = 47
61rule_id = "6987cc9a-1f4c-47ae-9bfe-50190a2c5683"
62setup = """## Setup
63
64Requires GCP Vertex AI `auditlogs` via Pub/Sub sink for `aiplatform.googleapis.com`.
65"""
66severity = "medium"
67tags = [
68 "Domain: GenAI",
69 "Domain: Cloud",
70 "Data Source: GCP Vertex AI",
71 "Data Source: GCP",
72 "Data Source: Google Cloud Platform",
73 "Platform: GCP",
74 "Service: GCP Vertex AI",
75 "Use Case: Threat Detection",
76 "Tactic: Defense Evasion",
77 "Threat: Unauthorized AI Usage",
78 "Mitre Atlas: AML.T0015",
79 "Resources: Investigation Guide",
80 "Rule Type: ES|QL",
81]
82timestamp_override = "event.ingested"
83type = "esql"
84
85query = '''
86from logs-gcp_vertexai.auditlogs-* metadata _id, _version, _index
87| where
88 data_stream.dataset == "gcp_vertexai.auditlogs" and
89 event.action like "*SetPublisherModelConfig*" and
90 (gcp.vertexai.audit.status.code is null or gcp.vertexai.audit.status.code == 0)
91| keep
92 _id,
93 _version,
94 _index,
95 @timestamp,
96 event.action,
97 cloud.project.id,
98 source.ip,
99 gcp.vertexai.audit.service_name,
100 gcp.vertexai.audit.resource_name,
101 client.user.email,
102 user_agent.original
103'''
104
105
106[[rule.threat]]
107framework = "MITRE ATT&CK"
108[[rule.threat.technique]]
109id = "T1562"
110name = "Impair Defenses"
111reference = "https://attack.mitre.org/techniques/T1562/"
112[[rule.threat.technique.subtechnique]]
113id = "T1562.008"
114name = "Disable or Modify Cloud Logs"
115reference = "https://attack.mitre.org/techniques/T1562/008/"
116
117
118
119[rule.threat.tactic]
120id = "TA0005"
121name = "Defense Evasion"
122reference = "https://attack.mitre.org/tactics/TA0005/"
123[[rule.threat_mappings]]
124framework = "MITRE ATLAS"
125version = "2026.08"
126[[rule.threat_mappings.threat]]
127framework = "MITRE ATLAS"
128[[rule.threat_mappings.threat.technique]]
129id = "AML.T0015"
130name = "Evade AI Model"
131reference = "https://atlas.mitre.org/techniques/AML.T0015/"
132
133
134[rule.threat_mappings.threat.tactic]
135id = "AML.TA0007"
136name = "Defense Evasion"
137reference = "https://atlas.mitre.org/tactics/AML.TA0007/"
138
139[rule.investigation_fields]
140field_names = [
141 "event.action",
142 "cloud.project.id",
143 "source.ip",
144 "gcp.vertexai.audit.service_name",
145 "gcp.vertexai.audit.resource_name",
146 "client.user.email",
147 "user_agent.original",
148]
Triage and analysis
Investigating GCP Vertex AI Publisher Model Config Modified
Someone called SetPublisherModelConfig on a publisher model. That API can enable, disable, or
retarget prompt/response BigQuery logging and related publisher settings. Unexpected changes can
blind detection (logging off or redirected) or move sensitive prompt data to an unapproved sink.
Possible investigation steps
- Note
@timestamp,event.action,source.ip,client.user.email,gcp.vertexai.audit.resource_name, anduser_agent.originalon the alert. - Confirm the actor is an approved platform owner. Check change tickets / IaC pipelines for a matching change.
- In GCP, verify the publisher model config still points at the expected BigQuery dataset/table and sampling rate.
- Compare
prompt_response_logsvolume before and after the change for gaps or a sudden destination shift. - Hunt for other privilege or config changes by the same principal around the same time.
False positive analysis
- Approved platform engineering work that enables or retargets logging. Validate with the change ticket and expected actor/IP before escalating.
Response and remediation
- Revert unauthorized config to the last known-good logging destination and sampling settings.
- Restrict IAM who can call
SetPublisherModelConfig; rotate credentials for the actor if compromise is suspected.
References
Related rules
- GCP Vertex AI Safety Filters Set to BLOCK_NONE
- GCP Vertex AI Elevated Safety Rating on Response
- GCP Vertex AI Jailbreak Prompt Heuristics
- GCP Vertex AI Repeated Assistant Refusals
- GCP Vertex AI Response Blocked by Safety Filters