轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥8起我的订单
文档
工具
提交工单页面收录
ghcr.io/intuitem/ciso-assistant-community/frontend

ghcr.io/intuitem/ciso-assistant-community/frontend:canary-20260915-cdf3e1bd2

ghcr.iolinux/amd64canary-20260915-cdf3e1bd2大小: 266.21 MB更新于 2026年10月7日
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这段话即可:

请先阅读并遵守:https://xuanyuan.cloud/agents.md

未读文档前不要生成 pull 命令或排错方案。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

点亮项目星标 🌟,以便获取新版本通知,同时助力社区发展壮大!

intuitem.com · SaaS 免费试用 · 路线图 · https://intuitem.gitbook.io/ciso-assistant · [多语言支持] · [***] · [框架库]

CISO Assistant 为网络安全管理与 GRC(治理、风险与合规)实践带来了全新视角:

  • 设计为中心枢纽,通过对象间智能关联连接各类网络安全概念
  • 以多范式工具为定位开发,可适配不同使用背景、方法论与预期需求
  • 明确将合规要求与网络安全控制解耦,实现全平台范围内的复用能力
  • 倡导复用与互联,避免冗余工作
  • 采用 API-first 开发模式,同时支持 UI 交互与外部自动化操作
  • 内置大量合规标准、安全控制与威胁库
  • 提供开放格式,支持自定义与复用用户自有对象及框架
  • 内置风险评估与整改跟踪工作流
  • 通过简单语法与灵活工具支持自定义框架
  • 提供丰富的跨渠道导入/导出能力(支持 UI、CLI、Kafka、报表等多种场景)

我们的愿景是打造网络安全管理的一站式平台,通过简化操作与互联互通实现 GRC 能力的现代化升级。

作为深耕网络安全领域的从业者与 IT 专业人员,我们也曾遭遇相同痛点:工具碎片化、数据重复录入、缺乏直观的一体化解决方案。CISO Assistant 正是从这些实际经验中诞生,我们围绕实用主义与常识性原则建设开放社区。

我们持续吸纳用户与客户的反馈不断迭代。就像章鱼 🐙 一样,CISO Assistant 会不断长出新的"触手"——为网络安全团队赋能清晰的流程、自动化能力与生产力,同时大幅降低数据录入与输出的工作量。


快速入门 🚀

[!TIP] 最简便的上手方式是使用此处可访问的云实例免费试用。

除此之外,当你在工作站或服务器上完成 Docker 与 Docker Compose 安装后,执行以下操作:

克隆代码仓库:

git clone --single-branch -b main https://github.com/intuitem/ciso-assistant-community.git

随后运行启动脚本:

./docker-compose.sh # Linux/MacOS
./docker-compose.ps1 # Windows

如果你需要查看其他自托管部署选项,请参考配置构建器与https://intuitem.gitbook.io/ciso-assistant。

[!NOTE] 该 docker-compose 脚本使用预构建的 Docker 镜像,支持绝大多数主流硬件架构。如果你使用 Windows 系统,请确保已安装https://www.docker.com/products/docker-desktop/,随后运行 PowerShell 脚本即可,脚本将自动调用你设备上的 Docker Desktop。

你可以调整 docker compose 配置文件,传入额外参数以适配你的部署环境(例如邮件服务器设置)。

[!WARNING] 如果你收到镜像平台与主机平台不匹配的警告或错误,请提交附带详细信息的 Issue,我们会尽快添加对应架构的镜像支持。你也可以改用 docker-compose-build.sh(详见后续说明)为你的特定架构自行构建镜像。

[!CAUTION] 请勿直接将 main 分支代码用于生产环境:该分支为上游合并分支,开发过程中可能引入不兼容的破坏性变更。请使用对应稳定版本的 tags 标签版本或官方预构建镜像。


功能特性

📋 完整功能列表 — 点击展开(支持搜索,共 73 项功能)

合规与框架

  • 审计与项目活动管理
  • 自动映射关联
  • 映射资源浏览器
  • 支持自定义框架
  • 内置 220+ 套合规框架
  • 策略管理
  • 文档管理
  • 证据管理

风险管理

  • 风险评估与风险登记册
  • EBIOS RM 模块
  • 威胁建模
  • 风险审批工作流
  • 业务影响分析
  • 网络风险量化
  • 风险趋势追踪与预测
  • 漏洞管理
  • 漏洞信息增强
  • 安全公告与 CWE 库
  • TTP 目录

第三方风险管理

  • 第三方风险管理
  • 合同管理
  • DORA 信息登记册
  • 外部安全评级对接

运维与整改

  • 行动计划跟踪与优先级排序
  • 问题发现跟踪
  • 建议引擎
  • 控制计划管理
  • 任务管理
  • 看板视图
  • 定期检查任务
  • 技术态势管理
  • 例外事项跟踪
  • 事件管理
  • DORA 事件上报
  • 验证与审批流程
  • 邮件提醒

报表与分析

  • 分析面板与仪表盘
  • 报表生成
  • 自动化质量校验
  • 高级洞察能力
  • 自定义指标跟踪
  • Power BI 连接器

协作与效率

  • 任务分配与响应人模式
  • 请求管理
  • 快速表单
  • 评论与协作
  • 全局搜索
  • 命令面板
  • 应用内通知中心

自动化与集成

  • 工作流自动化
  • 完备的 REST API
  • 自动化专用 CLI
  • 数据导入向导
  • Kafka 集成
  • MCP 支持
  • 基于 RAG 的 AI 助手
  • 出站 Webhook
  • Jira 与 ServiceNow 集成
  • 咨询顾问专属功能(例如单域导出/导入)

安全与访问控制

  • 灵活的 RBAC 权限体系
  • 支持 SAML 或 OIDC 协议的 SSO 单点登录
  • 支持 TOTP 与安全密钥的 MFA 多因素认证
  • SCIM 账号自动配置
  • 审计日志

