Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
raven — 扫描 GitHub Actions CI/CD 工作流中的安全漏洞,将发现结果索引到 Neo4j 图数据库中,并提供查询库用于检测配置错误、注入和供应链风险。 | Kitploit
工具/GitHubGitHub/cycodelabs/raven
漏洞扫描器代码分析DevSecOps供应链安全错误配置学习与教育
GitHubcycodelabs/raven

raven

扫描 GitHub Actions CI/CD 工作流中的安全漏洞,将发现结果索引到 Neo4j 图数据库中,并提供查询库用于检测配置错误、注入和供应链风险。

查看仓库
74645151年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
Cygives 横幅 Raven

许可证 GitHub 版本(按最新日期) Black Hat Arsenal 2023

Raven - CI/CD 安全分析器

RAVEN(CI/CD 风险分析与漏洞枚举) 是一款强大的安全工具,专为大规模扫描 GitHub Actions CI 工作流并将发现的数据整合到 Neo4j 数据库中而设计。由 Cycode 研究团队开发和维护。

借助 Raven,我们能够识别并报告 GitHub 上一些最受欢迎的仓库中的安全漏洞,包括:

  • FreeCodeCamp(GitHub 上最受欢迎的项目)
  • Storybook(最受欢迎的前端框架之一)
  • Fluent UI(微软出品)
  • 以及更多

我们已将所有通过 Raven 发现的漏洞列在了工具的名人堂中。

什么是 Raven

该工具提供以下功能来扫描和分析潜在的 CI/CD 漏洞:

  • ⏬ 下载器: 您可以下载分析所需的工作流和操作。工作流可以同时为多个账户(用户/组织)下载,也可以按星级排序为公共 GitHub 仓库下载。执行此步骤是分析工作流的前提条件。
  • 📊 索引器: 将下载的数据导入基于图的 Neo4j 数据库。此过程包括在工作流、操作、作业、步骤等之间建立关系。
  • 📚 查询库: 我们基于社区的研究创建了一个预定义查询库。
  • ❗ 报告器: Raven 提供了一种简单的方法来报告可疑发现。例如,它可以在 CI 流程中集成到拉取请求中并运行。

Raven 的可能用途:

  • 扫描您自己组织的安全状况
  • 针对特定组织进行扫描以用于漏洞赏金
  • 扫描所有内容并报告发现的问题,以保护互联网
  • 研究和学习目的

该工具为 CI/CD 安全分析提供了可靠且可扩展的解决方案,使用户能够查询错误配置并获得关于其代码库安全状况的宝贵见解。

为什么选择 Raven

在过去的一年中,Cycode Labs 对 CI/CD 系统的基本安全问题进行了广泛研究。我们深入研究了多个系统、数千个项目以及多种配置。结论很明确——将安全责任委托给开发者的模式已经失败。这一点在我们之前的内容中多次得到证实:

  • 一个简单的注入场景暴露了数十个公共仓库,包括流行的开源项目。
  • 我们发现最受欢迎的前端框架之一容易受到创新的分支注入攻击。
  • 我们详细介绍了完全不同的攻击向量——第三方集成风险,GitHub 上最受欢迎的项目以及数千个其他项目。
  • 最后,拥有超过 3 亿用户的 Microsoft 365 UI 框架容易受到另一种新威胁——制品投毒攻击。
  • 此外,我们还私下发现、报告并披露了数百个其他漏洞。

上述每个漏洞都有其独特特征,使得开发者几乎不可能跟上最新的安全趋势。不幸的是,每个漏洞都有一个共同点——每次利用都可能影响数百万受害者。

正是出于这些原因,Raven 被创建为一个用于 CI/CD 安全工作流分析(首次用例是针对 GitHub Actions)的框架。在我们的关注点中,我们审查了复杂的场景,其中每个问题本身并不构成威胁,但组合起来却构成严重威胁。

设置与运行

要开始使用 Raven,请按照以下安装说明进行操作:

步骤 1:安装 Raven 包```bash pip3 install raven-cycode

**第二步**:搭建本地Redis服务器和Neo4j数据库```bash
docker run -d --name raven-neo4j -p7474:7474 -p7687:7687 --env NEO4J_AUTH=neo4j/123456789 --volume raven-neo4j:/data neo4j:5.12
docker run -d --name raven-redis -p6379:6379 --volume raven-redis:/data redis:7.2.1

另一种设置环境的方法是运行我们提供的docker compose文件:```bash git clone https://github.com/CycodeLabs/raven.git cd raven make setup

**步骤 3**: 运行 Raven Downloader

账户模式:```bash
raven download account --token $GITHUB_TOKEN --account-name RavenDemo

爬取模式:```bash raven download crawl --token $GITHUB_TOKEN --min-stars 1000

**步骤4**:运行 Raven Indexer```bash
raven index

步骤 5:通过报告器检查结果```bash raven report --format raw

此时,可以通过连接 http://localhost:7474/browser/ 来查看 Neo4j 数据库中的数据。

### 前提条件

- Python 3.9+
- Docker Compose v2.1.0+
- Docker Engine v1.13.0+

## 基础设施

Raven 使用两个主要的 Docker 容器:Redis 和 Neo4j。
`make setup` 将运行 `docker compose` 命令来准备该环境。

![Infrastructure](https://assets.kitploit.com/production/public/readmes/6219/6e7554b76c0ec4f4ee7e5d54705be7bd6b29f8de03a0e251f75169621882a665.png)

## 使用

该工具包含三个主要功能:`download`、`index` 和 `report`。

### 下载

#### 下载账户仓库```bash
usage: raven download account [-h] --token TOKEN [--debug] [--redis-host REDIS_HOST] [--redis-port REDIS_PORT] [--clean-redis] (--account-name ACCOUNT_NAME | --personal)
下载工具