JoySafeter
京东开源的 AI 原生安全智能体平台,支持可视化编排渗透测试 Agent,支持 MCP 协议 200
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
京东开源的 AI 原生安全智能体平台,支持可视化编排渗透测试 Agent,支持 MCP 协议 200
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个这样的场景:企业安全团队收到情报,某业务系统可能被攻击者植入了恶意代码。以往的响应流程是——安全工程师手动搭建测试环境、用 MobSF 扫描 APK、逐条分析报告、撰写漏洞文档,往往需要数小时甚至一整天。而现在,只需要把 APK 上传到 JoySafeter 平台,等一杯咖啡的时间,一份完整的 OWASP Mobile Top 10 格式报告就自动生成好了。这就是 JoySafeter 正在改变的游戏规则。
网络安全行业长期面临一个结构性矛盾:攻击者的手段在 AI 加持下变得越来越自动化、智能化,而防守方的工具链仍然高度依赖人工操作。Python 脚本脆弱易断,单一智能体缺乏上下文理解能力,复杂的安全场景往往需要 2-3 名工程师并行协作才能完成。这种「人力线性增长」的模式,在面对日益增长的攻击面时,效率天花板越来越明显。
JoySafeter 由京东安全团队开源,项目聚焦于用大语言模型和智能体技术重塑安全运营流程。其核心目标是打造一个企业级的 AI Agent 平台,专注于安全垂直领域,让安全运营团队能够通过自然语言交互,构建、编排和规模化运行自主智能体。平台的 slogan 精准概括了其定位——"Not just chatting",不是简单的聊天,而是一套完整的构建、运行、测试和追踪自主智能体团队的解决方案。
平台基于 LangGraph 构建,版本号已更新至 v0.4,License 为 Apache 2.0,主仓库获得了 285 个 GitHub Stars 和 55 个 Fork,技术话题覆盖了 A2A、MCP、LangGraph、multi-agent、security 等多个热门方向。
JoySafeter 采用了清晰的六层技术架构,从上到下依次为:前端层(Next.js + React)、API 层(FastAPI)、服务层、业务引擎层、运行时层和数据层。这套架构的核心设计思想是「两条路径构建图」——既支持代码模式(用 Python 编写 LangGraph StateGraph),也支持可视化画布模式(拖拽构建 Manager-Worker 拓扑)。
图1:JoySafeter 项目品牌标识
前端层采用 Next.js + React 技术栈,使用 ReactFlow 实现 DeepAgents 可视化画布,CodeMirror 作为代码编辑器,WebSocket 和 SSE 实现执行追踪的实时流式推送。
API 层基于 FastAPI 构建,提供了完整的 REST API(包括 Auth/Graphs/Chat/Skills),WebSocket 支持 Chat/Copilot/Runs 实时通信,SSE Stream 输出执行事件,Code API 支持在浏览器中编写并保存/运行代码。
服务层包含 GraphService(图形服务)、SkillService(技能管理)、MemoryService(记忆管理)、McpClient Service(MCP 客户端)和 ToolService(工具管理),是整个平台的业务逻辑中枢。
核心引擎层是技术亮点最集中的地方:DeepAgents 构建器支持可视化创建多智能体编排;代码执行器在 Docker 沙箱环境中执行用户代码(受限的 builtins 和 import 白名单,超时控制);中间件系统提供记忆能力;技能系统支持渐进式加载和版本化管理。
运行时层基于 LangGraph Runtime + Checkpointer,实现状态的持久化和断点恢复,这是保障长对话和复杂任务不中断的关键。
数据层使用 PostgreSQL 存储图、技能和记忆数据,Redis 负责缓存和会话管理。
图2:渗透测试智能体演示——Agent 自主规划、执行、动态调整
DeepAgents 是 JoySafeter 最核心的创新之一,它实现了一种星型(Hub-and-Spoke)多智能体协作拓扑。一个 Manager Agent 作为协调者,下辖多个 Worker Agent(CompiledSubAgent)和一个 CodeAgent,所有 Worker 共享同一个 Docker 后端和预加载的技能目录(/workspace/skills/)。
这套设计解决了一个关键问题:在传统 LangGraph 中,多个 Agent 之间的协作通常需要开发者手动编写协调逻辑。DeepAgents 将这个过程抽象为 deepagents.create_deep_agent() 一行调用,自动生成 Manager-Worker 的通信协议、任务分发策略和结果聚合逻辑。系统支持三种节点类型:Agent、Code Agent 和 A2A Agent,其中 Code Agent 允许在执行过程中动态生成并运行 Python 代码片段。
记忆系统分为长短期两种机制:短期记忆基于 Redis 实现会话级别的上下文保持;长期记忆基于 PostgreSQL 存储跨会话积累的知识,支持增量更新。这意味着 Agent 不仅能处理当前任务,还能从历史任务中学习和进化。
JoySafeter 的工具生态基于 MCP(Model Context Protocol)协议构建,预集成了 200+ 安全工具,涵盖 Nmap(端口扫描)、Nuclei(漏洞 POC 扫描)、Trivy(容器镜像扫描)等主流安全工具。相比传统方式需要为每个工具编写独立接口,MCP 协议提供了一种标准化的工具注册和管理机制,工具开发者只需要实现 MCP Server,即可在 JoySafeter 平台中被自动发现和调用。
此外,平台预置了 30+ 技能(Skills),按目录组织在 skills/ 目录下,覆盖渗透测试的各个子领域:API 深度测试(pentest-api-deep)、业务逻辑漏洞检测(pentest-business-logic)、移动应用安全(pentest-mobile-app)、云基础设施安全(pentest-cloud-infrastructure)、CTF 二进制漏洞利用(pentest-ctf-binary)等。这些技能采用版本化管理,支持渐进式披露——复杂技能可以分步骤解锁,避免一次性暴露过多信息给未授权用户。
JoySafeter 不仅仅是一个实验性的智能体框架,还包含了完整的企业级功能:
多租户隔离:基于角色的工作区(Workspace)隔离,不同团队的数据和 Agent 配置完全独立;用户级 Docker 沙箱隔离确保代码执行不会相互影响,会话之间零状态泄露。
全链路审计:所有 Agent 执行操作都被记录,支持执行追踪(Trace)和合规治理,满足企业安全合规要求。
SSO 集成:支持 GitHub、Google、Microsoft、OIDC(Keycloak、Authentik、GitLab)和 JD 自有 SSO 的登录集成,降低企业接入门槛。
LangFuse 可观测性:集成 LangFuse 提供 LangChain/LangGraph 执行的可观测性,包括 token 消耗追踪、延迟分析和执行链路可视化。
JoySafeter 提供了极其友好的部署体验。在具备 Docker + Docker Compose 环境的机器上,只需要一行命令:
./deploy/quick-start.sh
脚本提供交互式菜单,支持四种启动模式:Docker Compose 全栈(一行命令启动完整前后端 + PostgreSQL + Redis)、仅本地前端(bun run dev 连接远程后端)、仅本地后端(uvicorn --reload 连接远程中间件)、本地前后端同时启动。每种模式都支持非 localhost 地址部署,部署到远程服务器时自动更新前端 CSP 白名单。
部署架构包含 5 个核心服务:前端(3000 端口)、后端 API(8000 端口)、PostgreSQL(5432)、Redis(6379)和可选的 MCP 服务。生产部署使用 docker-compose.prod.yml,默认拉取预构建镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/jd-opensource/joysafeter-sandbox:latest。
JoySafeter 后端基于 Python 3.12 开发,核心技术选型非常全面:Web 框架 FastAPI + Uvicorn + Gunicorn + Hypercorn;数据库层 SQLAlchemy 2.0 + asyncpg(异步 PostgreSQL)+ Alembic(迁移);LLM 框架 LangChain-OpenAI + LangGraph + DeepAgents;安全分析工具 angr(二进制分析);自动化工具 BeautifulSoup4 + Selenium + mitmproxy;容器管理 Docker SDK;日志系统 Loguru;可观测性 LangFuse;HTTP 客户端 aiohttp + httpx。
前端使用 Next.js + React + ReactFlow + CodeMirror。后端目录结构遵循典型的分层架构:app/api/(路由)、app/core/(核心逻辑)、app/services/(服务层)、app/models/(数据模型)、app/repositories/(数据访问层)、app/schemas/(Pydantic 模型)、app/templates/(Agent 模板)、app/utils/(工具函数)。
需要客观指出的是,JoySafeter 作为相对年轻的项目(v0.3.2 → v0.4),在生产环境中大规模使用时仍需关注以下几点:
代码执行安全:虽然 DeepAgents 在 Docker 沙箱中执行代码,但沙箱的隔离强度需要经过严格的渗透测试验证。安全平台本身成为攻击目标的风险不可忽视,项目也为此发布了专门的 PENETRATION_TESTING_DISCLAIMER_CN.md 文档。
Agent 可靠性:自主运行的渗透测试 Agent 在面对高度复杂的网络环境时,执行路径的不确定性可能产生意外后果,实际生产使用前需要在隔离环境中充分测试。
工具生态成熟度:MCP 协议虽然在 JoySafeter 内部运转良好,但 MCP 生态整体仍在快速发展中,部分安全工具的 MCP Server 实现可能不如原生 API 稳定。
JoySafeter 代表了安全运营领域的一个重要趋势——从单点工具向平台化、智能化演进。随着 LLM 能力的不断增强,让 AI Agent 自主完成渗透测试从侦察到报告的全流程已经成为现实,而 JoySafeter 提供了迄今为止最完整的基础设施来支撑这一工作流。
平台对 MCP 协议的拥抱,意味着它有潜力成为安全工具生态的「统一编排层」——不论安全厂商的工具以何种形式交付,只要实现 MCP Server,就能在 JoySafeter 平台中被调用。这种「平台 + 协议」的模式,与当年 Kubernetes 在容器编排领域的成功路径有相似之处。
对于安全研究和开发团队,JoySafeter 提供了一个可以直接上手的 LangGraph + Multi-Agent 实战参考项目,代码结构清晰,文档完善,是学习 Agent 编排的优秀范本。
项目基本信息
./deploy/quick-start.sh(Docker Compose)