隐私合规

  • GDPR 处理流程管理

项目管理

  • 项目管控
  • 责任矩阵

平台能力

  • 门户与信任中心
  • 自定义字段
  • 多级域支持
  • Kubernetes(Helm)部署
  • 完全开源
  • 支持 27+ 种语言

后续规划功能已在路线图中公示。

CISO Assistant 由专注于网络安全、云服务与数据/AI 领域的 Intuitem 公司开发与维护。


核心概念

以下为 CISO Assistant 中的部分基础构建块说明,用于阐释鼓励复用性的解耦设计理念:

完整细节请参考数据模型文档。


解耦设计理念

解耦原则是 CISO Assistant 的核心设计思想,可支撑多种高阶使用场景,大幅节省操作时间:

  • 在不同范围或框架中复用过往评估结果
  • 针对单个评估范围同时对照多个框架完成合规评估
  • 由 CISO Assistant 自动完成报表生成与一致性校验,你可专注于整改工作
  • 将控制措施的落地实现与合规跟踪流程完全分离

下图为解耦原则及其优势的示意说明:

系统架构

最终用户文档

在线文档请访问官方站点查看。

本地 AI 引擎部署配置

详细说明请参考文档:AI 引擎

支持框架 🐙

  1. ISO 27001:2013 & 27001:2022 🌐
  2. NIST 网络安全框架(CSF)v1.1 🇺🇸
  3. NIST 网络安全框架(CSF)v2.0 🇺🇸
  4. NIS2 🇪🇺
  5. SOC2 🇺🇸
  6. PCI DSS 4.0.1 💳
  7. CMMC v2 🇺🇸
  8. PSPF 🇦🇺
  9. 《通用数据保护条例》(GDPR):来自 GDPR.EU 的完整文本与检查清单 🇪🇺
  10. 澳大利亚《Essential Eight》(成熟度模型,2023 年 11 月版) 🇦🇺
  11. 含 2023-11 修订案的 NYDFS 500 规范 🇺🇸
  12. DORA(法案、监管技术标准、实施技术标准及指南) 🇪🇺
  13. NIST AI 风险管理框架 🇺🇸🤖
  14. NIST SP 800-53 rev5 🇺🇸
  15. 法国《OIV 规则 - "国家民事活动"领域(2019)》 🇫🇷
  16. 比利时 CCB 网络基础框架 🇧🇪
  17. NIST SP-800-66(HIPAA) 🏥
  18. 法国 HDS/HDH 健康数据托管资质规范 🇫🇷
  19. OWASP 应用安全验证标准(ASVS)4 🐝🖥️
  20. 法国 RGS v2.0 通用安全参考框架 🇫🇷
  21. 航空网络安全规范 AirCyber ✈️🌐
  22. 《网络弹性法案》(CRA) 🇪🇺
  23. TIBER-EU 欧洲红蓝对抗测试框架 🇪🇺
  24. NIST 隐私框架 🇺🇸
  25. TISAX(VDA ISA)v5.1、v6.0 及 v2027 🚘
  26. 法国 ANSSI 网络安全卫生指南 🇫🇷
  27. 沙特阿拉伯基础网络安全控制集(ECC) 🇸🇦
  28. CIS Controls v8* 🌐
  29. CSA 云控制矩阵(CCM)* ☁️
  30. 《联邦数据保护法》(FADP) 🇨🇭
  31. NIST SP 800-171 rev2(2021) 🇺🇸
  32. 法国 ANSSI:生成式 AI 系统安全建议(v1.0) 🇫🇷🤖
  33. NIST SP 800-218:安全软件开发框架(SSDF) 🖥️
  34. GSA FedRAMP rev5 ☁️🇺🇸
  35. 法国网络合规框架(3CF)v1(2021) ✈️🇫🇷
  36. 法国 ANSSI:SecNumCloud 云安全认证规范 ☁️🇫🇷
  37. 法国网络合规框架(3CF)v2(2024) ✈️🇫🇷
  38. 法国 ANSSI:网络危机管理自评估工具 💥🇫🇷
  39. 德国 BSI:IT 基础保护纲要 🇩🇪
  40. NIST SP 800-171 rev3(2024) 🇺🇸
  41. ENISA:5G 安全控制矩阵 🇪🇺
  42. OWASP 移动应用安全验证标准(MASVS) 🐝📱
  43. 由 intuitem 制定的敏捷安全框架(ASF)基线版本 🤗
  44. ISO 27001:2013 🌐(用于旧版兼容与迁移场景)
  45. 欧盟 AI 法案 🇪🇺🤖
  46. 美国联邦调查局 CJIS 刑事司法信息安全规范 🇺🇸👮
  47. 沙特阿拉伯运营技术网络安全控制集(OTCC) 🇸🇦
  48. 安全控制框架(SCF)2026.3 🇺🇸🌐
  49. 英国 NCSC - 网络评估框架(CAF)v3.2 🇬🇧
  50. 《加州消费者隐私法案》(CCPA) 🇺🇸
  51. 《加州消费者隐私法案》实施细则 🇺🇸
  52. 英国 NCSC 网络基础安全规范 🇬🇧
  53. 摩洛哥 《国家信息系统安全指令》(DNSSI) 🇲🇦
  54. Part-IS(2025 年 10 月 16 日合并修订版) ✈️🇪🇺
  55. 西班牙国家电子安全框架(ENS) 🇪🇸
  56. 韩国 ISA ISMS-P 信息安全管理体系规范 🇰🇷
  57. 瑞士 ICT 最低安全标准 🇨🇭
  58. Adobe 通用控制框架(CCF)v5 🌐
  59. 德国 BSI 云计算合规标准目录(C5)2020 版与 2026 版 🇩🇪
  60. 突尼斯 ANCS 信息系统安全审计参考规范 🇹🇳
  61. 欧洲央行 针对***市场基础设施的网络弹性监管要求 🇪🇺
  62. 德国 BSI 外部云服务使用最低标准(2.1 版) 🇩🇪
  63. 法国国防采购局(DGA) 基础级成熟度评估表 🇫🇷
  64. NIS2 技术与方法要求 2024/2690 🇪🇺
  65. 沙特阿拉伯货币管理局(SAMA)网络安全框架 🇸🇦
  66. 法国国家信息与自由委员会(CNIL)数据安全指南 🇫🇷
  67. 《国际***贸易条例》(ITAR) 🇺🇸
  68. 美国联邦贸易委员会(FTC) 客户信息保护安全标准 🇺🇸
  69. OWASP 大语言模型治理与安全检查清单 🌐
  70. 法国 ANSSI:敏感或受限传播信息系统架构安全建议(v1.2) 🇫🇷
  71. CIS Benchmarks — Kubernetes(v1.10、v2.0.1)、AWS、Azure、GCP、Microsoft 365、Google Workspace、GitHub、GitLab、Debian 12/13、Ubuntu 24.04 LTS、Windows 11 🌐
  72. 丹麦 ***机构技术最低安全要求 🇩🇰
  73. Google 安全 AI 框架(SAIF) 🤖
  74. 法国 ANSSI:信息系统安全管理建议(v3.0) 🇫🇷
  75. 澳大利亚 APRA 审慎标准 CPS 230 - 操作风险管理 🇦🇺
  76. 澳大利亚 APRA 审慎标准 CPS 234 - 信息安全 🇦🇺
  77. 车辆网络安全审计标准(VCSA)v1.1 🚘
  78. Cisco 云控制框架(CCF)v3.0 ☁️🌐
  79. 瑞士 FINMA 通告 2023/01 - 银行操作风险与弹性要求 🇨🇭
  80. 后量子密码学(PQC)迁移路线图(2025 年 5 月版) 🔐
  81. 云主权框架 1.2.1 版(2025 年 10 月) 🇪🇺
  82. ISO 22301:2019 概要 - 业务连续性管理体系 🌐
  83. 比利时 CCB 网络基础框架 2025 版 🇧🇪
  84. 法国 安全事件检测服务商(PDIS) 要求参考规范 🇫🇷
  85. 供应商尽职调查简易基线版本 - intuitem 🌐
  86. 法国 ANSSI:Active Directory(AD)检查点指南(2026 年 4 月) 🇫🇷
  87. ISO 42001:2023 概要 - 人工智能管理体系(含附录 A) 🤖🌐
  88. 印度《数字个人数据保护法案》(DPDPA)- 2023 版 🇮🇳
  89. 爱沙尼亚国家网络安全标准(E-ITS)- 2024 版 🇪🇪
  90. Microsoft 云安全基线 v1 ☁️🌐
  91. 荷兰***信息安全基线 2(BIO2) 🇳🇱
  92. 法国 ANSSI:MonAideCyber 自助评估问卷 🇫🇷
  93. ITSP.10.171 - 加拿大 非***系统与组织指定信息保护规范 🇨🇦
  94. CISA 供应商供应链风险管理(SCRM)模板 🇺🇸
  95. 欧洲可持续发展报告标准(ESRS) 🇪🇺
  96. ITIL 4 管理实践体系 🌐
  97. NOREA - DORA 管控框架 v3.0 🇪🇺
  98. NIS-1 法国本土转化实施规范 🇫🇷
  99. 法国国家公共职能体系信息安全政策(PSSI État) 🇫🇷
  100. 法国 安全合规认证文档检查清单 🇫🇷
  101. 法国 EBIOS RM v3.1 标签规范需求说明书 🇫🇷
  102. SecNumCloud v3.2 附录 2:面向云服务采购方的建议 ☁️🇫🇷
  103. 比利时 CCB 小型机构网络基础自评估框架 🇧🇪
  104. Mitre ATT&CK v19.1 - 威胁与缓解措施目录 🌐
  105. Mitre D3FEND - 安全控制参考目录 🌐
  106. OWASP 十大 Web 应用风险 - 威胁目录 🐝🌐
  107. OWASP 移动端威胁建模指南 - 威胁目录 🐝📱
  108. CISA 网络安全绩效目标(CPG)v2.0 🇺🇸
  109. 法国 ANSSI:适配 NIS2 ***的法国网络参考框架(ReCyF) 🇫🇷
  110. 法国网络合规框架(3CF)v3.1(2026) ✈️🇫🇷
  111. 法国《OIV 规则 - "航空运输"领域(2016)》 ✈️🇫🇷
  112. IEC 62443 系列标准 — 第 2-1、2-4、3-2、3-3、4-1、4-2 部分 🏭🌐
  113. 《关键实体弹性指令》(CER) 🇪🇺
  114. EUDI ARF — 欧盟数字身份***高阶要求(附录 2.02) 🇪🇺
  115. 英国国防标准 05-138 第 4 版 🇬🇧
  116. 法国 HAS ***保健机构服务质量认证参考规范 🇫🇷🏥
  117. 沙特阿拉伯《个人数据保护法》(PDPL) 🇸🇦
  118. 英国 NCSC - 网络评估框架(CAF)v4.0 🇬🇧
  119. 荷兰 公共部门采购通用安全要求(ABRO)2026 🇳🇱
  120. 荷兰 国防采购通用安全要求(ABDO)2019 🇳🇱
  121. 法国 ANSSI:工业系统网络安全详细措施 🇫🇷🏭
  122. 荷兰 Cbw(NIS2)控制框架 v1.2 🇳🇱
  123. ENISA 中小企业网络弹性成熟度评估框架(CRA) 🇪🇺
  124. ISO 27701:2025 概要 - 隐私信息管理体系(含附录 A) 🌐
  125. Plumber CI/CD 安全检查工具 🖥️
  126. 联合国教科文组织 AI 成熟度框架 🤖🌐
  127. OWASP 2026 年智能体应用十大风险 🐝🤖

