Google Workspace Object Copied from External Drive with App Consent
Detects when a Workspace user copies a document, spreadsheet, form, or script from an external Drive into their My Drive and, within minutes from the same IP, authorizes a custom web OAuth client that requests an…
Description
Detects when a Workspace user copies a document, spreadsheet, form, or script from an external Drive into their My Drive and, within minutes from the same IP, authorizes a custom web OAuth client that requests an Apps Script scope. `script.container` is the container sidebar or dialog. The check also matches any other `script.*` scope, a `*.currentonly` scope, or a scope containing `scripts` or `container`. Adversaries send spearphishing links with a /copy URI parameter so the victim replicates a malicious object locally. Google names that replica with a "Copy of " prefix. The copy is performed by a domain user rather than a collaborator account, and the consent is not a known Google first-party client.
Detection logic
Its licence does not clear it for publishing here
Sunturai publishes a detection's own text where the licence it arrived under has been reviewed and permits it, and Elastic License 2.0 has not. The query as its source wrote it, its canonical form and the hash that pins this revision are in the workspace record.
Detection requirements
- Platform
- ContainersESXiIaaSIdentity ProviderLinuxmacOSNetwork DevicesOffice SuiteSaaSWindows
The rule states no platform. This is derived from the 3 ATT&CK techniques it maps to.
- Log source category
- event_index
Known benign triggers
- A user may copy a public template that uses a container-bound script and consent to that add-on within three minutes from the same IP. Confirm the OAuth client with the template owner before treating the grant as malicious.
- The copied-title check looks for the English text "Copy of ". Workspace locales that translate that prefix will not match.
MITRE ATT&CK mappings
0 exclusive techniques.This is coverage no other published rule has; it is not this rule's total technique count.
References
| Reference | Cited by |
|---|---|
| developers.google.com/apps-script/guides/bound | 2 |
| developers.google.com/identity/protocols/oauth2 | 2 |
| support.google.com/a/users/answer/13004165#share_make_a_copy_links | Only this detection cites it |
| www.elastic.co/security-labs/google-workspace-attack-surface-part-one | 28 |
| www.elastic.co/security-labs/google-workspace-attack-surface-part-two | 24 |
From the source
- At source
- Open at source
- Upstream identifier
- f33e68a4-bd19-11ed-b02f-f661ea17fbcc
- Tagged by the source as
- Data Source: Google WorkspaceData Source: Google Workspace Audit LogsDomain: CloudDomain: SaaSNoise: LowPerformance: FastPlatform: Google WorkspaceProfile: RecommendedResources: Investigation GuideRule Type: Event Correlation (EQL)Tactic: ExecutionTactic: Initial AccessTactic: PersistenceThreat: OAuth App Consent
Licence
- Published under
- Elastic License 2.0Read the licence
- Attribution
- Required
Authorship
- Written by
- Published
- Sep 29, 2026
- Version
- 4