ck3938700-ship-it/anjian-agent

GitHub: ck3938700-ship-it/anjian-agent

本地优先、授权门禁驱动的 Web 安全评估代理,将多工具扫描结果整合为可追溯的脱敏证据并生成中文报告。

Stars: 0 | Forks: 0

# 安鉴台 AnJian Agent

把“一个网址”变成可追溯、可复核的本地 Web 安全评估报告
Local-first · Authorization-gated · MCP-ready · Local-LLM friendly

CI Python 3.11+ MIT License MCP Windows first

安鉴台是一套本地优先、授权门禁明确的安全评估工具。它把内置检查、Nmap、httpx、Nuclei、受控 FFUF、detection-only SQLMap、Burp/HAR、TShark/PCAP 和源码扫描结果整理成统一证据,再生成中文 Markdown、HTML 与 Obsidian 报告。 它可以作为 CLI 独立运行,也可以接入 Claude Code、任意 MCP 客户端,或 Ollama、LM Studio、vLLM、llama.cpp 等 OpenAI 兼容本地模型。AI 只负责理解意图、编排和解释;真正的授权校验、目标限制和工具执行始终在本地 Python 层完成。 ## 为什么需要它 手动运行多个工具时,最费时间的通常不是输入命令,而是保持范围一致、过滤重复和误报、保存证据、解释覆盖缺口、再把结果写成可交付报告。安鉴台把这些重复工作固定成可复用流程: - **一次授权,一个网址**:精确目标在终端登记一次,有效期内可直接 `/anjian `。 - **工具可用就运行,不可用就说明**:不会把超时、Device Guard 阻止或代理 Fake-IP 伪装成“已完成”。 - **结果不会自动升级成漏洞**:`suspected`、`informational`、`passed` 与人工确认的 finding 严格分开。 - **证据统一**:跨运行、Burp/HAR、PCAP、源码结果按稳定指纹去重并交叉印证。 - **数据留在本地**:默认存储在 `%USERPROFILE%\.anjian`,不依赖云端账号或在线 AI。 - **报告可长期积累**:输出 Markdown/HTML/Obsidian,保留 SHA-256 清单和复核记录。 ## 工作方式 flowchart LR U["用户 / Claude Code / 本地模型"] --> A["一次性精确目标授权"] A --> G["本地范围门禁"] G --> T["内置检查与外部工具"] T --> E["脱敏证据与 SHA-256"] E --> C["去重与交叉印证"] C --> O["待复核观察"] O --> H["人工确认"] H --> R["Markdown / HTML / Obsidian 报告"] 模型无法通过 MCP 创建授权、扩大端口、允许内网或解锁主动工具。即使本地模型产生错误指令,Python 层仍会再次检查目标、端口、有效期、内网许可和工具级授权。 ## 能力矩阵 | 通道 | 能力 | 关键限制 | |---|---|---| | 内置 baseline | DNS、HTTP(S)、TLS、响应头、Cookie | 低影响;不保存响应正文 | | 外部 baseline | Nmap、ProjectDiscovery httpx | 仅明确端口;代理 Fake-IP 时安全跳过原始端口扫描 | | 模板检查 | Nuclei | 受系统策略与终端工具授权约束 | | 内容枚举 | FFUF | 有界字典、低速、单线程、SPA/soft-404/挑战页过滤 | | 注入观察 | SQLMap | 只对已发现的同源 GET 参数做 detection-only 检查 | | 被动资产 | subfinder、amass | 只有显式允许下级子域时运行 | | Web 证据 | Burp XML、HAR | 删除正文、Cookie、Authorization 和令牌值 | | 流量证据 | TShark/PCAP | 用户指定文件、只读分析、不导出载荷 | | 源码证据 | 内置规则、Semgrep、Trivy、Gitleaks | 只扫描用户明确提供的本地目录 | | 输出 | Markdown、HTML、Obsidian、浏览器 PDF | 自动观察需人工复核后才进入正式发现 | ## 5 分钟开始 ### 1. 安装 需要 Windows 11、Python 3.11+ 和 PowerShell。在仓库目录执行: powershell -ExecutionPolicy Bypass -File .\setup.ps1 或使用普通 Python 环境: python -m venv .venv .\.venv\Scripts\python.exe -m pip install -e . ### 2. 检查本机能力 anjian doctor 缺少外部工具不会阻止安装;运行时会安全降级并在报告中记录覆盖限制。 ### 3. 为精确目标登记一次授权 anjian authorize-target "https://example.com" 根据提示亲自输入 `AUTHORIZE DEEP example.com`。默认端口为 80/443、有效期 90 天、不包含下级子域和私有网络。未登记或授权过期时,`quick-assess` 不会访问目标。 ### 4. 一键评估 anjian quick-assess "https://example.com" 命令会返回评估 ID、阶段状态、观察摘要和 `report.md` 的本地路径。 ## 接入 Claude Code powershell -ExecutionPolicy Bypass -File .\claude-integration\install-claude.ps1 重启 Claude Code 后输入: /anjian https://example.com 安装器会创建隔离运行环境、注册本地 stdio MCP Server,并安装 `/anjian` 命令与 Skill;不会读取或修改你的 API Key。完整说明见 [Claude Code 指南](docs/CLAUDE_AGENT_GUIDE.md)。 ## 接入本地大模型 安鉴台 v0.5.0 提供无需模型工具调用能力的本地模型适配器:确定性 Python 核心先执行授权评估,再把脱敏结构化结果交给本地模型解释。小模型即使不会 function calling,也能稳定使用。 以 Ollama 为例: ollama pull qwen2.5:7b anjian-local-agent "评估 https://example.com" --model qwen2.5:7b LM Studio、vLLM 或 llama.cpp 只需指定兼容地址: anjian-local-agent "审计 https://example.com" ` --base-url http://127.0.0.1:1234/v1 ` --model local-model 如果模型服务不可用,适配器仍会保留确定性 JSON 结果,不会丢失已经完成的评估。详见 [本地大模型部署](docs/LOCAL_LLM.md)。 ## 浏览器工作台 anjian seed-demo anjian serve 浏览器打开 `http://127.0.0.1:8765`。工作台默认只监听本机回环地址,可维护项目、授权范围、人工发现、复测与正式报告。不要为了远程访问直接改成 `0.0.0.0`。 ## 数据与隐私 - CLI、MCP 和本地模型数据:`%USERPROFILE%\.anjian` - 浏览器工作台数据库:项目目录中的 `data/anjian.db` - `.gitignore` 默认排除数据库、报告、HAR、PCAP、Burp XML、虚拟环境和 `.env` - Web 证据只持久化必要的脱敏元数据;源代码秘密只保存哈希前缀 - 客户材料、授权文件和真实报告不应提交到公开 Git 仓库 备份与保留期检查: anjian backup anjian retention ## 当前边界 安鉴台适合授权的小型网站安全基线评估、证据整理和报告交付,不是“自动渗透万能平台”。它不能证明网站没有漏洞,也不能代替登录态业务逻辑测试、复杂授权测试、代码审计、云配置审计、移动端或内网横向评估。Cloudflare、代理、WAF 和 Windows 应用控制也可能限制外部工具覆盖,报告会如实列出这些缺口。 ## 开发与验证 python -m pip install -e ".[dev]" pytest 自动测试只访问测试进程拥有的 `127.0.0.1` 服务,不向公共互联网发送扫描请求。架构、安全边界与后续计划分别见: - [架构说明](docs/ARCHITECTURE.md) - [安全与滥用模型](docs/SECURITY_MODEL.md) - [用户手册](docs/USER_GUIDE.md) - [路线图](docs/ROADMAP.md) - [贡献指南](CONTRIBUTING.md) - [安全问题报告](SECURITY.md) ## 项目原则 1. 授权和范围控制优先于“能力更多”。 2. 自动化负责减少重复劳动,人类负责最终判断。 3. 任何失败、跳过和覆盖限制都必须出现在报告中。 4. 默认本地存储、最少数据、证据脱敏。 5. 新增网络能力必须先有滥用分析、范围约束与本地测试。 ## License [MIT](LICENSE) © 2026 AnJian Desk Contributors 如果安鉴台对你有帮助,欢迎 Star、提交问题或改进文档。请不要在公开 Issue 中粘贴真实目标、客户名称、授权文件、Cookie、Token 或未公开漏洞细节。
标签:AI风险缓解, CISA项目, CTI, MCP, MISP, Web安全, 反取证, 安全评估, 实时处理, 密码管理, 本地优先, 本地大模型, 自动化报告, 蓝队分析, 逆向工具