社区贡献内容

1. PGSSI-S (法国医疗信息系统通用安全政策) 🇫🇷
2. ANSSI:GNU/Linux 系统配置建议(v2.0) 🇫🇷
3. PSSI-MCAS (法国社会事务部信息系统安全政策) 🇫🇷
4. ANSSI:关键信息系统防护建议(v1.0) 🇫🇷
5. ANSSI:日志系统架构安全建议(v2.0) 🇫🇷
6. ANSSI:TLS 相关安全建议(v1.2) 🇫🇷
7. 新西兰信息安全手册(NZISM) 🇳🇿
8. 法国医疗 RSSI 俱乐部数字安全套件 🇫🇷
9. 阿尔及利亚邮电部国家信息安全基准(RNSI) 🇩🇿
10. 意大利 AGID 公共管理部门 ICT 最低安全措施 🇮🇹
11. 意大利国家网络安全框架 v2(FNCS) 🇮🇹
12. 意大利 ACN 网络安全与数据保护国家框架 🇮🇹
13. 贝宁 ANSSI 关键信息系统安全政策(PSSIE) 🇧🇯
14. ANSSI IGI 1300 / II 901 - 涉密信息系统实施需求清单 🇫🇷
15. 法国通用安全基准 2.0 - 附件 B2 🇫🇷
16. ANSSI:物理访问控制系统与视频监控系统安全加固建议(v2.2) 🇫🇷
17. ANSSI:(Open)SSH 安全使用建议(v1.3) 🇫🇷
18. ANSSI:IPsec 网络流量防护安全建议(v1.1) 🇫🇷
19. ANSSI:信息系统接入互联网互联安全建议(v3.0) 🇫🇷
20. 加密机制指南 🇫🇷
21. SWIFT 客户安全控制框架(CSCF)v2025 🏦🌐
22. OWASP 应用安全验证标准(ASVS)5 🐝🖥️
23. NIST 800-82(OT)- 附录 🏭🤖
24. 印度储备银行 2023 年总体指引 🏦🇮🇳
25. 摩洛哥第 05-20 号网络安全法 🇲🇦
26. 立陶宛 NIS2 网络安全法 🇱🇹
27. 信息系统安全审计服务商认证标准(PASSI) 🇫🇷
28. 法国国家医疗保健机构 CaRE 计划 - 第 2 领域(业务连续性与容灾备份) 🇫🇷🏥
29. 法国国家医疗保健机构 HospiConnect HOP'EN2 标准(医院信息系统访问安全加固) 🇫🇷🏥
30. 摩洛哥第 09-08 号自然人个人数据保护法 🇲🇦
31. 摩洛哥第 09-08 号法律需求检查清单 🇲🇦
32. 摩洛哥云服务服务商资质认定需求基准 ☁️🇲🇦
33. AI 防御矩阵 🤖🌐
34. 面向运营技术的零信任框架(ZT OT) 🇺🇸🏭
35. 土耳其 T.C. CBDDO 信息与通信安全指南(BİGR) 🇹🇷
36. 沙特 NCA NCNICC-1:2025 🇸🇦
37. 沙特 NCA ECC-2:2024 🇸🇦
38. 沙特 NCA CCC-1:2020 🇸🇦

