CISO Assistant - GRC 与网络安全态势管理平台

一、项目概览

专为GRC(治理、风险与合规)及网络安全态势管理设计的开源工具,提供标准框架内置、风险评估、修复计划跟踪等功能。

CISO Assistant由专注于网络安全、云和数据分析/人工智能的法国公司intuitem开发和维护。🇫🇷


相关资源


二、核心特性

1、框架解耦设计

  • 明确分离合规要求与安全控制措施实现
  • 支持同时评估多个合规框架

2、内置知识库

  • 预置60+国际安全标准(ISO27001/NIST CSF/GDPR等)
  • 可扩展的威胁库和安全控制措施库

3、风险管理

  • 可视化风险评估矩阵
  • 自动化修复计划跟踪
  • 证据收集与审计报告生成


三、快速入门 🚀

提示:开始的最简单方法是使用此处提供的免费云实例试用

或者,一旦您在您的工作站或服务器上安装了 DockerDocker-compose

克隆仓库:


git clone https://github.com/intuitem/ciso-assistant-community.git

运行启动脚本


./docker-compose.sh

如果您正在寻找其他安装选项,您可能想查看文档

如果您使用的是 Windows,请确保已安装 WSL 并在 WSL 命令行中触发脚本。它将代表您向 Docker Desktop 发送指令。

Docker Compose 文件可以调整以传递额外的参数以适应您的设置(例如,邮件设置)。

警告:如果您收到有关图像平台与主机平台不匹配的警告或错误,请提供详细信息并提交问题,我们将在不久后添加。您还可以使用 docker-compose-build.sh(见下文)来构建适合您特定架构的版本。

注意:不要直接在生产环境中使用main分支的代码,因为它是从上游合并的,在我们开发过程中可能会有破坏性更改。可以使用tags标签的稳定版本或预构建镜像。


四、支持的框架 🐙

1、ISO 27001:2022 🌐
2、NIST网络安全框架(CSF)v1.1 🇺🇸
3、NIST网络安全框架(CSF)v2.0 🇺🇸
4、NIS2 🇪🇺
5、SOC2 🇺🇸
6、PCI DSS 4.0 💳
7、CMMC v2 🇺🇸
8、PSPF 🇦🇺
9、通用数据保护条例(GDPR):来自GDPR.EU的全文和清单 🇪🇺
10、Essential Eight 🇦🇺
11、NYDFS 500及2023-11修正案 🇺🇸
12、DORA(法案、RTS、ITS和GL) 🇪🇺
13、NIST人工智能风险管理框架 🇺🇸🤖
14、NIST SP 800-53 rev5 🇺🇸
15、法国LPM/OIV规则 🇫🇷
16、CCB网络安全框架 🇧🇪
17、NIST SP-800-66(HIPAA) 🏥
18、HDS/HDH 🇫🇷
19、OWASP应用安全验证标准(ASVS) 🐝🖥️
20、RGS v2.0 🇫🇷
21、AirCyber ✈️🌐
22、网络安全法案(CRA) 🇪🇺
23、TIBER-EU 🇪🇺
24、NIST隐私框架 🇺🇸
25、TISAX(VDA ISA)v5.1和v6.0 🚘
26、ANSSI卫生指南 🇫🇷
27、基本网络安全控制(ECC) 🇸🇦
28、CIS控制v8* 🌐
29、CSA CCM(云控制矩阵)* ☁️
30、FADP(联邦数据保护法) 🇨🇭
31、NIST SP 800-171 rev2(2021) 🇺🇸
32、ANSSI:针对生成性人工智能的安全建议 🇫🇷🤖
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-Grundschutz-Kompendium 🇩🇪
40、NIST SP 800-171 rev3(2024) 🇺🇸
41、ENISA:5G安全控制矩阵 🇪🇺
42、OWASP移动应用安全验证标准(MASVS) 🐝📱
43、敏捷安全框架(ASF)- 基线 - 由intuitem提供 🤗
44、ISO 27001:2013 🌐(用于遗留和迁移)
45、欧盟人工智能法案 🇪🇺🤖
46、FBI CJIS 🇺🇸👮
47、运营技术网络安全控制(OTCC) 🇸🇦
48、安全控制框架(SCF) 🇺🇸🌐
49、NCSC网络安全评估框架(CAF) 🇬🇧
50、加利福尼亚消费者隐私法案(CCPA) 🇺🇸
51、加利福尼亚消费者隐私法案法规 🇺🇸
52、NCSC网络安全基础 🇬🇧
53、摩洛哥信息系统安全国家指南(DNSSI) 🇲🇦
54、Part-IS ✈️🇪🇺
55、西班牙国家安全方案(ENS) 🇪🇸
56、韩国ISA ISMS-P 🇰🇷
57、瑞士ICT最低标准 🇨🇭
58、Adobe通用控制框架(CCF) 🌐
59、BSI云计算合规标准目录(C5) 🇩🇪
60、突尼斯ANCS信息系统安全审计参考框架 🇹🇳
61、欧洲央行对金融市场基础设施的网络安全监督预期 🇪🇺
62、BSI对外部云服务使用的最低标准(版本2.1) 🇩🇪
63、成熟度评估表单 - 基础级别(DGA) 🇫🇷
64、NIS2技术和方法论要求 2024/2690 🇪🇺
65、沙特阿拉伯货币管理局(SAMA)网络安全框架 🇸🇦
66、数据安全指南(CNIL) 🇫🇷
67、国际武器贸易条例(ITAR) 🇺🇸
68、联邦贸易委员会(FTC)保护客户信息标准 🇺🇸
69、OWASP关于LLM治理和安全的清单 🌐


