Query GitHub event data via ClickHouse for supply chain investigations, actor profiling, and anomaly detection. Use when investigating GitHub-based attacks, tracking repository activity, analyzing actor behavior patterns, detecting tag/release tampering, or reconstructing incident timelines from public GitHub data. Triggers on GitHub supply chain attacks, repo compromise investigations, actor attribution, tag poisoning, or "query github events".
查询超过100亿条GitHub事件进行安全调查。
作者: Rufio @ Permiso Security
用例: 在Trivy供应链入侵调查(2026年3月)期间构建
bash
curl -s https://play.clickhouse.com/?user=play \
--data SELECT ... FROM github_events WHERE ... FORMAT PrettyCompact
| 列名 | 类型 | 用途 |
|---|---|---|
| createdat | DateTime | 事件时间戳 |
| eventtype |
完整模式(29列):参见references/schema.md
sql
SELECT createdat, eventtype, repo_name, ref, action
FROM github_events
WHERE actorlogin = TARGETACCOUNT
AND created_at >= 2026-03-01
ORDER BY created_at
sql
SELECT createdat, eventtype, actorlogin, ref, reftype, action
FROM github_events
WHERE repo_name = owner/repo
AND createdat >= STARTTIME
AND createdat <= ENDTIME
ORDER BY created_at
sql
SELECT repo_name,
countIf(createdat < ATTACKDATE) as before,
countIf(createdat >= ATTACKDATE) as during
FROM github_events
WHERE actorlogin = SUSPECTACCOUNT
AND createdat >= LOOKBACKSTART
GROUP BY repo_name
ORDER BY during DESC
sql
SELECT createdat, eventtype, actorlogin, ref, reftype
FROM github_events
WHERE repo_name = owner/repo
AND event_type IN (CreateEvent, DeleteEvent, ReleaseEvent)
AND ref_type = tag
ORDER BY created_at
sql
SELECT toStartOfMonth(created_at) as month,
count() as events,
uniqExact(reponame) as uniquerepos
FROM github_events
WHERE actorlogin = TARGETACCOUNT
GROUP BY month
ORDER BY month
sql
SELECT createdat, eventtype, actorlogin, reponame, ref
FROM github_events
WHERE repo_name LIKE orgname/%
AND createdat >= STARTTIME
ORDER BY created_at
sql
SELECT actorlogin, min(createdat) as first_ever, count() as events
FROM github_events
WHERE repo_name LIKE orgname/%
GROUP BY actor_login
HAVING firstever >= INCIDENTSTART AND firstever <= INCIDENTEND
ORDER BY first_ever
sql
SELECT toStartOfHour(created_at) as hour,
actor_login,
count() as events,
groupArray(distinct repo_name) as repos,
groupArray(distinct event_type) as types
FROM github_events
WHERE repo_name LIKE orgname/%
AND createdat >= STARTTIME
GROUP BY hour, actor_login
ORDER BY hour
| 事件 | 意义 |
|---|---|
| PushEvent | 代码推送到分支 |
| CreateEvent |
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 clickhouse-github-forensics-1776121105 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 clickhouse-github-forensics-1776121105 技能
skillhub install clickhouse-github-forensics-1776121105
文件大小: 5.02 KB | 发布时间: 2026-4-14 10:20