一场源自俄罗斯的隐蔽影响行动,试图借助 AI 生成内容推广一个伪装成“以色列智库”的机构,并发布一份名为“主权指数”的排名,持续赞扬俄罗斯、批评西方。OpenAI 随后封禁了相关账号。这个案例值得关注的地方,不只是内容真假,而是 AI 正在让一套完整的影响行动更容易批量生产、包装和分发。
从单篇假文章到一套“可信机构”
传统宣传往往依赖少数网站、社交账号或人工撰稿人。AI 加入之后,行动者可以快速生成研究报告、新闻稿、社交媒体短文和多语言版本,再把它们组织成一个看似专业的机构叙事。
“以色列智库”这个包装具有明确的可信度设计:它借用了一个真实国家和政策研究机构的外观,让读者更容易把后续观点当作地区分析或学术判断。所谓“主权指数”则进一步制造了量化感。只要有排名、分数和图表,主张就容易获得一种超出证据本身的权威感。
判断这类内容时,不能只问“文章是否由 AI 写成”,还要检查:
- 机构是否有可核验的人员、地址、历史活动和独立引用;
- 指数的指标、权重、原始数据和计算方法是否公开;
- 同一叙事是否由一批新账号在短时间内重复传播;
- 内容是否把复杂政治议题压缩成单一结论,并系统性贬低某一阵营;
- 页面、头像、作者简介和引用来源是否存在批量生成或相互复制的痕迹。
AI 放大的不是一个观点,而是整个生产链
这类行动的风险在于,它可以覆盖影响行动的多个环节:建立身份、撰写内容、翻译本地化、生成标题、回复评论,以及测试哪些说法最容易获得互动。即使单篇文章没有明显错误,整个网络仍可能通过数量、重复和表面一致性制造“很多人在这么说”的错觉。
平台和模型提供商因此需要关注账号之间的关联行为,而不只是审核单条文本。来源国家、注册时间、内容主题、语言切换、链接关系、发布节奏和异常互动模式,都可能构成识别信号。封禁相关账号的意义,也在于切断一组协同活动,而非只删除一篇宣传材料。
可以怎样实践:给内容源做一轮基础核验
下面的 Python 示例不判断政治立场,也不能替代人工调查。它只对一组待核验来源做基础筛查:检查域名年龄、HTTPS、页面是否提供作者与方法说明,并标记多个来源是否共享同一域名或链接模式。运行前,把 sources.json 改成你的待查来源列表,并安装依赖:
pip install requests beautifulsoup4
# check_sources.py
import json
import re
from collections import Counter
from urllib.parse import urlparse
import requests
from bs4 import BeautifulSoup
HEADERS = {"User-Agent": "source-audit/1.0"}
def inspect(url: str) -> dict:
result = {"url": url, "signals": []}
parsed = urlparse(url)
result["host"] = parsed.netloc.lower()
try:
response = requests.get(url, headers=HEADERS, timeout=10)
result["status"] = response.status_code
result["https"] = parsed.scheme == "https"
soup = BeautifulSoup(response.text, "html.parser")
text = soup.get_text(" ", strip=True).lower()
if not result["https"]:
result["signals"].append("no_https")
if not re.search(r"author|editor|researcher|team", text):
result["signals"].append("no_visible_author")
if not re.search(r"methodology|method|data|sources", text):
result["signals"].append("no_methodology_or_sources")
if len(text) < 500:
result["signals"].append("very_little_page_text")
except requests.RequestException as exc:
result["signals"].append(f"request_failed:{type(exc).__name__}")
return result
with open("sources.json", encoding="utf-8") as file:
sources = json.load(file)
reports = [inspect(item["url"]) for item in sources]
host_counts = Counter(report["host"] for report in reports)
for report in reports:
shared_host = host_counts[report["host"]] > 1
if shared_host:
report["signals"].append("shared_host_in_input_set")
print(json.dumps(report, ensure_ascii=False))
示例输入可以是:
[
{"url": "https://example.org/report"},
{"url": "https://example.org/index"}
]
这个脚本只能帮助研究人员整理线索。域名较新、没有公开作者或缺少方法说明,并不自动证明一个机构是虚假的;相反,拥有 HTTPS 或正式网页,也不能证明内容可信。真正的核验仍需要查看注册信息、历史快照、独立媒体报道、原始数据和作者身份。
对平台和读者的采用清单
对平台而言,防御重点应包括账号集群检测、异常内容生产节奏、跨语言复用、外部链接网络和身份冒用。模型提供商则可以把“批量生成政治影响内容”“伪造机构身份”和“协调分发”作为组合风险来处理。
对读者而言,最有效的动作不是看到 AI 痕迹就立即下结论,而是降低传播速度:先确认机构身份,再追查指标来源,最后比较不同立场但有独立证据的报道。凡是把复杂国际议题包装成一个看似精确、却无法复算的指数,都应当把它当作待核验的论证,而不是事实本身。
AI 让伪装更便宜,也让审查和核验更需要流程化。面对这类影响行动,内容质量只是一个信号,身份、网络、时间线和证据链才决定我们是否应该相信它。