Skip to main content
Glama
ck3938700-ship-it

AnJian Agent

安鉴台 AnJian Agent

安鉴台是一套本地优先、授权门禁明确的安全评估工具。它把内置检查、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 层完成。

IMPORTANT

只对你本人拥有,或已取得资产所有者明确书面授权的系统使用。本项目不提供口令爆破、拒绝服务、漏洞利用、权限绕过、持久化、数据提取或批量互联网扫描能力。自动结果是待复核观察,不等于已确认漏洞。

为什么需要它

手动运行多个工具时,最费时间的通常不是输入命令,而是保持范围一致、过滤重复和误报、保存证据、解释覆盖缺口、再把结果写成可交付报告。安鉴台把这些重复工作固定成可复用流程:

  • 一次授权,一个网址:精确目标在终端登记一次,有效期内可直接 /anjian <URL>

  • 工具可用就运行,不可用就说明:不会把超时、Device Guard 阻止或代理 Fake-IP 伪装成“已完成”。

  • 结果不会自动升级成漏洞suspectedinformationalpassed 与人工确认的 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 指南

接入本地大模型

安鉴台 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 结果,不会丢失已经完成的评估。详见 本地大模型部署

浏览器工作台

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 服务,不向公共互联网发送扫描请求。架构、安全边界与后续计划分别见:

项目原则

  1. 授权和范围控制优先于“能力更多”。

  2. 自动化负责减少重复劳动,人类负责最终判断。

  3. 任何失败、跳过和覆盖限制都必须出现在报告中。

  4. 默认本地存储、最少数据、证据脱敏。

  5. 新增网络能力必须先有滥用分析、范围约束与本地测试。

License

MIT © 2026 AnJian Desk Contributors

如果安鉴台对你有帮助,欢迎 Star、提交问题或改进文档。请不要在公开 Issue 中粘贴真实目标、客户名称、授权文件、Cookie、Token 或未公开漏洞细节。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ck3938700-ship-it/anjian-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server