对抗性工程实践:利用AI自动化构建GitHub仓库的虚假提交历史

对抗性工程实践:利用AI自动化构建GitHub仓库的虚假提交历史

人工智能(AI)、生成式AI(GenAI)和代理式AI(Agentic AI)已成为近年来的主导技术趋势。由生成式AI驱动的AI聊天机器人通过自然语言处理响应用户查询,提供即时、上下文感知的回复。而代理式AI作为下一代探索方向,融合了深度推理和迭代规划能力,能够自主解决复杂的多步骤问题。

随着Claude、OpenAI和Apple Intelligence等平台使AI工具更加普及,这些技术已不再局限于学者、研究人员或开发者。普通用户现在也能以免费或低成本利用AI来结构化文本、格式化代码、编写文档等。

然而,AI在带来巨大益处的同时也引入了新的风险。攻击者正利用这些技术进步来完善和加速其攻击能力,使用与专业人士相同的工具来提高效率和创新。

工具开发

我开发了一个AI驱动的仓库自动化工具,能够动态创建、修改和管理具有真实提交历史、仓库描述和AI增强文件修改的仓库。该工具集成了Ollama用于AI生成内容,并通过API调用直接与GitHub交互。

通过利用随机化的提交日期,脚本可以回溯提交使其看起来像是随时间逐步发生的更改,而非单次执行的结果。同时使用AI优化提交消息,确保其结构化和有意义,避免通用或重复的措辞。

技术实现

脚本首先从vars.toml文件中获取变量配置:

python 复制代码
GITHUB_USERNAME = "USERNAME" # GitHub用户名
GITHUB_TOKEN = "CLASSIC GIT TOKEN" # 从GitHub开发者设置获取的token
OLLAMA_MODEL = "llama2"  # 可更改为"llama2"、"gemma"等
GIT_USER_NAME = "GIT NAME" # git配置的用户名
GIT_USER_EMAIL = "EMAIL" # git配置的邮箱

工具主要功能包括:

  • 创建并初始化仓库(本地和GitHub)
  • 使用AI生成名称、描述和提交消息
  • 智能修改文件同时避免.git目录
  • 清理AI生成内容确保有效性
  • 推送具有真实提交历史的仓库
  • 必要时回滚提交

AI交互优化

在与Ollama模型交互时,需要通过精心设计的提示词确保模型仅返回修改后的文件内容:

python 复制代码
def ask_ollama(file_content, verbose=False):
    """发送文件内容到Ollama并强制只返回修改后的内容"""
    response = ollama.chat(model=OLLAMA_MODEL, messages=[
        {"role": "system", "content": (
            "你是一个擅长修改和重构代码的AI。"
            "你的任务是更新提供的代码以添加缺失功能或改进其结构。"
            "只返回修改后的文件内容,不要解释,不要markdown格式,"
            "不要开头或结尾的说明。"
            "你的响应必须是包含所有必要内容的有效文件。"
        )},
        {"role": "user", "content": file_content}
    ])
    
    # 提取并清理响应内容
    modified_content = response["message"]["content"].strip()
    
    unwanted_phrases = [
        "这是文件的修改版本:", 
        "这是更新后的代码:", 
        "我做了一些改进:",
        "优化版本:",
        "完整文件:"
    ]
    for phrase in unwanted_phrases:
        if modified_content.startswith(phrase):
            modified_content = modified_content[len(phrase):].strip()

安全启示

这个项目证明了Git提交历史和日期信息可以被伪造的安全隐患。攻击者可能利用类似技术:

  • 在混乱的提交消息中隐藏数据
  • 向仓库注入大量虚假代码提交
  • 伪造身份和参与度以误导他人

虽然这只是一个探索性质的实验,但它清楚地展示了不能盲目信任Git提交历史或提交日期的安全警示。

相关推荐
若天明31 分钟前
深度学习-计算机视觉-微调 Fine-tune
人工智能·python·深度学习·机器学习·计算机视觉·ai·cnn
爱喝奶茶的企鹅32 分钟前
Ethan独立开发新品速递 | 2025-08-19
人工智能
J_bean41 分钟前
Spring AI Alibaba 项目接入兼容 OpenAI API 的大模型
人工智能·spring·大模型·openai·spring ai·ai alibaba
SelectDB1 小时前
Apache Doris 4.0 AI 能力揭秘(一):AI 函数之 LLM 函数介绍
数据库·人工智能·数据分析
倔强青铜三1 小时前
苦练Python第39天:海象操作符 := 的入门、实战与避坑指南
人工智能·python·面试
飞哥数智坊1 小时前
GPT-5 初战:我用 Windsurf,体验了“结对编程”式的AI开发
人工智能·windsurf
数据超市1 小时前
香港数据合集:建筑物、手机基站、POI、职住数据、用地类型
大数据·人工智能·智能手机·数据挖掘·数据分析
视觉语言导航2 小时前
哈工深无人机目标导航新基准!UAV-ON:开放世界空中智能体目标导向导航基准测试
人工智能·深度学习·无人机·具身智能
yzx9910132 小时前
AI心理助手开发文档
人工智能·深度学习·机器学习
图灵学术计算机论文辅导2 小时前
论文推荐|迁移学习+多模态特征融合
论文阅读·人工智能·深度学习·计算机网络·算法·计算机视觉·目标跟踪