社区贡献

1、PGSSI-S (健康信息系统通用安全政策) 🇫🇷
2、ANSSI : GNU/Linux 系统配置推荐 🇫🇷
3、PSSI-MCAS (负责社会事务部门的信息系统安全政策) 🇫🇷
4、ANSSI : 信息系统关键部分保护推荐 🇫🇷
5、ANSSI : 系统日志架构安全推荐 🇫🇷
6、ANSSI : TLS 相关安全推荐 🇫🇷
7、新西兰信息安全手册 (NZISM) 🇳🇿
8、RSSI Santé 俱乐部数字安全声明 🇫🇷
9、阿尔及利亚国家信息安全参考框架 (RNSI), MPT 🇩🇿
10、意大利公共行政部门最小安全措施 ICT,AGID 🇮🇹
11、国家网络安全框架 v2,FNCS 意大利 🇮🇹


注意:* 这些框架需要通过其网站手动获取最新的 Excel 表格,因为它们的许可证阻止了直接使用。

查看 工具,了解所使用的领域特定语言以及如何定义您自己的语言。


即将推出

  • 印度尼西亚PDP
  • COBAC R-2024/01
  • ICO数据保护自我评估
  • NIST 800-82
  • 还有更多:只需在Discord上询问。如果是开放标准,我们将为您免费提供!

五、添加您自己的库

库可以是一个框架、威胁或参考控制的目录,甚至是一个定制的风险矩阵。

请查看 tools 目录及其专用READMEconvert_library.py 脚本将帮助您从简单的Excel文件中创建库。一旦您以该格式结构化您的项目,只需运行脚本并使用生成的yaml文件。

您也可以在工具目录中找到一些特定的转换器(例如,用于CIS或CCM控制)。

还有一个工具,称为 prepare_mapping.py,用于简化映射的创建,它将根据两个yaml框架库创建一个Excel文件。一旦填写完毕,这个Excel文件就可以通过 convert_library.py 工具进行处理,以获得最终的映射库。



六、本地测试 🚀

免费试用云实例 : https://intuitem.com/trial/


要在本地简单运行 CISO Assistant,您可以使用 Docker Compose。

0、更新 Docker

确保您安装了最新版本的 Docker(>= 25.0)。

1、克隆仓库


git clone https://github.com/intuitem/ciso-assistant-community.git
cd ciso-assistant-community

2、启动预构建镜像的 docker-compose 脚本:


./docker-compose.sh


或者,您可以使用此变体来构建适用于您特定架构的 Docker 镜像:


./docker-compose-build.sh


当被要求时,请输入您的超级用户邮箱和密码。


