Dropbox Many Downloads
Description
Detects when a Dropbox user downloads more than 10 distinct files within 60 minutes. This may indicate data exfiltration or unauthorized bulk access to team files. The threshold should be tuned to your environment.
Query · python
def rule(event):
return event.deep_get("event_type", "_tag", default="") == "file_download"
def title(event):
user = event.deep_get("actor", "user", "email", default="<UNKNOWN_USER>")
return f"Dropbox: User [{user}] downloaded many files"
def dedup(event):
return event.deep_get("actor", "user", "email", default="")
def unique(event):
assets = event.get("assets", [])
if assets:
return assets[0].get("path", {}).get("contextual") or None
return None
def severity(event):
if event.get("involve_non_team_member", False):
return "HIGH"
return "DEFAULT"
def alert_context(event):
assets = event.get("assets", [])
file_path = assets[0].get("path", {}).get("contextual", "") if assets else ""
return {
"user": event.deep_get("actor", "user", "email"),
"file_path": file_path,
"involve_non_team_member": event.get("involve_non_team_member"),
"ip_address": event.deep_get("origin", "geo_location", "ip_address"),
}
Analyst notes
- Query Dropbox.TeamEvent for all file_download events by actor:user:email in the 2 hours around this alert to identify the full list of assets[0]:path:contextual values downloaded
- Check involve_non_team_member and the origin:geo_location:ip_address to determine if the downloads originated from an external user or an unexpected location
- Search for other suspicious activity by this user in the past 24 hours, including external sharing events, ownership transfers, or logins from new devices or locations