[!NOTE] 标注有 * 的框架需要额外手动从其官方网站获取最新 Excel 表,受许可协议限制无法直接内置使用。你可以直接将该 Excel 文件作为库加载至系统中。

你可以查看 library 与 tools 目录,了解所使用的领域特定语言(DSL)语法,以及如何自定义你自己的规范库。

即将上线

  • 印度尼西亚个人数据保护法(PDP) 🇮🇩

  • OWASP SAMM

  • 中非银行业监管委员会 COBAC R-2024/01

  • 英国 ICO 数据保护自评估指南 🇬🇧

  • 澳大利亚 ASD 信息安全手册(ISM) 🇦🇺

  • 更多规范可直接在 *** 社群内提出需求。只要是公开开放标准,我们都将免费为你提供适配支持 😉

添加自定义规范库

一个规范库可以代表合规框架、威胁目录、参考控制集,甚至自定义风险矩阵。

目前支持直接从 Excel 文件加载规范库,无需预先手动将其转换为 YAML 格式——上传 Excel 文件后,系统会自动在内部完成格式转换。

你可以查看 tools 目录下的专属说明文档,其中明确规定了规范库源文件所需的 Excel 格式规范。该目录下的 excel 子文件夹中存放了现有规范库对应的 XLSX 示例文件,你可以直接将其作为模板创建自定义库。

要从 Excel 文件加载规范库,进入 治理 → 规范库 页面,点击 加载 按钮,选择你已准备好的 Excel 源文件即可。所有验证错误或解析错误都会在导入过程中实时提示。

可选:将规范库转换为 YAML 格式

尽管支持直接加载 Excel 文件,你仍可通过配套 Python 脚本将规范库源文件转换为 YAML 格式:

  • convert_library_v2.py 脚本可基于符合格式要求的 Excel 文件生成对应规范库。在 Excel 中按规定结构整理好所有条目后,运行该脚本即可输出对应的 YAML 文件。
  • tools 目录中还包含面向特定框架(例如 CIS 或 CCM 控制集)的专用转换工具。

创建框架映射库

为了简化不同框架间映射关系的创建流程,你可以使用 prepare_mapping_v2.py 工具。该工具会基于两个已有的 YAML 格式框架库生成对应的 Excel 模板文件。完成映射关系填写后,生成的 Excel 文件支持两种后续处理方式:

  • 直接导入应用程序使用,或
  • 通过 convert_library_v2.py 脚本转换为 YAML 格式。