您可以使用网络浏览器通过https://localhost:8443/访问CISO助理。


对于以下执行,直接使用 “docker compose up”。


[!TIP]


如果您想进行全新安装,只需删除存储数据库的db目录(默认:backend/db)。


七、远程服务器上的Docker-compose

对于在远程服务器或虚拟机上的Docker设置,请查看具体说明此处


八、为开发设置CISO助理


需求

  • Python 3.11+
  • pip 20.3+
  • poetry 1.8+
  • node 18+
  • npm 10.2+
  • pnpm 9.0+
  • yaml-cpp (使用 brew install yaml-cpp libyaml 或 apt install libyaml-cpp-dev 安装)

运行后端

1、克隆仓库。


git clone git@github.com:intuitem/ciso-assistant-community.git
cd ciso-assistant-community

2、在父文件夹中创建一个文件(例如:…/myvars),通过复制并修改以下代码将您的环境变量存储在其中,并将"<XXX>"替换为您的私有值。请注意,不要将此文件提交到您的git仓库中。


强制变量


所有后端变量都有方便的默认值。


推荐变量


export DJANGO_DEBUG=True

# Default url is set to http://localhost:5173 but you can change it, e.g. to use https with a caddy proxy
export CISO_ASSISTANT_URL=https://localhost:8443

# Setup a development mailer with Mailhog for example
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


其他变量


# CISO Assistant will use SQLite by default, but you can setup PostgreSQL by declaring these variables
export POSTGRES_NAME=ciso-assistant
export POSTGRES_USER=ciso-assistantuser
export POSTGRES_PASSWORD=<XXX>
export POSTGRES_PASSWORD_FILE=<XXX>  # alternative way to specify password
export DB_HOST=localhost
export DB_PORT=5432  # optional, default value is 5432

# Add a second backup mailer
export EMAIL_HOST_RESCUE=<XXX>
export EMAIL_PORT_RESCUE=587
export EMAIL_HOST_USER_RESCUE=<XXX>
export EMAIL_HOST_PASSWORD_RESCUE=<XXX>
export EMAIL_USE_TLS_RESCUE=True

# You can define the email of the first superuser, useful for automation. A mail is sent to the superuser for password initialization
export CISO_SUPERUSER_EMAIL=<XXX>

# By default, Django secret key is generated randomly at each start of CISO Assistant. This is convenient for quick test, # but not recommended for production, as it can break the sessions (see
# this [topic](https://stackoverflow.com/questions/15170637/effects-of-changing-djangos-secret-key) for more information).
# To set a fixed secret key, use the environment variable DJANGO_SECRET_KEY.
export DJANGO_SECRET_KEY=...

# Logging configuration
export LOG_LEVEL=INFO # optional, default value is INFO. Available options: DEBUG, INFO, WARNING, ERROR, CRITICAL
export LOG_FORMAT=plain # optional, default value is plain. Available options: json, plain

# Authentication options
export AUTH_TOKEN_TTL=900 # optional, default value is 3600 seconds (60 minutes). It defines the time to live of the authentication token
export AUTH_TOKEN_AUTO_REFRESH=True # optional, default value is True. It defines if the token TTL should be refreshed automatically after each request authenticated with the token

3、安装 poetry

访问poetry 网站获取说明:https://python-poetry.org/docs/#installation


4、安装所需的依赖项。

poetry install

5、推荐:安装预提交钩子。

pre-commit install

6、如果您想设置Postgres:


  • 启动以下命令之一以进入Postgres:
    • psql as superadmin
    • sudo su postgres
    • psql
  • 创建数据库 “ciso-assistant”
    • 创建数据库 ciso-assistant;
  • 创建用户 “ciso-assistantuser” 并授予其访问权限
    • 创建用户 ciso-assistantuser,密码为 '<POSTGRES_PASSWORD>';
    • 授予ciso-assistant数据库上所有权限给ciso-assistantuser;

7、应用迁移。

poetry run python manage.py migrate

8、创建一个Django超级用户,该用户将成为CISO Assistant管理员。

如果您已设置邮件发送器和CISO_SUPERUSER_EMAIL变量,则无需使用createsuperuser创建Django超级用户,因为它将在首次启动时自动创建。您应该会收到一封带有设置密码链接的电子邮件。

