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

ghcr.io/intuitem/ciso-assistant-community/backend:v4.0.9

ghcr.iolinux/amd64v4.0.9大小: 1.01 GB更新于 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、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 信息登记簿
  • 外部安全评级接入

运维与整改

  • 行动计划跟踪与优先级排序
  • 发现项跟踪
  • 智能推荐引擎
  • 管控方案管理
  • 任务管理
  • Kanban 看板
  • 定期合规检查
  • 技术安全状态管理
  • 例外事项跟踪
  • 事件管理
  • 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. 澳大利亚关键八大安全控制(成熟度模型,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. EU AI 法案 🇪🇺🤖
  46. FBI 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 LLM 治理与安全检查清单 🌐
  70. ANSSI:敏感或受限传播信息系统架构安全建议(v1.2) 🇫🇷
  71. CIS 基准 — 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. 印度 2023年数字个人数据保护法案(DPDPA) 🇮🇳
  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 MAS 威胁建模指南 — 威胁目录 🐝📱
  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 — EU 数字身份***高层要求(附录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 中小企业网络弹性成熟度评估框架 🇪🇺
  124. ISO 27701:2025 要点 — 含附录A的隐私信息管理体系 🌐
  125. Plumber CI/CD 安全检查集 🖥️
  126. UNESCO 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. 贝宁国家信息系统安全政策(PSSIE),贝宁 ANSSI 🇧🇯
  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(运维技术)- 附录 🏭🤖
  24. 印度储备银行 2023 年主指引 🏦🇮🇳
  25. 摩洛哥 05-20 网络安全法 🇲🇦
  26. 立陶宛 NIS2 网络安全法(Kibernetinio saugumo įstatymas) 🇱🇹
  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. 沙特阿拉伯国家网络安全局 NCNICC-1:2025 🇸🇦
  37. 沙特阿拉伯国家网络安全局 ECC-2:2024 🇸🇦
  38. 沙特阿拉伯国家网络安全局 CCC-1:2020 🇸🇦

[!NOTE] 标记有 * 的框架需要额外手动从其官网获取最新 Excel 表格,因为其许可协议不允许直接分发。你可以直接将该 Excel 表格作为库导入系统使用。

你可以查看 library 目录与 tools 目录,了解所用的领域特定语言以及自定义库的方法。

即将上线

  • 印度尼西亚个人数据保护法合规框架 🇮🇩

  • OWASP SAMM

  • COBAC R-2024/01

  • 英国 ICO 数据保护自我评估框架 🇬🇧

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

  • 以及更多内容:你可以直接在 D*提交需求。如果是公开标准,我们会免费为你完成适配** 😉

添加自定义库

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

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

请查看 tools 目录及其 专属 README,其中详细说明了库源文件在 Excel 中的预期格式。excel 子目录中包含现有库使用的 XLSX 示例文件,你可以将其作为模板创建自定义库。

要从 Excel 文件加载库,请进入 治理 → 库 页面,点击 加载,然后选择你的 Excel 源文件。导入过程中如果出现验证错误或解析错误,系统会给出明确提示。

可选:将库转换为 YAML

尽管 Excel 文件可以直接加载,你仍然可以使用外部 Python 脚本将库源文件转换为 YAML:

  • convert_library_v2.py 可以帮助你从简单 Excel 文件生成库文件。当你按照预期格式整理好所有条目后,运行该脚本即可生成对应的 YAML 文件。
  • tools 目录还包含针对特定框架(例如 CIS 或 CCM 控制)的专用转换工具。

创建映射库

为了简化不同框架之间的映射关系创建流程,你可以使用 prepare_mapping_v2.py 工具。该工具会基于两个现有的 YAML 格式框架库生成一个 Excel 模板文件。你在模板中填写完映射关系后,生成的 Excel 文件可以:

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

社区

加入我们的 开放 D***社区,与开发团队和其他 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 脚本:
./docker-compose.sh # Linux/MacOS 执行该脚本
./docker-compose.ps1 # Windows 执行该脚本

另外,你也可以使用以下变体脚本,为你的特定 CPU 架构自行构建 Docker 镜像:

./docker-compose-build.sh # Linux/MacOS 执行该脚本
./docker-compose-build.ps1 # Windows 执行该脚本

按照提示输入你超级管理员账号的邮***密码。

完成后你就可以通过浏览器访问 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 的默认编码并非 UTF-8 而是 cp1252,部分输出 UTF-8 字符(比如表情符号)的 Python 脚本在特定场景下(例如导入资源库时)可能会导致后端崩溃或运行异常。

为了避免本项目出现该问题,请添加以下 2 个用户环境变量强制启用 UTF-8 编码:

PYTHONUTF8=1
PYTHONIOENCODING=utf-8:replace

[!NOTE]

已知问题

  • Windows 平台用于 MIME 类型检测的 libmagic 库在识别 Excel 文件(.xlsx)时存在缺陷:该库仅读取文件前 2048 位,大部分时候会错误返回 application/octet-stream,导入 Excel 资源库时后端会输出 [warning ] Invalid MIME type 警告。由于代码内置了降级处理逻辑(位置为 backend/library/views.py:StoredLibraryViewSet.upload_library),该问题并不会阻碍 Excel 文件的正常导入。

运行后端

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

必填变量

后端所有变量都已预设便捷的默认值。

推荐配置变量

export DJANGO_DEBUG=True

# 默认地址为 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 存储桶
# S3 存储桶必须在启动 CISO Assistant 之前预先创建完成
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=

# 默认情况下,Django 密钥会在 CISO Assistant 每次启动时随机生成,该配置适用于快速测试场景
# 但不推荐在生产环境使用,因为随机密钥会破坏用户会话有效性(可参考该[主题](https://stackoverflow.com/questions/15170637/effects-of-changing-djangos-secret-key)了解更多细节)
# 如需设置固定密钥,请通过 DJANGO_SECRET_KEY 环境变量进行配置
export DJANGO_SECRET_KEY=...

运行不受信任代码(如 Excel 库文件)的沙盒模式

[!WARNING] 生产环境必须启用沙盒机制

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

日志配置

export LOG_LEVEL=INFO          # 可选,默认值为 INFO,可选选项:DEBUG、INFO、WARNING、ERROR、CRITICAL
export LOG_FORMAT=plain        # 可选,默认值为 plain,可选选项:json、plain

将 LOG_FORMAT 设置为 json 时,每行输出一个 JSON 对象(包含时间戳、日志级别、日志器、事件等字段),Splunk、Sentinel、ADX 等 SIEM 系统可直接原生接入,无需自定义解析。 请在前端容器中统一设置 LOG_FORMAT=json,即可让 SvelteKit SSR 进程输出的结构化 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 run 命令中设置的环境变量凭证登录
  • 在 backend 目录下导出所有与 S3 相关的环境变量
  • 所需变量列表可参考上方推荐变量说明
  1. 执行数据库迁移
uv run python manage.py migrate

[实验性功能] 无需 WSL2 的 Windows 平台迁移执行 更多信息请查看 tools/.windows/README.md 中的相关文档。

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

[!NOTE] 如果您已配置邮件服务并设置了 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 错误。 请使用 tools/.windows/README.md 中记录的辅助脚本完成 Windows 原生开发环境配置。

  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 浏览器无法正常工作,因为 Safari 要求安全 Cookie 必须基于 HTTPS 传输。最简单的解决方案是使用 Chrome 或 Firefox 浏览器,也可以选择部署 Caddy 反向代理。更多相关说明请参考 frontend 目录下的 README 文件。

  1. 环境变量 前端所有变量都提供了便捷的默认值。 如果需要将前端部署到其他主机,必须设置变量:PUBLIC_BACKEND_API_URL,其默认值为当前后端服务地址。 PUBLIC_BACKEND_API_EXPOSED_URL 是 SSO 正常运行的必要变量,它代表浏览器侧可访问的 API 地址,取值为后端配置项 CISO_ASSISTANT_URL 拼接 "/api" 后缀的完整地址。 当您使用 node server 而非 pnpm run dev 启动服务时,需要将 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 部署模式,具体说明见下文。
  • 为反向代理配置合法可用的证书。
  • 若反向代理与后端、前端不在同一台主机运行,请在节点之间使用 W这类 V保障通信安全。
  • 数据库使用加密卷存储,并谨慎保管加密密钥。
  • 通过环境变量管理敏感信息,不要直接将密钥明文写入 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;各语言本地化覆盖率指该 locale 文件中与基准文件匹配的键值占比。该统计每日自动更新——完整详情可查看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/backend
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
官方技术交流群:|问题咨询请:提交工单
服务号:轩辕镜像|公众号:源码跳动|小程序:轩辕镜像|官方技术交流群:|问题咨询请:提交工单
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥8/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