社区

加入我们的开放 *** 社区,与开发团队及其他 GRC 领域专家交流互动。

体验云版本

最快最简便的上手方式是直接访问此处的云实例免费试用通道。

本地运行 🚀

想要在本地快速部署运行 CISO Assistant,你可以使用 Docker Compose 完成整套环境的一键启动:

  1. 更新 Docker 环境 请确保你本地安装的 Docker 版本不低于 27.0。

  2. 克隆代码仓库

git clone --single-branch -b main https://github.com/intuitem/ciso-assistant-community.git
cd ciso-assistant-community
  1. 运行预构建镜像的 Docker Compose 启动脚本:
# Linux/MacOS
./docker-compose.sh
# Windows
./docker-compose.ps1

或者 你也可以使用以下变体脚本,为当前系统架构直接构建本地 Docker 镜像:

# Linux/MacOS
./docker-compose-build.sh
# Windows
./docker-compose-build.ps1

脚本运行过程中会提示你输入超级管理员的***地址与登录密码。 完成部署后,你可以直接通过浏览器访问 https://localhost:8443/ 进入 CISO Assistant 系统。 后续重新启动环境时,直接运行 docker compose up 命令即可。

配置 CISO Assistant 开发环境

[!WARNING]

Windows 用户重要说明

在 Windows 平台上开展开发工作的最佳方案是使用安装于 WSL2 中的 Ubuntu(无需额外安装 Docker)。

目前也支持不依赖 WSL2 与 Docker,直接在 Windows 原生环境中运行并开发 CISO Assistant,但需要执行额外的配置步骤。请注意,Windows 原生运行方案目前仍处于实验阶段,如果你不确定操作逻辑,或需要保证开发过程的稳定性,请勿使用该方案。 即便如此,我们仍欢迎你提出各类建议,帮助我们优化 Windows 用户的开发体验。你完全可以提交相关 Issue 或 PR 反馈你的想法!

环境要求

  • Python 3.14+
  • pip 25.3+
  • uv 0.9+
  • node 24+
  • npm 10.2+
  • pnpm 10.30+
  • yaml-cpp(执行安装命令 brew install yaml-cpp libyaml 或 apt install libyaml-cpp-dev)

[实验性] 不使用 WSL2 的 Windows 开发附加要求

如果你希望在不启用 WSL2 的情况下开发本项目,需要先安装 MSYS2,将 MSYS2 UCRT64 的二进制文件目录添加至系统 PATH 环境变量(二进制文件默认路径通常为 C:\msys64\ucrt64\bin),之后通过 MSYS2 UCRT64 执行 pacman 命令安装以下依赖:

pacman -S mingw-w64-ucrt-x86_64-file mingw-w64-ucrt-x86_64-pango

安装完上述依赖后,还需要新增以下 2 个系统环境变量:

MAGIC=magic.mgc 文件的完整路径(默认通常为 C:\msys64\ucrt64\share\misc\magic.mgc)
WEASYPRINT_DLL_DIRECTORIES=MSYS2 UCRT64 二进制文件所在路径

由于 Windows 默认编码为 cp1252 而非 UTF-8,部分打印 UTF-8 字符(比如 emoji 表情)的 Python 脚本在部分场景下(例如库导入过程)可能导致后端崩溃或运行异常。 为避免本项目出现该类问题,请新增以下 2 个用户环境变量强制启用 UTF-8 编码:

PYTHONUTF8=1
PYTHONIOENCODING=utf-8:replace

[!NOTE]

已知问题

  • Windows 平台用于 MIME 类型检测的 libmagic 库在识别 Excel 文件(.xlsx)时存在缺陷:它仅读取文件前 2048 位内容,导入 Excel 资源库时绝大多数情况下会返回 application/octet-stream,后端会显示警告信息 [warning ] Invalid MIME type。不过该问题不会阻碍 Excel 文件的正常导入,项目代码中 backend/library/views.py:StoredLibraryViewSet.upload_library 路径下的降级处理逻辑会自动完成导入。

运行后端

  1. 克隆代码仓库。
git clone git@github.com:intuitem/ciso-assistant-community.git
cd ciso-assistant-community
  1. 在项目根目录的上层文件夹中新建一个文件(例如命名为 ../myvars),复制并修改以下配置内容,将占位的 " " 替换为你自己的私有配置值,把所有环境变量保存在该文件中。请注意不要将该配置文件提交到 Git 仓库。

必填变量

后端所有变量都提供了便捷的默认值。

推荐配置变量

export DJANGO_DEBUG=True

# 默认 URL 为 http://localhost:5173,你可以自行修改,例如搭配 Caddy 代理使用 HTTPS 协议
export CISO_ASSISTANT_URL=https://localhost:8443

# 配置开发环境邮件发送器,例如搭配 Mailpit 使用
export EMAIL_HOST_USER=''
export EMAIL_HOST_PASSWORD=''
export DEFAULT_FROM_EMAIL=ciso-assistant@ciso-assistantcloud.com
export EMAIL_HOST=localhost
export EMAIL_PORT=1025
export EMAIL_USE_TLS=True # 启用 STARTTLS 时设为 true
export EMAIL_USE_SSL=False # 启用 SMTPS 时设为 true

其他变量

# CISO Assistant 默认使用 SQLite 数据库,你也可以通过声明以下变量配置 PostgreSQL 数据库
export POSTGRES_NAME=ciso-assistant
export POSTGRES_USER=ciso-assistantuser
export POSTGRES_PASSWORD=
export POSTGRES_PASSWORD_FILE= # 另一种指定密码的方式
export DB_HOST=localhost
export DB_PORT=5432 # 可选参数,默认值为 5432

# CISO Assistant 默认使用文件系统存储后端
# 同一时间仅能启用一个云存储后端,USE_S3 和 USE_AZURE 配置互斥。