poetry run python manage.py createsuperuser

9、运行开发服务器。

poetry run python manage.py runserver

10、配置 Git 钩子以生成构建名称。


cd .git/hooks
ln -fs ../../git_hooks/post-commit .
ln -fs ../../git_hooks/post-merge .

运行前端

1、进入前端目录

cd frontend

2、安装依赖项

npm install -g pnpm
pnpm install

3、启动开发服务器(确保Django应用正在运行)

pnpm run dev

4、在 http://localhost:5173 上访问前端

注:Safari 在此配置下无法正常工作,因为它需要 https 来确保 cookies 的安全。最简单的解决方案是使用 Chrome 或 Firefox。另一种选择是使用 caddy 代理。这是 docker-compose 中使用的解决方案,因此您可以将其作为示例使用。


5、环境变量

所有前端变量都有方便的默认值。

如果您将前端移动到另一台主机,您应该设置以下变量:PUBLIC_BACKEND_API_URL。其默认值是 http://localhost:8000/api

当您使用“node server”而不是“pnpm run dev”启动时,您需要将ORIGIN变量设置为与后端中的CISO_ASSISTANT_URL相同的值(例如:http://localhost:3000)。


管理迁移

迁移由版本控制跟踪,https://docs.djangoproject.com/en/4.2/topics/migrations/#version-control

对于产品的第一个版本,建议从一个干净的迁移开始。

注意:要清理现有的迁移,请输入:


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中输入“pytest”。

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

  • 在前端文件夹中,运行以下命令:
tests/e2e-tests.sh

测试框架的目标是防止任何回归,即所有测试都应成功,无论是后端还是前端。


九、API 和 Swagger

要与之交互:

  • 使用您的凭据调用 /api/iam/login/ 以获取令牌
  • 然后将它作为头部 Authorization: Token {token} 传递给您的后续调用。注意它是 Token 而不是 Bearer。

十、为生产环境设置CISO Assistant

docker-compose-prod.yml突出了一个相关的配置,其中在前端之前有一个Caddy代理。它只暴露SSO的API调用。请注意,docker-compose.yml暴露了完整的API,这还不建议用于生产环境。

出于安全原因,设置DJANGO_DEBUG=False。

注:前端无法自动推断主机,因此您需要设置ORIGIN变量,或者HOST_HEADER和PROTOCOL_HEADER变量。请参阅关于sveltekit文档中关于这个棘手问题的说明。请注意,这种方法不适用于"pnpm run dev",这不应该成为生产环境中的担忧。

注:Caddy需要接收一个SNI头。因此,对于您的公共URL(在CISO_ASSISTANT_URL中声明的URL),您需要使用FQDN,而不是IP地址,因为如果主机是IP地址,浏览器不会传输SNI。另一个棘手的问题!


十一、支持的语言 🌐

  • FR: 法语
  • EN: 英语
  • AR: 阿拉伯语
  • PT: 葡萄牙语
  • ES: 西班牙语
  • DE: 德语
  • NL: 荷兰语
  • IT: 意大利语
  • PL: 波兰语
  • RO: 罗马尼亚语
  • HI: 印地语
  • UR: 乌尔都语
  • CS: 捷克语
  • SV: 瑞典语
  • ID: 印度尼西亚语

十二、其它

用💜构建


安全

我们非常重视遵循安全最佳实践。请将任何问题报告给 security@intuitem.com


许可证

本存储库包含开源版CISO Assistant(社区版)的源代码,该版本在AGPL v3许可下发布,以及CISO Assistant的商业版(专业版和企业版),该版本在intuitem商业软件许可下发布。这种单仓库方法是为了简化而采用的。

顶级“enterprise”目录中的所有文件都在intuitem商业软件许可下发布。

顶级“enterprise”目录之外的所有文件都在AGPLv3许可下发布。

有关详细信息,请参阅LICENSE.md。有关商业版的更多详细信息,您可以通过contact@intuitem.com联系我们。

除非另有说明,所有文件均为© intuitem版权所有。


活动


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


2025-05-03(六)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EAI工程笔记

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值