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

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

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

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

工具目录

分类

查看所有分类
Loading categories
FLAWED — 修复带有嵌入式缺陷的类工件 | Kitploit
工具/GitHubGitHub/off-by-1-labs/flawed
防御工具静态分析漏洞扫描器动态分析 (沙盒)漏洞分析代码分析模糊测试机器学习论文与研究学习与教育AI 安全
GitHub
22551个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
off-by-1-labs/flawed

FLAWED

修复带有嵌入式缺陷的类工件

查看仓库
FLAWED

Fix Like Artifacts with Embedded Defects

一个用于衡量 AI 智能体修复漏洞效果的研究工具。

License MIT Python 3.11+ Requires Docker Agents Claude, Codex, Gemini

快速开始 · 数据集 · 文档 · 安全模型 · 贡献指南


FLAWED 会检出开源项目处于已知存在漏洞的提交,向 AI 智能体提供该漏洞的描述,并要求它编写补丁。智能体始终看不到上游的真实修复。

随后,每个补丁都会在隔离的容器中经过验证、审计和评分,因此你不仅能看到模型是否修复了该漏洞,还能看到它是否在过程中引入了新的漏洞。

工作原理

root@kitploit:~
flowchart LR
    spec[bug spec] --> clone
    clone["clone<br/>(open net)"] --> generate
    generate["generate<br/>(offline)"] --> validate
    validate["validate<br/>(offline)"] --> ast["ast<br/>(offline)"]
    generate -.->|"patch.diff"| store[(Postgres)]
    validate -.->|"verdict"| store
    ast -.->|"summary"| store
    store --> ui[web UI + notebook]

每个阶段都在各自的容器中运行。只有 clone 具有网络访问权限。之后的所有阶段都被限制为只能访问 LLM 提供商的 API,因此智能体无法在运行过程中获取提示或上游修复。

功能特性

FLAWED 让 Claude、Codex 和 Gemini CLI 在相同输入下正面交锋。

快速开始

[!WARNING] FLAWED 会挂载 Docker socket(在宿主机上等同于 root 权限),并在其阶段容器内执行不受信任的第三方代码。请在你信任能够承载此工作负载的机器上运行它。参见 docs/security-model.md。

你需要 Docker,并且守护进程 socket 可访问。

root@kitploit:~
# 1. Configure. Writes .env for you (data dir + provider API keys)
./setup.sh

# 2. Bring up the stack (Postgres, API + worker, web UI, notebook)
docker compose up --build

# 3. Open http://127.0.0.1:8080

然后开始你的第一次运行。

  1. 导入漏洞规格。 示例规格随附在 bugs/ 下。将其中一个拖入 Web UI 的 Bug Specs 页面,或使用 CLI。
    root@kitploit:~
    ./scripts/import-all-bugs.sh
    
  2. 从 Web UI 启动一次运行。 选择规格、智能体 + 模型、变体和迭代次数。运行页面会实时流式显示进度。

[!NOTE] 针对大型上游(例如 Chromium)的首次运行会很慢。validate 阶段会克隆整个仓库一次,以便与真实的上游补丁进行差异比较。该克隆会被缓存并在之后复用。

宿主机开发环境搭建(不使用 compose)

你需要 Docker、Node 20+、pnpm、uv 以及 @devcontainers/cli(npm i -g @devcontainers/cli)。Nix 用户可以通过 nix-shell 获取除 Docker 之外的所有内容。

root@kitploit:~
make dev                        # uv sync + web deps
docker compose up -d postgres   # FLAWED needs a Postgres to talk to
cp .env.example .env            # points FLAWED_DB_URL at it
uv run flawed init              # builds base images, creates the schema
uv run flawed serve             # API + worker + webapp on port 8080

对于 Web 开发循环,请在第二个终端中运行 make web-dev。它会在端口 5173 上提供 UI,并将 /api 代理到 flawed serve。

一个用于安全地针对此仓库运行 AI 编码智能体的隔离 devcontainer 记录在 .devcontainer/README.md 中。

漏洞规格

漏洞规格 是输入单元。它包含一个仓库、一个存在漏洞的提交、一段漏洞描述、一个可选的重现器,以及一组提示变体,用于模拟该漏洞在现实中可能被报告的方式(SAST 发现、漏洞赏金报告、禁运公告、原始 PoC……)。规格是版本化且不可变的,因此历史运行的提示和判定永远不会被悄悄改变。

JSON 契约位于 bugs.schema.json,并在 docs/bug-specs.md 中有文档说明。所有随附的规格都描述已公开披露、上游已修复的漏洞。

存储

Postgres 是唯一事实来源。运行元数据以及产物字节(补丁、判定、记录、日志)都存放在数据库中,因此一次部署完全由其数据库所捕获。data/ 目录是临时暂存区,各阶段在运行时挂载它。

  • 备份 / 恢复整个部署,使用 scripts/export_dataset.py 和 scripts/import_dataset.py(也可从 Web UI 使用)。
  • 重建磁盘上的产物树以便离线检查,使用 scripts/export_artifacts.py。
  • 模式变更由 Alembic 管理(uv run alembic upgrade head 会在启动时自动运行)。

数据集

