Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
caos-os — 客户保障操作系统。只需一次,即可回答客户发送给您的安全问卷。 | Kitploit
工具/GitHubGitHub/digicred-oss/caos-os
身份验证与授权防御工具信息收集隐私保护机器学习
GitHubdigicred-oss/caos-os

caos-os

客户保障操作系统。只需一次,即可回答客户发送给您的安全问卷。

查看仓库
81个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CAOS — 客户保障操作系统

一次回答客户发给您的安全问卷。

每家处理客户数据的公司都会反复收到同样的请求:安全问卷、隐私评估、供应商风险审查、采购尽职调查、证据索取。大多数组织靠手工答复——客户发来的电子表格、一文件夹的策略文档、一封邮件线程,以及某人对上次答复内容的记忆。

CAOS 将其转变为一套记录系统。问卷变成结构化、可作答的工作项。已完成的答复和您的合规文档变成一个可搜索、可引用的语料库。下一份问卷从您已经说过的内容开始,每项陈述都可追溯到其来源的文档或先前答复。

它是自托管的。您的策略、答复和客户的问卷都保留在您自己的基础设施上。

状态:v0。 CAOS 已在生产环境运行,但本仓库刚刚公开。接口、schema 和配置仍在变动中。外部贡献暂未开放——请参阅贡献。


它能做什么

不加猜测地读取问卷。 上传客户的 XLSX,CAOS 会忠实地渲染它——工作表、行、单元格、隐藏列、校验下拉列表。然后您标记哪些行可作答、哪些单元格需要填写,可按范围批量标记而非逐项操作。这里没有针对单个客户的解析器,因为没有标准可言:加粗的行可能是问题,空白的列可能是答案目标,任何能让某个工作簿解析正确的启发式规则,都可能自信地弄错另一个。

从您已完成的工作中构建语料库。 关闭一份问卷会将其已作答的行发布为可复用的问答。上传的策略、认证和报告成为可引用的段落。两者都进行不可变版本化,因此您上季度发出的答复,仍能对照当时有效的文档解释自身。

找到正确的历史答复。 检索同时运行词法搜索和语义搜索,融合两者的排名,并对最靠前的候选进行重排。合规语言两者都需要:像 "SOC 2 Type II" 这样被嵌入向量模糊化的精确 token,以及关键词搜索完全遗漏的改写表述。

起草有据可依的答复。 可选。模型通过受限的、列入白名单的工具搜索您的语料库,并起草带引用的答复——同时附上一个标签,说明其依据来源:Knowledge grounded、Mixed、General guidance 或 Based on current answer。General guidance 答复不对贵组织作任何断言,并且会明确说明这一点。

在 Google Chat 中作答。 /ciso 斜杠命令访问同一个有据可依的语料库,并提供链接返回 Web 应用中的持续会话。

导出回客户自己的工作簿。 答复写入原始文件结构中您映射过的单元格——而不是写入一个仿 CAOS 形态的近似版本。

记录一切。 只追加的审计日志,由数据库强制不可变性,携带答复修改前后的精确值。


模块

CAOS 分为九个领域模块。其中三个——Evidence、Knowledge 和 Tasks——是全局的:它们不属于任何项目,因为其价值来自跨项目协作。


架构

root@kitploit:~
                          Internet
                             │
                       ┌─────┴─────┐
                       │   nginx   │   TLS · static frontend · /api proxy
                       └─────┬─────┘
              ┌──────────────┼──────────────┐
              │              │              │
        ┌─────┴─────┐  ┌─────┴─────┐  ┌─────┴──────┐
        │ Frontend  │  │    API    │  │  Taskiq    │
        │  React    │  │  FastAPI  │  │  workers   │
        │  static   │  │  :18800   │  │            │
        └───────────┘  └─────┬─────┘  └─────┬──────┘
                             │              │
                       ┌─────┴──────────────┴─────┐
                       │                          │
                 ┌─────┴──────┐            ┌──────┴─────┐
                 │ PostgreSQL │            │   Redis    │
                 │  pgvector  │            │ queue+cache│
                 └────────────┘            └────────────┘
                             │
                       ┌─────┴─────┐
                       │ Providers │   Bedrock · local models · Google Chat
                       └───────────┘

后端 —— Python 3.12+、FastAPI、SQLAlchemy 2 异步、带 pgvector 的 PostgreSQL、Redis、Taskiq 工作进程。每个模块划分为 domain → application → infrastructure → presentation,依赖关系是单向的。domain 不依赖任何东西。

前端 —— React 19、TypeScript、Vite、Tailwind v4、shadcn/ui、Zustand。应用级会话与外壳状态位于 src/app;功能与服务器缓存状态位于功能 store 中;长期运行的页面工作流位于功能控制器中。

两条检索通道都位于 PostgreSQL 中。 没有独立的向量数据库——单一存储意味着单一事务边界和单一备份。

外部供应商被保持在一臂之距。 每个集成都区分平台协议(Platform Protocol,即 CAOS 以产品语言表达的期望)、适配器协议(Adapter Protocol)和供应商实现(Vendor Implementation)——后者是唯一导入 SDK 的层次。这就是为什么嵌入与重排既能运行在固定的本地模型上,也能运行在 Bedrock 上,而应用代码无需知道用的是哪一种。

详情:架构 · 集成边界


数据如何流动

