| ID | Technique | Tactic |
|---|
Detection: Cisco AI Defense Allowed Sensitive Prompt
Description
Detects Cisco AI Defense prompt events that were allowed and matched a privacy guardrail for personally identifiable information or payment card data. These events may indicate that sensitive information was submitted to an AI application and should be reviewed against the organization's data handling policy.
Search
1`cisco_ai_defense`
2event_action="allow"
3event_message_type="prompt"
4
5
6| eval guardrail_ruleset_type=mvjoin('event_policy_guardrail_assocs{}.policy_guardrail_assoc.guardrail_avail_ruleset.guardrail_ruleset_type', ", "),
7
8 guardrail_entity_name=mvjoin('event_policy_guardrail_assocs{}.policy_guardrail_assoc.guardrail_avail_entity.guardrail_entity_name', ", "),
9
10 application_name=if(isnotnull('genai_application.application_name') AND len(trim('genai_application.application_name'))>0, 'genai_application.application_name', "unknown"),
11
12 connection_name=if(isnotnull('connection.connection_name') AND len(trim('connection.connection_name'))>0, 'connection.connection_name', "unknown"),
13
14 application_key=if(isnotnull(application_id) AND len(trim(application_id))>0, application_id, application_name),
15
16 connection_key=if(isnotnull(connection_id) AND len(trim(connection_id))>0, connection_id, connection_name),
17
18 policy_name='policy.policy_name',
19
20 event_time=_time
21
22
23| where mvfind('event_policy_guardrail_assocs{}.policy_guardrail_assoc.guardrail_avail_ruleset.guardrail_ruleset_type', "(?i)\\bPII\\b
24|personally identifiable information
25|\\bPCI\\b
26|payment card industry")>=0
27
28
29| bin _time span=10m
30
31
32| stats count as event_count
33 dc(event_id) as distinct_event_count
34 min(event_time) as firstTime
35 max(event_time) as lastTime
36 values(event_id) as event_ids
37 values(guardrail_ruleset_type) as guardrail_ruleset_types
38 values(guardrail_entity_name) as guardrail_entity_names
39 values(policy_name) as policy_names
40 values(application_name) as application_names
41 values(connection_name) as connection_names
42 by _time application_key connection_key
43
44
45| `security_content_ctime(firstTime)`
46
47| `security_content_ctime(lastTime)`
48
49
50| table _time firstTime lastTime application_key application_names connection_key connection_names
51 distinct_event_count event_count event_ids guardrail_ruleset_types guardrail_entity_names policy_names
52
53
54| `cisco_ai_defense_allowed_sensitive_prompt_filter`
Data Source
| Name | Platform | Sourcetype | Source |
|---|---|---|---|
| Cisco AI Defense Alerts | Other | 'cisco:ai:defense' |
'not_applicable' |
Macros Used
| Name | Value |
|---|---|
| security_content_ctime | convert timeformat="%Y-%m-%dT%H:%M:%S" ctime($field$) |
| cisco_ai_defense_allowed_sensitive_prompt_filter | search * |
cisco_ai_defense_allowed_sensitive_prompt_filter is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
Default Configuration
This detection is configured by default in Splunk Enterprise Security to run with the following settings:
| Setting | Value |
|---|---|
| Disabled | true |
| Cron Schedule | 0 * * * * |
| Earliest Time | -70m@m |
| Latest Time | -10m@m |
| Schedule Window | auto |
| Creates Finding (Notable) | Yes |
| Rule Title | %name% |
| Rule Description | %description% |
| Notable Event Fields | user, dest |
| Creates Intermediate Finding (Risk Event) | No |
Implementation
Install and configure the Cisco Security Cloud app to ingest Cisco AI Defense alerts into Splunk with the cisco:ai:defense sourcetype. Confirm that extraction is enabled for the required fields as shown in the detection search. Configure the "cisco_ai_defense" macro to match the index, source, and sourcetype used in your environment. The search groups matching prompt events by application and connection in ten-minute windows to reduce duplicate findings.
Known False Positives
Authorized testing, demonstrations, synthetic data, or approved workflows may submit content that matches PII or PCI guardrails. Review the application, connection, policy, guardrail entity, and data handling requirements before treating an event as a policy violation.
Associated Analytic Story
Finding
| Title | Entity Field | Entity Type | Risk Score |
|---|---|---|---|
| Cisco AI Defense allowed [$distinct_event_count$] sensitive prompt event(s) for application [$application_names$] and connection [$connection_names$] matched guardrail(s) [$guardrail_ruleset_types$]. | application_key | other | 50 |
Detection Testing
| Test Type | Status | Dataset | Source | Sourcetype |
|---|---|---|---|---|
| Validation | ✅ Passing | N/A | N/A | N/A |
| Unit | ✅ Passing | Dataset | not_applicable |
cisco:ai:defense |
| Integration | ✅ Passing | Dataset | not_applicable |
cisco:ai:defense |
Replay any dataset to Splunk Enterprise by using our replay.py tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
Source: GitHub |
Version: 1