# 功能说明 以下逐个说明各功能做什么、在界面哪里、以及怎么改成你要的样子。 截图取自实际界面,未做美化。 ![Saker 工作台总览](images/01-saker-overview.png) --- ## 三种模式,各有完整流程 | | 渗透测试 | 代码审计 | |---|---|---| | 输入 | 授权目标、资产、接口或抓包材料 | 本地源码、仓库或反编译产物 | | 主线 | 侦查、枚举、验证、复核、报告 | 扫描对账、入口到危险操作的数据流、利用条件、修复 | | 证据 | 请求/响应、工具输出、复现步骤 | 文件与行号、调用链、规则命中、动态验证结果 | | 交付 | 漏洞位置、影响、测试过程与修复建议 | 代码位置、完整链路、利用前提与修复建议 | 三个模式各带独立persona、playbook和离线参考资料。安全方法不一次性塞满上下文,按当前任务读取相关内容,所以能长时间跑而不失真。 除这两个专业模式外,宿主内置的 `standard` 模式同样保留在模式选择器中,供日常办公等非安全会话使用(安全插件只在安全模式下生效)。需要放开更多宿主模式时,用环境变量 `SAKER_VISIBLE_PRESETS` 追加。 ![Saker的渗透测试与代码审计模式](images/02-modes.png) ## 攻击面不再靠记忆 AttackAtlas按目标记录每个攻击面的状态。四种终态会点亮:已测有发现、已测未命中、不适用(附原因)、预算耗尽;未测的留作暗格。每个格子都能查到支撑它的记录,也可以从矩阵直接派发下一个任务。 - **按目标分账。** 覆盖终态、阶段带、攻击链拓扑各存一份,同一个格子对不同目标互不覆盖;顶部下拉切换目标,所有视图跟着换锚点。 - **链路拓扑自动成图。** 节点登记后自动连线,重大成果金框标记,支持多入口和「从会话生成」。 - **双击即派单。** 点主类、子项或阶段,自动携带目标锚定和对应知识手册进当前会话。 - **矩阵列序 = 你的方法论序。** 不是我们规定的顺序。 ![AttackAtlas按目标记录安全测试覆盖](images/03-attack-atlas.png) ## 提示词可以自己编排 这里有两层,一层管「提示词本身怎么写」,一层管「这一轮用哪些」。 **提示词内容(`dsh-method-stack`,界面里叫「方法」)**:内置 26 个提示词,分五类——侦查5(端口扫描、目录枚举、指纹识别等)、利用14(SQL注入、XSS、SSRF、文件上传、命令注入、JWT、反序列化等)、内网3(凭据关系、横向入口、网段测绘)、证据2、报告2。每个提示词就是一个目录,`manifest.yml` 写元信息、`prompt.md` 写正文。输入框上方的「方法 ▾」按钮直接勾选本轮启用哪些,变更下一轮生效;「设置 → 方法编排」可以克隆、改正文、存组合,用户层 `~/.dsh/method-stack/methods/` 同名目录直接覆盖官方内容,不用改包。 ![AttackAtlas自定义方法论编排画布1](images/04-method-stack1.png) **方法衔接(AttackAtlas)**:主类、子项、工具、MCP服务、自定义工具模块在画布上自由接线,闭环五查(孤立、无起点、无终点、断裂、循环)以询问式确认;运行按分层派单进会话,逐项点亮矩阵。模板可编辑、复制、导入导出,编排草稿自动保存。 ![AttackAtlas自定义方法论编排画布2](images/05-method-stack2.png) ## 提示词、persona和技能都可以换 首屏说「连提示词也不例外」,分层是这样: - **persona** 是模式的身份定义,在模式包内 `preset/pentest/agent.cordis.yml` 的persona段:身份、主观念(漏洞面)、铁律(验证等级、误报责任、高危操作门禁、负面清单)、表达纪律、委派方式。改它,等于换掉这个模式的性格和底线。 - **playbook** 是随模式走的作战手册技能,渗透862行、代码审计632行。它不常驻上下文,按当前任务读取相关章节,所以长会话里方法不会漂。 - **方法** 由 `dsh-method-stack` 管,启用哪些方法、正文怎么写,都在你的控制范围内(见上一节)。 - **共享技能** 目前6个:browser-recon(浏览器/网页交互作战)、web-fuzz(Web模糊测试)、independent-review(独立复核)、ecosystem-cooperation(生态协作)、red-team-command-doctrine(红队指挥条令)、redteam-boundary-policy(红队边界策略),三个模式都能引用。 这四层都在包里,改完重新打包安装即可生效。「设置 → 技能」列出共享、模式专属和已安装技能,支持上传zip/tgz安装到 `~/.dsh/skills` 并热载,用户层技能可卸载。面板提供一键复制引用串 `/<技能名>`:模型侧经 `skill` 工具按名加载,用户侧在输入框打 `/` 弹出候选,或直接贴 `/<技能名>` 注入当轮。 ![设置-技能页](images/06-skills.png) ## 工具归工具,判断归判断 安全配置中心是本机工具的统一入口。内置18个工具预设,分六类:信息收集(subfinder、httpx、nmap)、漏洞扫描(nuclei、afrog)、目录与接口(dirsearch、katana、ffuf)、注入与利用(sqlmap)、令牌与认证(jwt_tool)、内网与横向(fscan、chisel、frp、impacket、ladon、kerbrute、mimikatz、BloodHound),也可以自己增删。 几个顺手的地方: - **一键探测。** 指定一个或多个「工具根目录」,静默扫描并按分类导入候选;也可以手动粘贴单条路径。 - **配置直达模型。** 路径通过 `DSH_TOOL_` 注入shell环境,模型运行时拿到的是你本机的真实工具;未配置时回退系统 `PATH`。 - **分类可自定义。** 内置六类之外可以自己增删分类。 - **服务端点自动桥接。** 填好Burp / Yakit地址保存即生效,Burp的legacy SSE接入由包内桥接脚本完成,不需要Java。 渗透模式提供nuclei、httpx、ffuf封装,代码审计模式提供本地Semgrep封装。扫描命中先进入待核对记录,不会直接写成已确认漏洞——这条纪律在工具层就定死了。 ![本机工具配置](images/07-tools1.png) MCP Studio是MCP服务的单独工作台:支持stdio与streamable HTTP两种传输,可导入常见MCP JSON、查看真实连接状态与工具列表、执行握手诊断、查看调用记录。每个启用的服务由内置mcp-client桥接挂载,模型以 `mcp__<名称>__<工具>` 直接调用;编辑即热切换,禁用即卸载,全程无需重启。 ![MCP Studio工作台](images/08-tools2.png) ## 从「可能有问题」到「可以交付」 Redteam Results按会话保存发现,严格按「会话 × 模式」双键隔离。每条记录区分严重度、验证状态和证据等级,可展开查看测试过程、复现内容、证据引用和修复建议,按当前筛选或勾选项导出Markdown。跨会话还有聚合视图和全局任务台账大屏。 关键发现可以交给本机Claude Code或Codex CLI走第二路径复核;没有外部CLI时仍可用dsh原生子代理。复核状态回写成果台账。 ![Saker漏洞成果、证据与复核状态](images/09-findings.png) ## 资产测绘与实测流水线 Hunter把FOFA、奇安信Hunter、360 Quake三家资产测绘聚合到一起:统一DSL一次编写,自动转写各平台语法,配额感知分页导出。 它还接了一条实测流水线:从成果库取finding → 指纹搜索 → 存活探测 → 分级验证 → 回写复测注记、证据与状态。分级是硬性的——互联网资产只做L0(GET首页加指纹核对),L1最小影响验证仅对用户显式标记授权的资产执行,不提供L2完整利用。 ![Hunter资产测绘与实测流水线](images/10-hunter.png) ## WebShell管理 面向已授权环境的WebShell工作台,位于会话标签页:连接注册表、协议自动识别、命令执行、虚拟终端、文件管理(二进制安全传输、权限与时间戳处理、远程下载)、数据库控制台(PDO原生)、载荷生成器、声明式载荷插件体系。 ![WebShell管理界面1](images/11-webshell1.png) 内置16种载荷生成形态,覆盖PHP、JSP、ASPX、ASP的基础、自研加密(v1/v2)与冰蝎/哥斯拉协议兼容变体,另含JSP内存马引导器。13件模型工具只在渗透测试模式下放行,所有操作入 `op_log` 台账;包内还带同核stdio MCP服务,可供外部harness接入。免杀变体不在生成器职责内,可「从文件导入」登记为产物。 ![WebShell管理界面2](images/12-webshell2.png) ## 知识库自动扩展,离线混合检索 离线资料随包即用:内置 [PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings) 全量文本快照(66个漏洞章节的README与payload清单,commit `3ac2790`,MIT),加上渗透(108篇)与代码审计(236篇)两套手册和Semgrep规则集,都不依赖外网。 ![知识库分类浏览1](images/13-knowledge1.png) 「设置 → 知识库」内置 20 个高质量知识包,覆盖 CTF、Web、内网/AD、云/API、Windows/Linux 提权、移动、硬件、DFIR、应急响应和检测规则。插件启动后自动做 Git 稀疏同步,只拉 Markdown、规则、脚本等文本,不拉图片和大体积二进制;每个包保留来源、许可证、固定 commit 和本地路径。 检索不是简单子串扫描:后台构建 SQLite FTS5 索引,中文按 bigram 召回,英文/CVE/EDB-ID 精确定位,BM25 叠加标题、路径、知识包权重做混合排序。模型只拿 Top-N 片段,再用 `knowledge_read(chunkId)` 精读命中附近内容;首次全量索引在独立进程完成,不阻塞宿主启动或搜索。 知识库是**分层可写**的:随包内容只读,用户层 `DSH_HOME/refs/` 同名文件覆盖包内(用户优先);外部完整资产可以从Git仓库或本机文件夹整库导入到 `DSH_HOME/refs/imports/`,导入后完全离线可用。无许可证、非商业许可和 GPL 内容只进本地导入层,不混入 MIT 根包。 Exploit-DB不随包,走导入层。把官方仓库或元数据快照放到 `DSH_HOME/refs/imports/exploitdb/`,识别到 `files_exploits.csv` 就自动建字段化索引;也可以直接点设置页的「下载官方索引」,从gitlab.com抓 `files_exploits.csv` 与 `files_shellcodes.csv`(合计约30MB,含16列完整元数据:标题、作者、类型、平台、CVE codes)。索引就绪后检索命中形如 `[EDB-12345]`,PoC原文按需读 `exploitdb/`。只下索引不拉源码仓库时,描述和定位检索照常,读原文需要目录里确实有对应文件。 ![知识库分类浏览2](images/14-knowledge2.png) ## 过程留痕与跨会话记忆 安全测试最怕两件事:跑了一半忘了做过什么,换个会话又得从头来。Saker用三个插件解决: - **Trace Vault** 自动捕获每一次工具调用(参数、结果文本、耗时)落SQLite,跨compaction仍可检索。零行为改变,不拦截、不改写、不注入。 - **Campaign Memory** 把打过的仗变成可召回的打法资产:战术打法、目标指纹、工具可用性、教训、检测指纹五类。同题写入刷新而非重复,召回排序按使用热度加30天时间衰减——久未读取的自动让位,读取即复活。检测指纹默认30天过期(免杀情报半衰期),目标指纹180天。 - **Session Pulse** 是会话作战面板:任务进度chip、子代理目录抽屉、提示词栏(全部用户输入成列,点击定位到消息流)。 ![战役记忆](images/15-campaign-memory.png) ## 纪律由机器执行 纪律写在提示词里靠模型自觉不够,长会话压缩后临近性就丢了。Saker把几条关键约束做成工具调用层的硬门: - **`dsh-sec-enforce`(确定性执行护栏)** 用dsh原生guard缝把纪律变成机器强制:报告门(写 `reports/` 前必须过阶段门)、写入边界、无速率控制的全端口扫描、高危命令特征(大范围删除、裸DROP、停机重启、资金类POST)等,外加意图门、约束门、审批层与急停开关。只对两个安全预设触发,每次拒绝写入 `enforce-log.md`。 - **`dsh-stage-gate`(阶段门)** 把结构检查变成模型工具 `stage_gate`——模型不能自评门禁,必须调用工具校验,判定追加进 `gate-log.md`。目标契约登记后可逐条met/failed/reopened,中断也能恢复。 - **`dsh-route-boost`(逐轮治理信封)** 每步装配时现场求值,按当前阶段补充门禁、证据和知识资料指针,信封里列出当前模式可引用的技能名与工具就绪度。 - **`dsh-refusal-guard`(拒答修复)** 检测异常拒答并触发有记录的升级梯修复流程。三级检测器:50条强短语(中英日韩俄法)、16条软拒答模式、22条弱关键词,弱关键词只在回答开头150字符内匹配,避免误伤正文里的正常表述。 - **`dsh-auto-advance`(自动推进)** 子代理返回后,若台账有未收口意图,注入推进提醒;只在存在未关闭意图时工作,有连续轮次上限,随时可接管。 ## 新会话页 `dsh-mode-group` 把三种专业模式(pentest / code-audit / ctf-solver)排在最前,其余可见模式(宿主 `standard`,供日常办公会话)紧随其后,避免模式一多选择区拥挤。纯客户端表面,不改宿主行为。