# --- AWS S3 存储 ---
# 声明以下变量即可使用 S3 存储桶
# 你需要在启动 CISO Assistant 前提前创建好 S3 存储桶
export USE_S3=True
export AWS_STORAGE_BUCKET_NAME=
export AWS_S3_REGION_NAME= # 可选参数,例如 us-east-1

# S3 认证方式 1:访问密钥(适用于独立部署或兼容 S3 协议的第三方对象存储服务)
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export AWS_S3_ENDPOINT_URL= # 使用兼容 S3 协议的服务(例如 MinIO)时必填

# S3 认证方式 2:IRSA(适用于 Kubernetes/EKS 部署场景)
# 在启用了服务账号 IAM 角色(IRSA)的 EKS 集群上运行时,
# 以下环境变量会由 Pod 的服务账号自动注入,无需手动显式配置,
# 你只需确保已设置 USE_S3=True 和 AWS_STORAGE_BUCKET_NAME 即可。
# export AWS_WEB_IDENTITY_TOKEN_FILE=/var/run/secrets/eks.amazonaws.com/serviceaccount/token
# export AWS_ROLE_ARN=arn:aws:iam::123456789012:role/ciso-assistant-s3-role

# --- Azure Blob 存储 ---
# 你也可以使用 Azure Blob 存储容器替代 S3 存储
# 你需要在启动 CISO Assistant 前提前创建好对应的存储容器
# export USE_AZURE=True
# export AZURE_CONTAINER= # 默认值为 ciso-assistant-container
# export AZURE_CUSTOM_DOMAIN= # 可选参数,例如 cdn.example.com
# export AZURE_LOCATION= # 可选参数,容器内的路径前缀,例如 "media"

# Azure 认证方式 1:账户密钥
# export AZURE_ACCOUNT_NAME=
# export AZURE_ACCOUNT_KEY=

# Azure 认证方式 2:连接字符串
# export AZURE_CONNECTION_STRING=

# Azure 认证方式 3:托管身份(适用于 Azure 托管部署场景)
# 需要提前配置 AZURE_ACCOUNT_NAME,Pod 或虚拟机绑定的托管身份会自动完成鉴权
# export AZURE_ACCOUNT_NAME=
# export AZURE_USE_MANAGED_IDENTITY=True

# 配置第二套备用邮件发送器(该功能后续将被弃用,不再推荐使用)
export EMAIL_HOST_RESCUE=
export EMAIL_PORT_RESCUE=587
export EMAIL_HOST_USER_RESCUE=
export EMAIL_HOST_PASSWORD_RESCUE=
export EMAIL_USE_TLS_RESCUE=True
export EMAIL_USE_SSL_RESCUE=False

# 你可以指定首个超级用户的邮箱地址,便于自动化部署,系统会向该邮箱发送密码初始化邮件
export CISO_SUPERUSER_EMAIL=

# 默认情况下,CISO Assistant 每次启动时都会随机生成 Django 密钥,该机制非常适合快速测试场景,
# 但不推荐在生产环境使用,因为随机密钥会导致会话状态异常,你可以参考这篇[文档](https://stackoverflow.com/questions/15170637/effects-of-changing-djangos-secret-key)了解更多细节。
# 如需设置固定密钥,请使用 DJANGO_SECRET_KEY 环境变量。
export DJANGO_SECRET_KEY=...

用于运行不可信代码的沙箱模式(例如 Excel 库文件)

[!WARNING] 在生产环境中必须启用沙箱机制。

export ENABLE_SANDBOX=True
# 可选参数,在生产环境(DJANGO_DEBUG=False)中默认值为 True,在开发环境(DJANGO_DEBUG=True)中默认值为 False。

日志配置

export LOG_LEVEL=INFO
# 可选参数,默认值为 INFO。可用选项:DEBUG、INFO、WARNING、ERROR、CRITICAL
export LOG_FORMAT=plain
# 可选参数,默认值为 plain。可用选项:json、plain
# 将 LOG_FORMAT=json 设置为 json 格式后,每行将输出一个 JSON 对象(包含时间戳、级别、日志记录器、事件等字段)
# 可供 Splunk、Sentinel、ADX 等 SIEM 系统直接接入,无需自定义解析。
# 请在前端容器中同样设置 LOG_FORMAT=json,以便从 SvelteKit SSR 进程获取遵循相同 schema 的结构化 JSON 日志
# (包含身份验证事件、错误等日志);后端和 huey 任务队列工作进程会自动共享该配置。

身份验证选项

export AUTH_TOKEN_TTL=3600
# 可选参数,默认值为 3600 秒(60 分钟)。该参数定义身份验证令牌的有效期
export AUTH_TOKEN_AUTO_REFRESH=True
# 可选参数,默认值为 True。该参数定义每次使用令牌完成身份验证的请求后,是否自动刷新令牌 TTL
export AUTH_TOKEN_AUTO_REFRESH_TTL=36000
# 可选参数,默认值为 36000 秒(10 小时)。该参数定义自动刷新后身份验证令牌的有效期。将该值设为 0 可禁用自动刷新功能。

[实验性功能] 无需 WSL2 的 Windows 平台开发额外变量 仅支持配置 PostgreSQL 自定义变量。 更多信息请参考 tools/.windows/README.md 中记录的辅助脚本说明。

  1. 安装 uv 访问 uv 官方网站查看安装指引。

  2. 进入 backend 目录并安装所需依赖。

cd backend
uv sync
  1. 推荐操作:安装 pre-commit 钩子。
pre-commit install
  1. 如需配置 PostgreSQL,请执行以下操作:
  • 运行以下任意一条命令进入 PostgreSQL 交互环境:
    • psql as superadmin
    • sudo su postgres
    • psql
  • 创建名为 "ciso-assistant" 的数据库
    • create database ciso-assistant;
  • 创建用户 "ciso-assistantuser" 并为其授予数据库访问权限
    • create user ciso-assistantuser with password ' ';
    • grant all privileges on database ciso-assistant to ciso-assistantuser;

