返回 AI 资讯
社区讨论LinuxDo 最新

workbuddy逆向过程以及破甲成品

我本来是想走的红队然后挖挖漏洞赚点零花钱这个路线的,但是不知道为什么在逆向的道路上越走越远。用上workbuddy是了他那免费的ds-4.1flash,毕竟有便宜不占王八蛋。 逆向之前看了看站里其他佬的帖子,比如:https://linux.do/t/topic/2114579/181,还有小杨同学的那两篇文章,写的非常屌,也为我提供了思路,在这里感谢二位大佬,好了扯闲篇到此结束,直接开始教程 WorkBuddy 提示词载体为明文 .tpl 文件 修改方式为直接编辑文本 注入机制为内置 section 管线 验证…

内容摘要

作者:#JJ 板块:#开发调优 我本来是想走的红队然后挖挖漏洞赚点零花钱这个路线的,但是不知道为什么在逆向的道路上越走越远。用上workbuddy是了他那免费的ds-4.1flash,毕竟有便宜不占王八蛋。 逆向之前看了看站里其他佬的帖子,比如:https://linux.do/t/topic/2114579/181,还有小杨同学的那两篇文章,写的非常屌,也为我提供了思路,在这里感谢二位大佬,好了扯闲篇到此结束,直接开始教程 WorkBuddy 提示词载体为明文 .tpl 文件 修改方式为直接编辑文本 注入机制为内置 section 管线 验证方式为trace 落盘,能逐字节量 WorkBuddy 是 Electron 应用,app.asar.unpacked里的东西是真文件,不是打包资源 1. 阶段一:侦察 1.1 先找安装目录 ls -la "D:/Appdownload/WorkBuddyAI/" PS:注意这是我的安装目录,佬们自己看自己的安装目录,以下命令同样不重复说明 找到如下文件夹: WorkBuddyAI.exe 主程序 resources/ ├─ app.asar 302 MB 主进程代码(Electron 打包) ├─ app.asar.unpacked/ 未打包的真文件 ← 重点 └─ install-manifest.json 1.2 再找用户配置目录 env | grep -i -E "workbuddy|codebuddy" 命中一堆,挑出有用的: 变量 值 意义 WORKBUDDY_CONFIG_DIR C:\Users\wang\.workbuddy-ai 配置根(rules / memory 都在这下面) CODEBUDDY_CONFIG_DIR 同上 别名 WORKBUDDY_DATA_FOLDER_NAME .workbuddy-ai 项目级目录名 WORKBUDDY_PROMPT_TEMPLATES_DIR …\resources\templates 提示词模板目录 ← 直接给了 WORKBUDDY_APP_PATH …\resources\app.asar 主进程 bundle CODEBUDDY_BUILTIN_SKILLS_DIR …\resources\plugins\…\skills 内置 skill CODEBUDDY_CURRENT_MODEL_ID deepseek-v4.1-flash 当前模型 CODEBUDDY_ENABLE_SECURITY_AUDIT 1 安全审计开关 CODEBUDDY_SAFE_DELETE_ENABLED 1 rm 被劫持 WORKBUDDY_USER_DATA_DIR C:\Users\wang\.workbuddy-ai\app Electron userData 第一个大坑:网上的一些workbuddy破甲工具把提示词放在了"C:\Users\wang\.workbuddy",但当前版本实际是 ~/.workbuddy-ai。 放~/.workbuddy那里等于没放。 永远以WORKBUDDY_CONFIG_DIR 为准 1.3 摸清配置目录结构 ls -la "C:/Users/wang/.workbuddy-ai/" 值得记住的: MEMORY.md 用户级记忆(注入为 <user_memory>,硬上限 4000 字符) SOUL.md / IDENTITY.md / USER.md 人格(注入为 <identity_context>) memory/<uid>_memory.md 云记忆缓存(注入为 <memory>,服务端管理) rules/ ★ 用户级规则目录(注入为 <project_rules>) traces/<pid>/trace_*.json ★ 每次请求的完整 prompt 落盘 sessions/<pid>.json 会话索引 settings.json 沙箱权限规则等 2. 阶段二:定位提示词本体 WORKBUDDY_PROMPT_TEMPLATES_DIR 已经告诉我们位置了: ls -la "D:/Appdownload/WorkBuddyAI/resources/app.asar.unpacked/resources/templates/" workbuddy-craft-code-prompt.tpl 37 KB Agent 模式(编码场景) workbuddy-craft-coding-prompt.tpl 36 KB workbuddy-craft-design-prompt.tpl 29 KB workbuddy-ask-prompt.tpl 10 KB Ask 模式 workbuddy-expert-prompt.tpl 36 KB 专家模式 workbuddy-quick-prompt.tpl 538 B 快捷模式 user-context-identity.tpl 2.2 KB craft-mode-reminder.tpl 257 B ... 全是明文。 直接看结构: grep -n -E "^<[a-z_]+>" workbuddy-craft-code-prompt.tpl 得到 system prompt 的骨架: 25: <content_policy> ← 拒绝策略 34: <personal_files_safety> ← 高危文件操作 49: <windows_command_safety> 60: <regional_conventions> 67: <working_modes> 80: <agent_loop> 93: <result_presentation> 123: <final_answer_instructions> 160: <tool_use> 170: <instructions_for_visualizer> 224: <task_management> 277: <tool_usage_policy> 291: <agent_skills> 339: <expert_management> 361: <mcp_configuration> 373: <response_language> 377: <binary_context> 2.1 模板占位符 grep -o -E "\{\{[^}]{1,40}\}\}" workbuddy-craft-code-prompt.tpl | sort -u {{ BinaryContext }} {{ ResponseLanguage }} {{ ToolResultPresentationPrompt }} {{ UserLocalMemoryContent }} {{ UserMemoryContent }} {{ WorkbuddyMemory_1 }} {{ WorkingMemoryContent }} {{ dataFolderName }} {{ modelName }} {{ productName }} 外加 Jinja 风格的 {%- if ... %} 条件块(productFeatures.DisableMultimodalGeneration、ResponseLanguage 等) 模板第 20–25 行是重点: 20: {{ WorkbuddyMemory_1 }} → <memory_system>(三层记忆说明) 21: {{ WorkingMemoryContent }} → <working_memory_content>(项目 MEMORY.md,上限 10K) 22: {{ UserLocalMemoryContent }} → <user_memory>(配置根 MEMORY.md,上限 4K) 23: {{ UserMemoryContent }} → 云端 profile 25: <content_policy> → 策略块 3. 阶段三:拆解注入管线 模板只能看到静态部分。动态注入(rules / memory / identity)在 app.asar 主进程里 3.1 在 asar 里按字节搜标记 app.asar 是 302 MB 的拼接归档,grep 直接扫会慢。用 Python 按字节找: d = open(r'D:\Appdownload\WorkBuddyAI\resources\app.asar','rb').read() for tag in [b'<user_memor

资讯来源

LinuxDo

原文链接

打开原文