文档变得可检索。 上传 → 不可变版本 → 持久化摄取任务 → 提交(commit) → 分发给工作进程 → 提取不超过 1,500 字符的段落,每段保留引用定位器(PDF 页、DOCX 段落、XLSX 工作表/行/单元格)→ 生成嵌入向量 → 可搜索。任务在分发前提交,因此队列故障会变成可见的可重试状态,而不是看不见的挂起行。

问卷变成可作答的工作项。 上传 → 忠实的行视图 → 您映射行与答案目标 → 每个可作答行对应一个工作区条目,各自指向其确切的源单元格 → 草稿自动保存 → 显式完成,并带预期修订版本的比较并设置(compare-and-set),因此过期的标签页会收到 409,而不会覆盖同事的修改。

已完成的工作变成 Knowledge。 关闭一份问卷(或关闭一个项目,这会关闭其下所有问卷)会将已作答的行发布为可复用的问答。未作答的行不会发布任何内容。原始工作簿永远不会被摄取——它是操作性的工作,而不是依据材料。

一个问题变成有据可依的答复。 词法与语义检索并行运行 → 倒数排名融合(Reciprocal Rank Fusion)合并它们的排名 → 标签加权 → 排除过滤 → 在限定的 50 个候选窗口内重排 → 模型在固定的预算内搜索、检查、再搜索 → 生成带引用的草稿(引用指向不可变的源版本)以及依据标签。

每个阶段都会降级为较弱但诚实的模式:重排器不可用意味着退化为融合排序且没有置信度标识;嵌入向量不可用意味着退化为词法回退,并如实报告。

详情:数据流


快速开始

前置条件: 带 Compose 的 Docker。前端开发需要 Node.js >=22.22.0 和 pnpm 11.9.0。后端开发还使用 uv。

无需 AWS 账户或 LLM 提供商——生成功能默认关闭,以下所有步骤无需它即可运行。

root@kitploit:~
git clone https://github.com/DigiCred-OSS/caos-os.git
cd caos-os/backend
cp .env.example .env

将 backend/.env 中的 BACKEND_USERS_SECRET 占位符替换为至少 32 个随机字节:

root@kitploit:~
python3 -c 'import secrets; print(secrets.token_urlsafe(48))'

启动 PostgreSQL、Redis、API 和工作进程。迁移通过 migrator 服务自动运行:

root@kitploit:~
cd backend && docker compose up --build

首次运行会下载约 500 MB 的固定模型工件。之后 API 位于 http://localhost:18800,Swagger 位于 /api/docs,PostgreSQL 位于主机端口 15432。

CAOS 没有注册页面——从主机创建第一个管理员:

root@kitploit:~
./caos-cli user create-superadmin --email [email protected]
root@kitploit:~
cd frontend && pnpm install && pnpm dev

打开 http://localhost:5173。

前端和 API 请一致使用 localhost。会话 cookie 按主机限定作用域,因此混用 localhost 和 127.0.0.1 会悄悄丢失您的会话——这是最常见的本地环境配置问题。

下一步: 入门教程 将从这里开始,带您完成一份已作答并导出的问卷。

值得了解的默认设置

  • 嵌入与重排在 Compose 中默认使用 local(固定的 Nomic 和 MiniLM 交叉编码器,已内置在镜像中)。生产环境默认使用 AWS Bedrock。运行时从不下载模型。
  • 答复生成默认关闭。 同时设置 BACKEND_KNOWLEDGE_GENERATION_PROVIDER 和 _MODEL 以启用。
  • Google Chat 默认关闭,在生产环境启用需要 Google SSO。

每项设置都在 backend/.env.example 中有内联文档,并在配置参考中分组说明。


开发

root@kitploit:~
cd backend && uv sync --locked
uv run ruff check caos
uv run mypy caos
root@kitploit:~
cd frontend && pnpm install && pnpm lint && pnpm build

此发布的发行版不包含 CAOS 的内部测试套件。Lint、类型检查和干净的构建是此处的验证关卡。

所有迁移工作请使用 ./caos-cli,而不要直接调用 Alembic——它会选择正确的环境、容器和数据库。

代码中不易看出的项目约定记录在 AGENTS.md 中,各模块特有的规则见每个模块自己的 AGENTS.md。


文档

docs/ 遵循 Diátaxis——每个页面要么是教程、操作指南、参考资料,要么是解释说明,且这四类彼此分开。


安全

请不要就漏洞创建公开 issue。私下报告请参阅 SECURITY.md。

贡献

CAOS 是开源的,但尚未对外部贡献开放。 我们预计在 2027 年开始接受外部拉取请求。在此之前,欢迎通过 issue 提交错误报告和问题,这些确实很有用——请参阅 CONTRIBUTING.md。

许可证

Apache License 2.0。版权所有 2026 DigiCred Technologies Pvt Ltd。

下载工具
模块负责文档
Identity认证模式、会话、角色、用户、外部主体绑定文档
Projects项目容器;关闭级联文档
Questionnaires工作簿读取、行映射、作答工作区、导出文档
Evidence可复用合规工件的全局仓库文档
Knowledge来源、段落、嵌入向量、检索、排除规则、引用文档
AICISO 对话、生成、依据标签文档
ChatGoogle Chat 验证、身份绑定、消息投递文档
Tasks跨模块的待办人工工作文档
Audit只追加的事件日志文档
开始入门
部署生产部署 · 配置
启用答复生成 · Google SSO · Google Chat
理解架构 · 数据流 · 不可变性
查阅HTTP API · 角色 · 操作员 CLI