台灣新聞社群媒體情報工作流程
跨平台監測、敘事追蹤、調查協同操作之系統性方法,並依台灣社群生態與法律框架在地化。
與
source-verification-tw互補:
source-verification-tw:單一帳號或內容之真偽驗證(SIFT、反向圖搜、C2PA、深偽偵測)social-media-intelligence-tw:多帳號、多平台之模式偵測(協同操作、敘事追蹤、影響力作戰)偵測單一帳號偽造 → 用
source-verification-tw;偵測 100 個帳號協同行為 → 用本 skill。
何時使用
- 追蹤一則新聞跨平台之擴散路徑
- 調查可疑之協同無真實性行為(Coordinated Inauthentic Behavior, CIB)
- 突發新聞時跨多個平台即時監測
- 分析帳號網絡與關係
- 偵測機器人活動與操弄行動
- 為數位調查建立證據鏈
- 在內容被刪除前封存
使用邊界與 ToS guardrails
- 只處理公開內容或已取得明確授權的資料;私人群組、私訊、封閉社團需先經編輯 / 法務審查。
- 不繞過登入、付費牆、CAPTCHA、robots、速率限制或平台明示禁止的存取方式。
- 優先使用官方 API、研究存取、授權資料商或人工取樣;第三方工具需確認授權與資料來源。
- 本 skill 的 Python 區塊是資料結構與分析模式示例,不是授權爬取任何平台的許可。
- 報告中記錄資料取得方式、時間範圍、平台限制與
last_checked日期。
一、台灣資訊作戰生態速覽
詳細的研究機構介紹見
source-verification-tw§七。本節聚焦方法論。
主要威脅來源(2026 年 5 月)
| 來源 | 特徵 | 主要研究者 |
|---|---|---|
| 中國國家影響力作戰 | AI 生成帳號、GoLaxy 系統、跨平台協同;偽裝台灣居民 | DoubleThink Lab、IORG |
| TikTok 演算法 | 推播偏中政治內容、青少年認知重構 | IORG 2025 報告 |
| WeChat 視頻號 | 台商、新住民社群為入口 | DoubleThink Lab 報告 |
| 選舉期境外干預 | 2024 大選深偽影片、AI 仿聲 | 調查局、台灣事實查核中心 |
| 國內極端立場帳號 | 兩端政治極化、刻意挑釁 | (各家媒體自行監測) |
| 詐騙集團跨境操作 | 假名人投資、假投資 LINE 群 | 165 反詐騙、警政署 |
台灣本地常見敘事戰場
- 兩岸關係:武統威脅、台灣經濟崩盤、美國棄台論
- 健保、年金:制度崩潰、醫療資源不足
- 選舉:候選人黑函、AI 仿聲、政黨內鬥
- 能源:核電、綠能、限電議題
- 移工、移民:族群偏見、犯罪統計操弄
- 食安、健康:中藥治病、疫苗副作用
二、跨平台即時監測
Python/pseudocode:多平台貼文資料結構
from dataclasses import dataclass, field
from datetime import datetime
from typing import List, Optional, Dict
from enum import Enum
import hashlib
class Platform(Enum):
THREADS = "threads"
PTT = "ptt"
DCARD = "dcard"
LINE_OPENCHAT = "line_openchat"
FACEBOOK = "facebook"
INSTAGRAM = "instagram"
YOUTUBE = "youtube"
TIKTOK = "tiktok"
X = "x" # 原 Twitter,2023 改名 X
BLUESKY = "bluesky"
MASTODON = "mastodon"
TELEGRAM = "telegram"
WEIBO = "weibo" # 中國微博
XIAOHONGSHU = "xhs" # 中國小紅書
DOUYIN = "douyin" # 中國抖音
WECHAT = "wechat"
@dataclass
class SocialPost:
platform: Platform
post_id: str
author: str
content: str
timestamp: datetime
url: str
engagement: Dict[str, int] = field(default_factory=dict)
media_urls: List[str] = field(default_factory=list)
archived_urls: List[str] = field(default_factory=list)
content_hash: str = ""
def __post_init__(self):
# 內容 hash 用於重複偵測
self.content_hash = hashlib.md5(
f"{self.platform.value}:{self.content}".encode()
).hexdigest()
@dataclass
class MonitoringQuery:
keywords: List[str]
platforms: List[Platform]
accounts: List[str] = field(default_factory=list)
hashtags: List[str] = field(default_factory=list)
exclude_terms: List[str] = field(default_factory=list)
start_date: Optional[datetime] = None
突發新聞偵測:關鍵字爆量警示
from collections import defaultdict
from datetime import datetime, timedelta
class BreakingNewsDetector:
"""偵測關鍵字提及之突發爆量。"""
def __init__(self, baseline_window_hours: int = 24):
self.baseline_window = timedelta(hours=baseline_window_hours)
self.mention_history = defaultdict(list)
def add_mention(self, keyword: str, timestamp: datetime):
self.mention_history[keyword].append(timestamp)
cutoff = datetime.now() - self.baseline_window * 2
self.mention_history[keyword] = [
t for t in self.mention_history[keyword] if t > cutoff
]
def is_spiking(self, keyword: str, threshold_multiplier: float = 3.0) -> bool:
now = datetime.now()
recent = sum(1 for t in self.mention_history[keyword]
if t > now - timedelta(hours=1))
baseline_hourly = len([
t for t in self.mention_history[keyword]
if t > now - self.baseline_window
]) / self.baseline_window.total_seconds() * 3600
if baseline_hourly == 0:
return recent > 10
return recent > baseline_hourly * threshold_multiplier
台灣場景突發新聞監測建議關鍵字
- 災害:颱風、地震、土石流、淹水、停電
- 重大事件:總統、立法院、行政院、外交、兩岸
- 突發醫療:疫情、食安、藥品回收
- 詐騙趨勢:假投資、假LINE群、假電商
三、台灣社群平台特性(2026 年)
詳細的單一帳號驗證見
source-verification-tw§二。本節聚焦研究存取與監測。
各平台研究存取狀態
平台 API、研究資格、價格與禁止事項高頻變動。使用下表前先查官方 developer docs / ToS / researcher access 頁面,並在報告中註明 last_checked 日期;若無法確認,只做人工觀察或明確標示資料限制。
| 平台 | 研究存取 | 注意事項 |
|---|---|---|
| Threads | Threads API(發布/嵌入);Meta Content Library(研究批次) | 2026 年 3 月公開檔案門檻降至 100 追蹤者;歷史研究需 Meta CL 學術資格 |
| Facebook / Instagram | Meta Content Library(2024/8 取代 CrowdTangle);Junkipedia(免費);NewsWhip(付費) | CrowdTangle 已永久停運;Meta CL 自 2025/12/8 起改由 Meta 直接申請,學術或非營利為主 |
| X (Twitter) | 付費 API(2026/2 改 pay-per-use);Brandwatch / Sprinklr(第三方付費) | 2023 取消免費學術層;禁止 scraping;台灣記者多透過 X Pro Search 或第三方資料商 |
| TikTok | Research API(學術/非營利;EU DSA 第 40 條對 EU 研究者較寬鬆);Exolyt、Pentos(付費) | 台灣記者較難直接取得;IORG 2025 報告經正式申請取得 |
| PTT | 完全開放網頁爬蟲(無需 API);PTT Web、PttPedia | 2026 年仍是台灣記者主要監測對象之一;新註冊 ID 在政治看板發文要警覺;不可錄製內部聊天 |
| Dcard | 無公開 API;禁止商業 scraping(2023 政策更新);需透過官方合作 | 校園、年輕女性議題主場;熱門文章常被搬到其他平台 |
| LINE OpenChat | 無公開 API;手動加入觀察 | LINE 訊息查證官方帳號是查核管道,非監測管道 |
| YouTube | YouTube Data API v3 | 預設每日 10,000 units(約 100 次搜尋);深度研究需申請較高配額 |
| Reddit API(非商業研究免費);Arctic Shift(Pushshift 後繼,免費) | 台灣使用者較少,但台灣相關 subreddit(/r/Taiwan、/r/taiwannews)有時可看 | |
| Bluesky | Jetstream(無需驗證的 filtered JSON);raw firehose | 公開為預設;成本低,適合記者監測 |
| Mastodon / Fediverse | 各 instance 的 public-timeline API;cross-instance search 在 search.noc.social | 台灣使用者少但有,具公民團體聚集 |
| Telegram | Bot API + MTProto + 公開頻道預覽 t.me/s/<channel> |
公開頻道多;私人群組禁止;Bellingcat 工具集(Telegago、Telepathy、TelegramDB) |
| 微博(中國) | API 受限,需中國手機認證 | 境外資訊作戰起點之一;研究時用 VPN 注意法律風險 |
| 小紅書、抖音(中國) | 無公開 API | TikTok 與抖音為同公司不同 app;字節跳動同集團 |
EU DSA 第 40 條對台灣記者的影響
EU DSA 第 40 條允許 EU 研究者強制存取超大型平台之資料。台灣記者非 EU 居民,但可:
- 與EU 大學或研究機構合作(共同申請)
- 跟 IORG、DoubleThink Lab 等已有 EU 合作網絡的機構協同
- 用其已發表之研究結果作為延伸研究起點
台灣特有監測場景
| 場景 | 工具 | 備註 |
|---|---|---|
| LINE 訊息流傳 | LINE 訊息查證 + Cofacts | 被動接收,不是主動監測 |
| PTT 政治板水軍 | PTT Web 爬蟲 + 帳號註冊日查詢 | 新註冊 ID 大量發文是經典訊號 |
| Threads 政治擴散 | Meta Content Library + 手動觀察 | 2024 後成為台灣 Z 世代政治新場域 |
| TikTok 中國 narrative 擴散 | IORG 已發表研究 + 手動取樣 | 個別記者難建立大規模監測;倚賴民間 NGO |
| FB 不實廣告 | Meta 廣告資料庫(facebook.com/ads/library) | 政治廣告必須揭露金主(2018 後規範) |
四、帳號真實性分析
Python/pseudocode:真實性指標
from dataclasses import dataclass, field
from datetime import datetime
from typing import List, Optional
@dataclass
class AccountAnalysis:
username: str
platform: Platform
created_date: Optional[datetime] = None
follower_count: int = 0
following_count: int = 0
post_count: int = 0
# 真實性訊號
profile_photo_is_stock_or_ai: Optional[bool] = None
bio_contains_simplified_chinese: Optional[bool] = None
posts_primarily_reshares: Optional[bool] = None
posting_pattern_beijing_timezone: Optional[bool] = None
engagement_ratio_suspicious: Optional[bool] = None
def calculate_red_flags(self) -> dict:
flags = {}
if self.created_date:
age_days = (datetime.now() - self.created_date).days
if age_days < 30:
flags['new_account'] = f"創立 {age_days} 天"
if self.following_count > 0:
ratio = self.follower_count / self.following_count
if ratio < 0.1:
flags['low_follower_ratio'] = f"比率: {ratio:.2f}"
if self.created_date and self.post_count > 0:
age_days = max(1, (datetime.now() - self.created_date).days)
posts_per_day = self.post_count / age_days
if posts_per_day > 50:
flags['excessive_posting'] = f"{posts_per_day:.0f} 篇/天"
# 台灣特有訊號
if self.profile_photo_is_stock_or_ai:
flags['ai_or_stock_profile'] = "頭貼疑似 AI 生成或 stock photo"
if self.bio_contains_simplified_chinese:
flags['simplified_chinese_in_bio'] = "自介含簡體中文用語"
if self.posting_pattern_beijing_timezone:
flags['beijing_timezone_pattern'] = "發文時間集中於北京時區 (UTC+8 09:00-18:00)"
return flags
def authenticity_score(self) -> int:
score = 100
flags = self.calculate_red_flags()
score -= len(flags) * 20
return max(0, score)
台灣特殊認證考量
- PTT:用
/help或從文章作者點擊看 ID 註冊日;/W看歷史文章/推噓比 - Dcard:看校園認證標記(灰色畢業校徽);無認證者可疑度高
- Threads:看對應 IG 帳號;新 IG + 新 Threads + 大量政治發言警示高
- FB 粉專:看過往粉專名稱變更歷史(粉專可能從不相關主題更名為政治);Meta CL 有此歷史
- YouTube:看頻道創立日 vs 第一支影片日;買來的舊頻道(老創立日 + 短內容歷史)
五、網絡分析
Python/pseudocode:帳號互動網絡
from collections import defaultdict
from typing import Set, Dict, List
class AccountNetwork:
def __init__(self):
self.interactions = defaultdict(lambda: defaultdict(int))
self.accounts = {}
def add_interaction(self, from_account: str, to_account: str,
interaction_type: str = "mention"):
self.interactions[from_account][to_account] += 1
def find_clusters(self, min_interactions: int = 3) -> List[Set[str]]:
"""找頻繁互動之帳號群。"""
adjacency = defaultdict(set)
for from_acc, targets in self.interactions.items():
for to_acc, count in targets.items():
if count >= min_interactions:
adjacency[from_acc].add(to_acc)
adjacency[to_acc].add(from_acc)
visited = set()
clusters = []
for account in adjacency:
if account in visited:
continue
cluster = set()
stack = [account]
while stack:
current = stack.pop()
if current in visited:
continue
visited.add(current)
cluster.add(current)
stack.extend(adjacency[current] - visited)
if len(cluster) > 1:
clusters.append(cluster)
return sorted(clusters, key=len, reverse=True)
def coordination_score(self, accounts: Set[str]) -> float:
"""評估一群帳號的協同程度 (0-1)。"""
if len(accounts) < 2:
return 0.0
total_possible = len(accounts) * (len(accounts) - 1)
actual_connections = 0
for acc in accounts:
for other in accounts:
if acc != other and self.interactions[acc][other] > 0:
actual_connections += 1
return actual_connections / total_possible if total_possible > 0 else 0
視覺化工具
- Gephi(免費,開源)— ICIJ Panama Papers 御用工具
- Maltego CE(社群版免費,需註冊)
- Cytoscape(免費,生物網絡為主但通用)
- NodeXL(Excel 插件,基本版免費)
六、敘事追蹤
Python/pseudocode:主張擴散追蹤
from dataclasses import dataclass, field
from datetime import datetime, timedelta
from typing import List, Dict
from collections import defaultdict
@dataclass
class Claim:
text: str
first_seen: datetime
first_seen_url: str
variations: List[str] = field(default_factory=list)
appearances: List[Dict] = field(default_factory=list)
def add_appearance(self, url: str, platform: Platform,
timestamp: datetime, author: str):
self.appearances.append({
'url': url,
'platform': platform.value,
'timestamp': timestamp,
'author': author
})
def spread_timeline(self) -> List[Dict]:
return sorted(self.appearances, key=lambda x: x['timestamp'])
def platforms_reached(self) -> Dict[str, int]:
counts = defaultdict(int)
for app in self.appearances:
counts[app['platform']] += 1
return dict(counts)
def velocity(self, window_hours: int = 24) -> float:
"""擴散速率:每小時新出現次數。"""
if not self.appearances:
return 0.0
recent = [
a for a in self.appearances
if a['timestamp'] > datetime.now() - timedelta(hours=window_hours)
]
return len(recent) / window_hours
台灣敘事追蹤實務:從 PTT 到 LINE 的擴散鏈
常見台灣假訊息擴散路徑:
[微博 / 抖音 (中國)]
↓
[境外協同帳號:Threads / X]
↓
[台灣早期擴散:PTT 政黑 / 八卦 / 軍事板]
↓
[Threads / FB 二次擴散]
↓
[LINE 群組:長輩、社區、宗教群]
↓
[新聞媒體報導 (記者 LINE 群轉發或攝記分享)]
監測重點:
- 逆向溯源:從 LINE 訊息往回追到最早出現處
- 跨平台時間軸:同一主張在各平台的首次出現順序
- 語言變化:從簡體 → 繁體 + 大陸用語 → 純繁體的清洗過程
七、協同操作偵測
行為訊號 checklist
## 協同無真實性行為 (CIB) 指標
### 時間模式
- [ ] 多帳號於數分鐘內發出相同內容
- [ ] 跨帳號之同步發文時間
- [ ] 爆量活動後突然沈寂
- [ ] 發文間隔短於人類打字速度
### 內容模式
- [ ] 跨帳號相同或近乎相同的文字
- [ ] 相同圖片/影片被多帳號分享
- [ ] 相同錯字、格式錯誤
- [ ] 可見複製貼上痕跡
### 帳號模式
- [ ] 帳號創立時間集中
- [ ] 命名規則相似(姓名 + 數字)
- [ ] 通用或 stock 大頭照(**或 AI 生成寵物照** — GoLaxy 案)
- [ ] 個人內容極少,多為轉發
- [ ] 追蹤同樣帳號
- [ ] 互相互動比例失衡
### 網絡模式
- [ ] 在網絡分析中形成密集叢
- [ ] 放大同樣的外部來源
- [ ] 鎖定同樣的帳號或 hashtag
- [ ] 跨平台協同可見
### 台灣場景特有訊號
- [ ] 自介寫「台灣居民」但用簡中用語(視頻、網絡、賦能、打造)
- [ ] 帳號創立短期內大量政治發文
- [ ] 發文時間集中於 UTC+8 09:00-18:00 (中國辦公時間)
- [ ] 跨平台同一 narrative,字數略異(避過去重複偵測)
- [ ] 同一張(疑似 AI 生成)的人像或寵物照在多帳號出現
結論分級
不要把分數直接寫成「水軍」或「網軍」。先依證據強度分級,並讓被點名帳號或組織有回應機會。
| 等級 | 用語 | 最低證據 |
|---|---|---|
| 1 | 觀察到相似訊號 | 少量帳號、單一平台、尚無明確同步 |
| 2 | 疑似協同 | 多帳號 + 時間 / 內容 / 網絡至少兩類訊號 |
| 3 | 符合協同操作特徵 | 跨平台或多批帳號,方法可重現,有存檔證據 |
| 4 | 可歸因之協同操作 | 具內部文件、資金流、平台下架報告或權威機構確認 |
Python/pseudocode:協同程度評分
from typing import List
def coordination_likelihood(posts: List[SocialPost]) -> dict:
"""評估一組貼文是否為協同活動。"""
if len(posts) < 2:
return {'score': 0, 'signals': []}
signals = []
score = 0
# 內容重複
contents = [p.content for p in posts]
unique_contents = set(contents)
if len(unique_contents) < len(contents) * 0.5:
signals.append("內容大量重複")
score += 30
# 時間集群
timestamps = sorted(p.timestamp for p in posts)
rapid_posts = 0
for i in range(1, len(timestamps)):
if (timestamps[i] - timestamps[i-1]).seconds < 60:
rapid_posts += 1
if rapid_posts > len(posts) * 0.3:
signals.append("可疑時間集群")
score += 25
# 帳號數量 vs 內容相似度
authors = set(p.author for p in posts)
if len(authors) > 5 and len(contents) / len(authors) > 2:
signals.append("少數帳號發出大量相似貼文")
score += 20
return {
'score': min(100, score),
'signals': signals,
'posts_analyzed': len(posts),
'unique_authors': len(authors)
}
台灣協同操作真實案例(GoLaxy 範本)
依 DoubleThink Lab 2024-2025 揭露:
特徵:
- 大量帳號使用 AI 生成寵物照作為頭貼
- 自稱「台灣居民」「台灣愛國者」「關心台灣者」
- 偽裝個人帳號,發表政治見解
- 跨平台(X、Threads、FB)同步活動
- 攻擊目標:特定政治人物、政黨、立場
研究方法(可仿效):
- 大規模帳號採樣:用平台 API 或公開資料抓 N 萬帳號之 metadata
- 頭貼分群:用反向圖搜或 AI 偵測辨識 stock/AI 生成
- 發文時區比對:UTC+8 但時段分布不像台灣作息
- 互動圈分析:用 Gephi 找密集連線之帳號群
- 內容主題比對:NLP topic modeling 找重複 narrative
八、存檔(在內容被刪除前)
完整存檔工作流見
source-verification-tw§十。
Python/pseudocode:雙重存檔(社群場景)
import re
import requests
from datetime import datetime
from typing import Optional
from urllib.parse import quote, urljoin
class SocialArchiver:
"""在社群內容被刪除前存檔。"""
def __init__(self):
self.archived = {}
def archive_to_wayback(self, url: str) -> Optional[str]:
"""送 URL 到 Internet Archive。"""
try:
save_url = f"https://web.archive.org/save/{quote(url, safe='')}"
response = requests.get(save_url, timeout=30)
if response.status_code == 200:
self.archived[url] = {
'wayback': response.url,
'archived_at': datetime.now().isoformat(),
}
return response.url
except Exception as e:
print(f"Wayback 存檔失敗:{e}")
return None
def archive_to_archive_today(self, url: str) -> Optional[str]:
"""送 URL 到 archive.today。"""
try:
response = requests.post(
'https://archive.today/submit/',
data={'url': url, 'anyway': '1'},
timeout=60,
allow_redirects=False,
headers={'User-Agent': 'Mozilla/5.0 (verification archive bot)'},
)
if response.status_code in (301, 302, 303, 307, 308):
location = response.headers.get('Location')
if location:
return urljoin(response.url, location)
if response.status_code == 200:
refresh = response.headers.get('Refresh', '')
m = re.search(r'\burl\s*=\s*(.+)', refresh, re.IGNORECASE)
if m:
return urljoin(response.url, m.group(1).strip().strip(''"'))
except Exception as e:
print(f"archive.today 失敗:{e}")
return None
archive.today 2026 年實務狀態:
- 2025 年 10 月 FBI 對其註冊商發出傳票調查營運者身分
- 2026 年 2 月 Wikipedia 投票決定停用其為引用來源(因 2026/1 該服務內含 DDoS 攻擊碼)
- 仍可用於 Wayback 無法擷取之頁面,但視為次要管道
- 對 scraper 嚴格限流並出 CAPTCHA
台灣本地存檔資源
| 工具 | 用途 |
|---|---|
| 國家圖書館 | 紙本資料、舊報紙 |
| g0v 各專案資料庫 | 公民協作封存(立委質詢、地方議會) |
| 台灣事實查核中心檔案庫 | 已查核訊息存檔 |
| 個人 SSD + 雲端兩份 | 不要只放雲端 |
九、台灣資訊作戰研究方法論
DoubleThink Lab 研究方法(範例)
GoLaxy 案例研究步驟:
- 資料源:洩漏文件 / 跨國 OSINT 網絡(Shadow FIMI Investigator Network)
- 帳號識別:從文件揭露之命名規則、頭貼特徵反向追蹤
- 行為比對:採樣已識別帳號之數月發文 → 比對命名相似帳號
- 網絡分析:用 Gephi 視覺化互動關係
- 發布:報告 + Medium 開源化,便於社群驗證
IORG 研究方法(範例)
「TikTok 對台灣青少年認知重構」研究:
- 抽樣:多階段抽樣台灣青少年使用者
- 問卷 + 行為資料:問卷取意見、行為資料取觀看模式
- TikTok Research API:申請 EU DSA Article 40 路徑取資料
- 學術合作:與大學研究中心合作確保方法學
- 發布:中英文版報告;媒體公關發送
你能用的「平民版」方法
如果你不是 NGO,只是個別記者或小編輯部,仍可做:
- 手動採樣 20-50 個可疑帳號 → 試算表記錄頭貼、創立日、追蹤者數、發文 pattern
- 逆向圖搜每個頭貼(TinEye、Yandex)→ 找 AI 生成或 stock 照
- 用 g0v 公開工具(如 Cofacts)查訊息已知擴散管道
- 找 DoubleThink Lab、IORG 已發表之相關研究作為背景或引用
- 報導發出前對被指控的帳號或人物提出查證機會
## SMI 報告最低輸出格式
- 研究問題:
- 平台 / 關鍵字 / 帳號範圍:
- 蒐集方法與授權狀態:
- 時間範圍與 last_checked:
- 樣本數與排除條件:
- 主要訊號:
- 結論分級:觀察到相似訊號 / 疑似協同 / 符合協同操作特徵 / 可歸因之協同操作
- 限制:
- 被點名方回應:
- 發稿風險:
十、OSINT 工具集(全球通用,加台灣相關)
帳號真實性與協同
- Botometer X(osome.iu.edu)— Twitter 機器人評分學術標準;2023/6 後僅 archival 模式,不能評 2023/5 後之帳號
- Hoaxy / Hoaxy2(osome.iu.edu)— 運作中;Hoaxy2 加 Mastodon 搜尋、Bluesky 即時監測、FB News Bridge
- OSoMe Coordiscope — 協同網絡視覺化,免費
- CooRTweet(R 套件)— CooRnet 後繼;原版於 2024/8 CrowdTangle 停運時一併消失
- Bot Sentinel — 2025 全年離線,2026 計畫重啟;用前先驗證運作狀態
反向圖搜(見 source-verification-tw §三)
- TinEye、Yandex Images、Google Lens、Bing Visual Search
影像鑑識
- Forensically (29a.ch) — error level analysis、clone detection
- FotoForensics — 同上
- InVID-WeVerify(EU vera.ai 計畫)— 2025 加合成圖偵測 + 語音複製偵測 beta
網絡分析
- Gephi(免費,開源)
- Maltego CE(社群版免費)
- NodeXL(Excel 插件)
- Cytoscape(免費)
台灣相關工具
- Cofacts API(g0v)— 已知 LINE 假訊息資料庫
- PTT Crawler(g0v 多個專案)— PTT 爬蟲開源工具
- 台灣事實查核中心已發表報告查詢
- DoubleThink Lab Medium 公開文章(doublethinklab.medium.com)
- IORG 月度監測報告(iorg.tw)
方法論權威(2026 年)
- Bellingcat Online Investigation Toolkit(bellingcat.gitbook.io/toolkit)— 持續更新
- Information Futures Lab @ Brown SPH — First Draft News 後繼;Claire Wardle 共同主持
- WITNESS Deepfakes Rapid Response Force(gen-ai.witness.org)— 配對記者與媒體鑑識專家
- CJR Tow Center 2025 深偽偵測指南(非技術版,記者導向)
Stanford Internet Observatory 已於 2024/6 解散,選舉研究角色轉到 Stanford Social Media Lab (Hancock) 與 NYU Stern Center for Business and Human Rights。
十一、法律風險
《選舉罷免法》§104 加重深偽條款(2023 修法)
意圖使候選人當選或不當選,以散布、播送、揭露深度偽造影音之方法,致生損害於公眾或他人者:
- 最重 7 年以下有期徒刑,得併科 1,000 萬元以下罰金
記者監測場景含義:
- 記者監測並揭露深偽影片是正當新聞工作,不在處罰範圍
- 但轉發深偽影片(即使為了「警示」)可能觸法 — 務必加上明確「為深度偽造」標記
- 必要時模糊/打馬賽克
《社會秩序維護法》§63 第 5 款
「散佈謠言,足以影響公共之安寧者」處 3 日以下拘留或新台幣 3 萬元以下罰鍰。
記者場景:
- 監測 + 揭露假訊息 ≠ 散布假訊息(具公益必要性)
- 但社群媒體轉發未經查證之傳言可能觸法
《刑法》§310 誹謗罪
詳見 fact-check-workflow-tw §九。
SMI 場景特有風險:
- 揭露某帳號為「協同操作」「水軍」「網軍」時,若該帳號為真實人物而非協同操作,可能構成誹謗
- 保護措施:
- 報告中用「疑似」「符合協同操作特徵」等保留語
- 附完整研究方法讓讀者自行判斷
- 給被點名帳號回應機會
《刑法》§358 入侵電腦罪
- 不可為了監測而駭入私人帳號、群組
- 不可用假帳號加入封閉群組進行監測(除非取得管理員同意)
- 公開頻道、公開貼文 OK;私訊、私群組、Telegram 私頻道禁止
《個資法》
- 監測公開資訊 OK
- 聚合多重個資(姓名 + 地址 + 工作 + 親屬 + 病史)為「人物剖繪」即使資料皆來自公開,可能構成個資法疑慮
- 新聞自由抗辯(§51)可主張,但最低必要原則仍須遵守
十二、倫理規範
- 只存檔公開內容
- 不要為了監測建立假帳號(無權立場 vs 學術研究有專案規範)
- 尊重平台 ToS:X 2023 後明文禁止 scraping(即使公開貼文);依賴 API 或授權資料商
- 不轉用研究存取金鑰於非研究用途:Meta、TikTok 對 ToS 偏離會撤銷存取
- 保護分享社群內容的消息來源
- 發布前驗證:協同評分是假設,不是結論
- 發放前考慮影響:即使內容有害,放大可能造成更多傷害
與其他 -tw skill 協作
social-media-intelligence-tw 處理跨帳號、跨平台之模式偵測。實務中與其他 -tw skill 緊密協作。
典型記者工作流順序(7 個 skill 串接)
[1. 資料蒐集] ← foia-requests-tw
↓
[2. 來源驗證 / 內容查證] ← source-verification-tw
↓
[2.5. 跨平台情報 / OSINT] ← social-media-intelligence-tw ← 你在這裡
↓
[3. 採訪準備 / 採訪] ← interview-prep-tw
↓
[4. 主張驗證 / 查核] ← fact-check-workflow-tw
↓
[5. AI 起草草稿]
↓
[6. 去 AI 寫作味] ← ai-writing-detox-tw
↓
[7. 編務校對] ← newsroom-style-tw
↓
[8. 發稿]
social-media-intelligence-tw與source-verification-tw在步驟 2 並列工作:前者處理多帳號模式,後者處理單一帳號真偽。
重疊處理(同問題多 skill 都有)
帳號真偽:
source-verification-tw§二:單一帳號驗證(SIFT + 平台特性)social-media-intelligence-tw§四:帳號群真實性評分(authenticity score)- 單一帳號用前者;100 個帳號用後者
協同操作:
social-media-intelligence-tw§七:主處理(CIB 指標、評分)source-verification-tw§二:輔助(GoLaxy 紅旗特徵)- 以
social-media-intelligence-tw為準
深偽案例:
source-verification-tw§五 + §六:單一影像/影片之深偽偵測(C2PA、Hive、Reality Defender)+ 台灣案例social-media-intelligence-tw§十一:散布、轉發之法律風險(§104 加重條款)- 兩者搭配最完整
存檔:
source-verification-tw§十:詳述social-media-intelligence-tw§八:程式碼版本- 以
source-verification-tw為主
法律風險:
social-media-intelligence-tw§十一:SMI 場景特有(揭露水軍之誹謗風險、§358 入侵電腦)source-verification-tw§十二:來源驗證場景fact-check-workflow-tw§九:查核場景- 三者互補,場景不同
建議搭配安裝
social-media-intelligence-tw 強烈建議搭配 source-verification-tw 使用 — 兩者是 OSINT 工作的兩面。新聞工作者也建議加 fact-check-workflow-tw、foia-requests-tw、newsroom-style-tw、ai-writing-detox-tw。
附錄一:常用 OSINT 工具清單
| 類別 | 工具 | 網址 |
|---|---|---|
| 機器人偵測 | Botometer X | osome.iu.edu/tools/botometer |
| 敘事追蹤 | Hoaxy / Hoaxy2 | osome.iu.edu/tools/hoaxy |
| 協同網絡 | Coordiscope | osome.iu.edu |
| 協同分析 | CooRTweet (R) | github |
| 反向圖搜 | TinEye | tineye.com |
| 反向圖搜 | Yandex Images | yandex.com/images |
| 反向圖搜 | Google Lens | lens.google.com |
| 影像鑑識 | FotoForensics | fotoforensics.com |
| 影像鑑識 | Forensically | 29a.ch/photo-forensics |
| 影片驗證 | InVID-WeVerify | weverify.eu |
| 網絡視覺化 | Gephi | gephi.org |
| 網絡視覺化 | Maltego CE | maltego.com |
| 存檔 | Wayback Machine | web.archive.org |
| 存檔 | Archive.today | archive.ph |
| 台灣假訊息資料庫 | Cofacts | cofacts.tw |
| 台灣假訊息查核 | 台灣事實查核中心 | tfc-taiwan.org.tw |
| FB 廣告資料庫 | Meta Ad Library | facebook.com/ads/library |
| 台灣資訊作戰研究 | DoubleThink Lab | doublethinklab.org |
| 台灣資訊環境 | IORG | iorg.tw |
附錄二:Bellingcat / 跨國 OSINT 網絡
| 資源 | 用途 |
|---|---|
| Bellingcat Toolkit 2.0 | bellingcat.gitbook.io/toolkit |
| Bellingcat 訓練課程 | bellingcat.com/online-investigation-academy |
| WITNESS DRRF | gen-ai.witness.org |
| Information Futures Lab | informationfutureslab.org |
| Shadow FIMI Investigator Network | (跨國 OSINT 網絡,與 DoubleThink Lab 合作) |
版本說明
- 版本:1.0.1
- 截至:2026-05-28
- 改寫自:upstream
journalism-core/social-media-intelligence(jamditis/claude-skills-journalism) - 在地化重點:
- 保留 upstream 通用 Python 程式碼:多平台監測、突發新聞偵測、帳號真實性、網絡分析、敘事追蹤、協同評分
- 保留 OSINT 工具集:Botometer X、Hoaxy、Gephi、Bellingcat 等
- 新增台灣 16 個平台清單:Threads / PTT / Dcard / LINE OpenChat / FB / IG / YouTube / TikTok / X / Bluesky / Mastodon / Telegram / 微博 / 小紅書 / 抖音 / WeChat
- 新增台灣資訊作戰生態章節:中國 GoLaxy 系統、TikTok 演算法、WeChat 視頻號、選舉期境外干預
- 新增台灣敘事追蹤實務:從微博/抖音 → 境外協同帳號 → PTT → Threads/FB → LINE 群組 → 媒體之擴散鏈
- 新增 GoLaxy 範本研究方法(DoubleThink Lab 研究方法)
- 新增「平民版」研究方法(個別記者也能做)
- 新增 Cofacts API、PTT Crawler 等 g0v 工具
- 新增法律風險章節:《選罷法》§104 加重深偽條款、《社維法》§63、《刑法》§310 誹謗、§358 入侵電腦、《個資法》§51 新聞自由抗辯
- 新增與其他 -tw skill 協作章節(7 個 skill 串接;與 source-verification-tw 並列工作)
- 法律依據:截至 2026 年 5 月之《選舉罷免法》《社會秩序維護法》《刑法》《個人資料保護法》。具體條號與細節請以全國法規資料庫公告版本為準;涉及具體調查報導法律事項建議洽律師
- 平台 API 與工具狀態截至 2026 年 5 月;訪問前先驗證最新政策