如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
为项目点亮星标🌟,以获取发布通知并助力社区发展!
intuitem.com · SaaS 免费试用 · 路线图 · 文档 · 语言 ·
· 框架
CISO Assistant为网络安全管理和GRC(治理、风险与合规)实践提供了全新视角:
我们的愿景是打造网络安全管理的一站式平台——通过简化和互操作性实现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
如果您正在寻找其他自托管安装选项,请查看配置生成器和文档。
[!NOTE] docker-compose脚本使用预构建的Docker镜像,支持大多数标准硬件架构。 如果您使用Windows,请确保已安装带WSL2的Docker Desktop并触发PowerShell脚本。它将代表您配置Docker Desktop。
可以调整docker compose文件以传递额外参数,以适应您的设置(例如邮件发送器设置)。
[!WARNING] 如果您收到镜像平台与主机平台不匹配的警告或错误,请提交包含详细信息的issue,我们将很快添加支持。您也可以改用
docker-compose-build.sh(见下文)为您的特定架构构建。
[!IMPORTANT] 不要将
main分支代码直接用于生产环境,因为它是合并上游,在我们的开发过程中可能会有破坏性变更。请使用稳定版本的tags或预构建镜像。
即将推出的功能列在路线图中。
CISO Assistant由Intuitem开发和维护,该公司专注于网络安全、云以及数据/人工智能领域。
以下是CISO Assistant中一些构建块的摘要,用于说明鼓励复用的解耦概念:
有关完整详情,请查看数据模型文档。
CISO Assistant的核心是解耦原则,它支持强大的用例并显著节省时间:
以下是解耦原则及其优势的说明:
查看 上的在线文档。
在此处了解更多:AI引擎
库可以表示一个框架、一个威胁目录、一组参考控制措施,甚至是一个自定义风险矩阵。
现在可以直接从 Excel 文件加载库。无需事先手动将其转换为 YAML——上传 Excel 文件时会在内部处理转换。
查看 tools 目录及其专用 README,其中描述了 Excel 中库源文件的预期格式。excel 子目录包含用作现有库源的示例 XLSX 文件,可用作创建您自己的模板。
要从 Excel 文件加载库,请转到 Governance → Library 页面,点击 Load,然后选择您的 Excel 源文件。导入过程中会报告任何验证或解析错误。
虽然可以直接加载 Excel 文件,但仍可以使用外部 Python 脚本将库源文件转换为 YAML:
convert_library_v2.py 帮助您从简单的 Excel 文件生成库。一旦您的项目按预期格式结构化,运行脚本以生成相应的 YAML 文件。tools 目录还包含针对特定框架的专用转换器(例如,CIS 或 CCM 控制措施)。为便于创建框架之间的映射,您可以使用 prepare_mapping_v2.py 工具。它基于两个现有的 YAML 格式框架库生成 Excel 文件。填写映射后,生成的 Excel 文件可以:
convert_library_v2.py 转换为 YAML。如果您希望在不使用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上的
libmagic库(MIME检测)通过读取Excel文件(.xlsx)的前2048位来识别文件时存在困难,在导入Excel库时,大多数情况下会返回application/octet-stream(后端会显示警告消息[warning ] Invalid MIME type)。由于backend/library/views.py:StoredLibraryViewSet.upload_library中的 fallback 方法,这不会阻止Excel文件的导入。
git clone git@github.com:intuitem/ciso-assistant-community.git
cd ciso-assistant-community
" " 替换为您的私有值。注意不要将此文件提交到您的git仓库中。必填变量
后端中的所有变量都有便捷的默认值。
推荐变量
export DJANGO_DEBUG=True
# 默认URL设置为http://localhost:5173,但您可以更改,例如使用caddy代理启用https
export CISO_ASSISTANT_URL=https://localhost:8443
# 使用Mailhog等工具设置开发邮件服务器
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 # true表示使用STARTTLS
export EMAIL_USE_SSL=False # true表示使用SMTPS
其他变量
# 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 Roles for Service Accounts (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 Storage ---
# 您可以使用Azure Blob Storage容器代替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/VM分配的托管身份会自动使用。
# 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: 生产环境中必须启用沙箱。
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
迁移由版本控制跟踪,
对于产品的第一个版本,建议从干净的迁移开始。
[!NOTE] 要清理现有迁移,请输入:
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete
在更改(或清理)之后,需要重新生成迁移文件:
poetry run python manage.py makemigrations
poetry run python manage.py migrate
这些迁移文件应通过版本控制进行跟踪。
要在后端运行API测试,只需在后端文件夹的shell中输入 poetry run pytest。
要在前端运行功能测试,请执行以下操作:
tests/e2e-tests.sh
测试工具的目标是防止任何回归,即所有测试(包括后端和前端)都应成功。
docker-compose.yml 现在依赖镜像中已有的非 root 用户 1001:1001。旧版部署使用 root 用户,该方式仍受支持。如需迁移至非 root 用户,请在主机中执行以下步骤:
我们已尽力遵循安全最佳实践。如发现任何问题,请报告至 。
本仓库包含 CISO Assistant 开源版(社区版)的源代码,该版本基于 AGPL v3 许可发布;同时也包含 CISO Assistant 商业版(专业版和企业版)的源代码,该版本基于 intuitem 商业软件许可发布。采用这种单体仓库方式是为了简化管理。
顶层“enterprise”目录中的所有文件均基于 intuitem 商业软件许可发布。
顶层“enterprise”目录之外的所有文件均基于 AGPLv3 许可发布。
详情参见 LICENSE.md。如需了解商业版的更多详情,可通过 与我们联系。
除非另有说明,所有文件均 © intuitem。
来自真实用户的反馈,见证轩辕镜像的优质服务