我们发布预构建的数据集,以便你可以加载已完成的活动,而不必自己运行所有内容。每个数据集是一个完整快照的 .tar.gz,托管在 https://flawed.s3.us-east-1.amazonaws.com。

单个捆绑包中的所有活动。

捆绑包归档
所有活动full.tar.gz
按活动归档,每个补丁器模型一个(13)

从 Web UI 导入(推荐)

Snapshots → Import datasets,粘贴上面的某个归档链接,然后点击 Find archives。FLAWED 会按原样导入直接的 .tar.gz 链接,并将其解包到你的快照中。然后从快照列表中恢复它(恢复是一个单独的、需明确确认的步骤)。

仅当 URL 是可列举的存储桶或目录索引页面时,导入才会一次性发现多个归档。此处两者都不适用,因此请逐个导入链接。

手动操作

下载一个归档,将其解包到快照目录 (FLAWED_HOST_SNAPSHOT_DIR,默认是 ./flawed-snapshots),它就会出现在快照列表中,随时可以恢复。

root@kitploit:~
curl -LO https://flawed.s3.us-east-1.amazonaws.com/compressed/campaigns/full/cve-2026-45185-exim-bdat-uaf_full_gpt-5.5_1782988292.tar.gz
mkdir -p "$FLAWED_HOST_SNAPSHOT_DIR"
tar -xzf cve-2026-45185-exim-bdat-uaf_full_gpt-5.5_1782988292.tar.gz -C "$FLAWED_HOST_SNAPSHOT_DIR"

导入只是将捆绑包暂存到磁盘上。恢复它(会替换当前部署)是在快照页面上单独完成的。

文档

仓库布局

root@kitploit:~
packages/
  flawed-core/             models, DB schema, settings
  flawed-orchestrator/     run lifecycle, worker pool, devcontainer driver
  flawed-stage-*/          the pipeline stages (clone, generate, validate, …)
  flawed-agent-runner/     runs INSIDE the container (Claude / Codex / Gemini CLIs)
  flawed-api/              FastAPI + SSE + notebook proxy
  flawed-cli/              the `flawed` CLI
apps/web/                  React + Vite + Tailwind webapp
containers/                base image, network lockdown, notebook container
bugs/                      example bug specs
docs/                      documentation (see above)

开发

测试需要 Docker。它们通过 testcontainers 启动自己的 Postgres。

许可证与贡献

FLAWED 在 MIT License 下发布。欢迎贡献。 参见 CONTRIBUTING.md,并请按照 SECURITY.md 私下报告安全问题。

下载工具
功能它能为你带来什么
重复采样一次运行会对同一输入执行 N 次迭代,因此结果是分布,而非个例。
活动(Campaigns)将同一个漏洞在多种补丁器变体和提示风格下进行扫描,从含糊的 "fix this plz" 到完整的公告,并在实时仪表盘上比较结果。
结果分级每个补丁都会归入五种场景之一,从 S1(干净修复)到 S5(未修复漏洞且引入了新漏洞)。
交叉验证补丁会由其他模型重新评判,最终数字会综合自评和交叉验证两种视角,从而避免单一评判者的偏见占主导。
作弊检测审计器会标记出智能体找到上游修复而非自行解决漏洞的迭代。
活动补丁器模型大小归档
CVE-2026-22738 (Spring AI SpEL injection)claude-opus-4-8515.0 MB.tar.gz
CVE-2026-22738 (Spring AI SpEL injection)gpt-5.5663.9 MB.tar.gz
CVE-2026-31431 (Linux algif_aead)claude-opus-4-81.1 GB.tar.gz
CVE-2026-31431 (Linux algif_aead in-place)gpt-5.5966.9 MB.tar.gz
CVE-2026-34197 (ActiveMQ Jolokia RCE)claude-opus-4-8645.2 MB.tar.gz
CVE-2026-34197 (ActiveMQ Jolokia RCE)gpt-5.5819.0 MB.tar.gz
CVE-2026-45185 (Exim BDAT use-after-free)claude-opus-4-81.1 GB.tar.gz
CVE-2026-45185 (Exim BDAT use-after-free)gpt-5.51.0 GB.tar.gz
CVE-2026-8512 (Chromium fsevents UAF)claude-opus-4-8500.7 MB.tar.gz
CVE-2026-8512 (Chromium fsevents UAF)gpt-5.5342.7 MB.tar.gz
freenginx-26 (Perl SV refcount UAF)gpt-5.5166.4 MB.tar.gz
GHSA-wpqr-6v78-jr5g (Gemini CLI trust model)claude-opus-4-81.2 GB.tar.gz
GHSA-wpqr-6v78-jr5g (Gemini CLI trust model)gpt-5.51.3 GB.tar.gz
文档内容
docs/architecture.md组件、数据流、存储布局
docs/pipeline.md各阶段、迭代语义、容器布局
docs/security-model.md各阶段网络策略、沙箱化、威胁模型
docs/bug-specs.md输入契约、提示组合、版本化
docs/cli.mdflawed 命令参考 + 环境变量
docs/webapp.mdUI 导览
docs/notebook.mdJupyterLab 集成 + flawed 辅助模块
任务命令
同步所有 Python + Node 依赖make dev
运行测试make test
Lintmake lint
自动格式化make format
Web 开发服务器(端口 5173)make web-dev
E2E 冒烟测试make e2e