[实验性功能] 在 Windows 平台配置 PostgreSQL 更多信息请参考 tools/.windows/README.md 文档。

  1. 如需配置 S3 存储桶,请执行以下操作:
  • 选择你所用的 S3 服务提供商,也可通过以下命令使用 minIO 体验 S3 特性:
    • docker run -p 9000:9000 -p 9001:9001 -e "MINIO_ROOT_USER=XXX" -e "MINIO_ROOT_PASSWORD=XXX" quay.io/minio/minio server /data --console-address ":9001"
  • 完成启动后你可访问控制台查看存储桶状态
  • 登录时使用你在上述 docker 运行命令环境变量中填写的凭据
  • 在 backend 目录中导出所有与 S3 相关的环境变量
  • 你可以在上方推荐变量列表中查看完整配置项
  1. 执行数据库迁移。
uv run python manage.py migrate

[实验性功能] 无需 WSL2 的 Windows 平台执行数据库迁移 更多信息请参考 tools/.windows/README.md 文档。

  1. 创建 Django 超级用户,该用户将作为 CISO Assistant 的管理员。

如果你已配置邮件服务并设置了 CISO_SUPERUSER_EMAIL 变量,则无需通过 createsuperuser 命令手动创建 Django 超级用户,系统会在首次启动时自动创建该用户,你将收到一封包含密码设置链接的邮件。

uv run python manage.py createsuperuser

[实验性功能] 无需 WSL2 的 Windows 平台创建 Django 超级用户 更多信息请参考 tools/.windows/README.md 文档。

  1. 运行开发服务器。
uv run python manage.py runserver

[实验性功能] 如何在 Windows 原生环境中运行开发服务器? 当你在 Windows 原生环境中直接运行 Django 开发服务器时,SvelteKit SSR 可能会发起大量并发 API 连接,超出服务器默认的监听队列上限,这可能导致前端出现间歇性 ECONNREFUSED / TypeError: fetch failed 错误。 如需在 Windows 原生环境中完成开发配置,请使用 tools/.windows/README.md 中记录的辅助脚本。

  1. 配置 Huey(任务运行器)
  • 配置测试用的邮件服务
  • 在单独的 shell 窗口中执行 python manage.py run_huey -w 2 -k process 或等效命令
  • 你可以设置 MAIL_DEBUG 变量,将邮件内容直接输出到控制台,便于调试

运行前端服务

  1. 进入 frontend 目录
cd frontend
  1. 安装依赖
npm install -g pnpm
pnpm install
  1. 启动开发服务器(请确保 Django 后端服务已经启动)
pnpm run dev
  1. 访问前端服务

[!NOTE] 在此开发配置下 Safari 浏览器无法正常工作,因为安全 Cookie 要求站点启用 HTTPS。最简单的解决方案是使用 Chrome 或 Firefox 浏览器,你也可以选择部署 caddy 反向代理来解决该问题,更多相关信息请参考 frontend 目录下的 README 文档。

  1. 环境变量 前端所有变量均提供了便捷的默认值。 如果你将前端服务部署到其他主机,需要设置以下变量:PUBLIC_BACKEND_API_URL,它的默认值为当前开发后端地址。 PUBLIC_BACKEND_API_EXPOSED_URL 是 SSO 正常运行的必需配置,该值代表浏览器端可见的 API 访问地址,应等于后端 CISO_ASSISTANT_URL 拼接 /api 的结果。 当你不使用 pnpm run dev 而是直接启动 node server 运行生产模式前端服务时,需要将 ORIGIN 变量设置为与后端 CISO_ASSISTANT_URL 一致的值(例如你的服务部署域名)。

管理迁移文件

所有迁移文件均已纳入版本控制。 针对产品首个正式版本,建议从全新的干净迁移状态开始初始化。

注意:如需清理现有迁移文件,请执行以下命令:

find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete

完成模型变更(或迁移文件清理)后,必须重新生成迁移文件:

uv run python manage.py makemigrations
uv run python manage.py migrate

生成的迁移文件必须提交到版本控制系统进行跟踪。


测试套件

如需在后端运行 API 测试,只需在 backend 目录的 shell 中执行 uv run pytest 即可。

如需在前端运行功能测试,请执行以下操作:

  • 进入 frontend 目录,执行以下命令:
tests/e2e-tests.sh

测试套件的核心目标是避免功能回归,因此后端和前端的所有测试用例都必须成功通过。


API 与 Swagger 文档

  • 交互式 API 文档(Swagger UI)仅在开发模式下可用。如需启用该功能,请在启动后端之前执行 export DJANGO_DEBUG=True。
  • 服务启动后,可通过路径 /api/schema/swagger/ 访问文档,例如本地部署的访问地址为 http://localhost:8000/api/schema/swagger/。

如需通过 Swagger 或直接发送 HTTP 调用与 API 交互:

  1. 在应用的用户个人资料中创建个人访问令牌(PAT)。
  2. 在后续请求的请求头中携带该令牌,格式如下:Authorization: Token

[!NOTE] 请使用 Token,不要使用 Bearer。

PAT 完全遵循 MFA 规则:由于令牌是通过已认证会话颁发的,因此启用了 MFA 保护的账号安全性不受影响。对于交互式/浏览器场景,身份验证仍会经过标准登录流程(该流程会在启用 MFA 时强制校验多因子凭据)。

CISO Assistant 生产环境配置说明

随附的 docker-compose.yml 文件提供了面向测试场景的相关配置,在前端前端的前端前置了一个 Caddy 代理,直接暴露完整的 API 接口,该配置目前不建议直接用于生产环境。

针对生产场景,你可以通过配置生成器生成经过强化、适配业务需求的自定义 docker-compose.yml 文件,同时仍需完成多项额外安全加固步骤。

以下是适用于生产环境的配置建议:

  • 出于安全考虑,将环境变量设置为 DJANGO_DEBUG=False。
  • 所有镜像(后端、前端、反向代理)都指定最新正式发布版本,避免版本浮动。
  • 强化网络配置:仅对外暴露必要端口,通过 URL 访问控制规则限制完整 API 的访问来源,仅开放给可信 IP 段。 如果已限制公开 API 访问范围并启用了 SSO 单点登录,请确保以下端点可被浏览器或身份提供商正常访问:
    • /api/iam/sso/redirect/
    • /api/accounts/saml/0/acs/
    • /api/accounts/saml/0/acs/finish/
    • /api/accounts/oidc/openid_connect/login/callback/
    • /api/accounts/saml/0/sls/(仅当启用 SAML 单点登出功能时需要)
  • 采用非 root 用户部署,具体操作见下文说明。
  • 为反向代理配置有效的 SSL 证书。
  • 如果反向代理未与后端、前端部署在同一台主机上,请在节点之间通过 *** 等 *** 工具建立加密通信通道。
  • 数据库使用加密卷存储,并妥善保管加密密钥。
  • 所有敏感信息通过环境变量注入,不要直接写入 docker-compose.yml 文件中。

[!NOTE] 前端无法自动推断当前服务的主机地址,因此你需要显式设置 ORIGIN 变量,或者同时配置 HOST_HEADER 和 PROTOCOL_HEADER 变量。关于该特殊问题的详细说明可查阅 https://kit.svelte.dev/docs/adapter-node#environment-variables-origin-protocolheader-hostheader-and-port-header。注意:该配置规则不适用于 pnpm run dev 开发模式,生产环境无需关注该限制。

[!NOTE] Caddy 必须收到 SNI 头才能正常工作。因此你在 CISO_ASSISTANT_URL 中声明的公开访问地址必须使用完整域名(FQDN),不能直接使用 IP 地址 —— 浏览器访问 IP 地址时不会发送 SNI 头,这是一个需要特别留意的兼容性问题。

[!NOTE] 最新版的 docker-compose 模板文件默认会以后端、huey 任务队列和前端容器均采用非 root 用户模式运行。如果你仍在使用旧版的 docker-compose.yml 文件,建议进行升级;所有容器镜像均同时兼容 root 和非 root 两种运行模式。

非 root Docker 容器部署

新版 docker-compose.yml 默认使用镜像内预置的非 root 用户 1001:1001,旧部署中使用的 root 用户模式目前仍被兼容支持。如需迁移到非 root 模式,请在宿主机上按以下步骤执行:

docker compose down
# 更新 docker-compose.yml 文件到最新版本
sudo chown -R 1001:1001 db
docker compose up -d

支持语言 🌐

翻译基准文件为 en.json;语言覆盖率指各本地化语言文件中包含的基准文件键值对占比。相关统计每日自动更新,完整明细可查看https://intuitem.github.io/metrics/i18n/。

贡献者 🤝

技术栈 💜

  • https://caddyserver.com — 高性能反向代理服务
  • Django — Python Web 开发框架
  • Django REST Framework — Web API 开发工具包
  • django-allauth — 身份验证、MFA 和 SSO 统一实现组件
  • https://www.docker.com/ — 容器运行引擎
  • https://echarts.apache.org — 数据可视化图表库
  • Font Awesome — 图标资源库
  • https://www.gitbook.com — 文档托管平台
  • https://gunicorn.org/ — UNIX 环境下的 Python WSGI HTTP 服务
  • https://huey.readthedocs.io/en/latest/ — 轻量级任务队列组件
  • inlang — 软件全球化生态工具链
  • https://www.postgresql.org/ — 开源关系型数据库
  • Qdrant — 支撑 AI 功能的向量数据库
  • Sentence Transformers — 语义搜索向量嵌入工具
  • Skeleton — 面向 Svelte 和 Tailwind 的 UI 组件库
  • https://www.sqlite.org/index.html — 开源轻量关系型数据库
  • https://svelte.dev & https://svelte.dev/docs/kit — 前端开发框架
  • Svelte Flow — 节点式流程图编辑组件
  • https://tailwindcss.com — 原子化 CSS 开发框架
  • https://typst.app — 新一代文档排版引擎
  • unovis — 辅助可视化图表库
  • Vite — 前端构建工具
  • WeasyPrint — HTML 转 PDF 渲染工具

安全说明

本产品在开发过程中严格遵循各类安全最佳实践。如发现任何安全漏洞,请直接联系官方反馈。

许可协议

本仓库同时包含 CISO Assistant 开源版(社区版)和商业版(专业版与企业版)的源代码:其中社区版基于 AGPL v3 协议发布,商业版基于 intuitem 商业软件许可协议发布。采用单仓库管理模式是为了简化整体维护复杂度。

顶级目录下的 enterprise 文件夹内所有文件均受 intuitem 商业软件许可协议约束。

顶级目录下除 enterprise 文件夹之外的所有文件均基于 https://choosealicense.com/licenses/agpl-3.0/ 开源协议发布。

详细说明请参考 LICENSE.md 文件。如需了解商业版相关信息,可联系官方获取更多资料。

除非另行说明,仓库内所有文件版权均 © intuitem 所有。

项目动态

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

专属域名用法

专属域名 · 开启停用 · 多仓库

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

docker.sock / daemon

账号

失败是否计费

manifest · blob · 计费

申请开票(企业 / 个人)

开票 · 发票 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/intuitem/ciso-assistant-community/frontend
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
官方技术交流群:|问题咨询请:提交工单
服务号:轩辕镜像|公众号:源码跳动|小程序:轩辕镜像|官方技术交流群:|问题咨询请:提交工单
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥8/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