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

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

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

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

工具目录

分类

查看所有分类
Loading categories
vinifera — 一个用于发现组织内部泄露的 GitHub 侦察/监控工具。 | Kitploit
工具/GitHubGitHub/zomato/vinifera
OSINT (开源情报)侦察信息收集秘密检测事件响应
GitHubzomato/vinifera

vinifera

一个用于发现组织内部泄露的 GitHub 侦察/监控工具。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Vinifera - 监控 GitHub 上的内部泄露

GitHub 监控工具 🤖

Vinifera 标志


自 2019 年 12 月以来,我们一直在生产环境中使用 Vinifera,它帮助我们阻止了安全事故。 Vinifera 最初是一个内部项目,旨在确保我们公开贡献的安全卫生,并监控 GitHub 上的潜在泄露。 我们相信,这将帮助其他公司在涉及像 GitHub 这样的公共来源时加强其安全卫生。

统计数据

Vinifera 是什么?

Vinifera 允许公司/组织监控公开资产,以查找内部代码泄露和潜在违规的引用。

有时开发人员可能会意外泄露内部代码和凭据。Vinifera 旨在帮助公司及时检测这些违规行为并响应事件。

它是如何工作的?

Vinifera 监控属于组织的开发人员,监控并扫描公开贡献,通过查找定义的引用来寻找潜在违规以及内部/秘密/专有代码的泄露。

  • Vinifera 通过同步组织用户来工作。
  • 对于每个用户,所有公开资产都会被注册(如果尚未跟踪)。
  • 每个资产(仓库、Gist)随后会被扫描以查找任何差异。
  • 每个差异随后被扫描、存储并报告(如果包含任何泄露)。

Vinifera 工作流程

名字的含义是什么?

在工具的开发和构思期间,安全团队消耗了大量葡萄,所以我们以我们喜欢的水果命名 :)

Vinifera 的灵感来源于 葡萄的二名法名称

设置与使用。

环境要求

Vinifera 需要安装以下工具:

  1. PostgreSQL
  2. Redis
  3. Docker
  4. Ruby(通过 rbenv/rvm 安装)

设置

GitHub 访问令牌

要扫描你的组织成员,Vinifera 需要一个能够读取组织成员的令牌。

生成一个新的令牌 https://github.com/settings/tokens/new,不赋予任何特殊作用域

你应该使用管理员用户的令牌(无特殊作用域),因为管理员可以列出组织的所有用户。

https://docs.github.com/en/rest/reference/orgs#list-organization-members

如果认证用户也是该组织的成员,则隐藏成员和公开成员都会被返回。

Docker

  • 将 .docker_env.example 重命名为 .docker_env
root@kitploit:~
mv .docker_env.example .docker_env
  • 用所需的变量更新 .docker_env
root@kitploit:~
GITHUB_ACCESS_TOKEN=<已编辑>
VINIFERA_ORG_NAME=<你的组织名称>

RAILS_MAX_THREADS=60 # 这也控制数据库连接池

RAILS_MASTER_KEY=<在此添加你的主密钥>

# 设置环境
RAILS_ENV=<development|production>

# 如果 RAILS_ENV 设置为 production,请设置以下项
SECRET_KEY_BASE=<你的密钥> # 至少允许 32 位密钥

# 为相应的 Slack 频道添加 Slack 传入 webhook URL
SLACK_UPDATES_GROUP_URL=https://hooks.slack.com/services/<你的配置>
SLACK_TARGETS_GROUP_URL=https://hooks.slack.com/services/<你的配置>
SLACK_USER_TRACKING_GROUP_URL=https://hooks.slack.com/services/<你的配置>
SLACK_VINIFERA_VIOLATION_GROUP_URL=https://hooks.slack.com/services/<你的配置>
SLACK_ERROR_GROUP_URL=https://hooks.slack.com/services/<你的配置>

# 默认禁用 fork 和大型 fork 扫描
VINIFERA_ENABLE_FORK_SCANNING=false
VINIFERA_ENABLE_BIG_FORK_SCANNING=false
  • 构建
root@kitploit:~
docker-compose build
  • 运行
root@kitploit:~
docker-compose up
  • 在做出任何更改后重新构建
root@kitploit:~
docker-compose up --build
  • 同步 GitHub 组织用户
root@kitploit:~
docker exec -it vinifera_sidekiq bundle exec rake periodic_syncs:sync_github_users

Docker Compose 命令参考


手动

  • 安装所需依赖
root@kitploit:~
cd <克隆仓库的位置>
bundle install
  • 设置数据库和迁移
root@kitploit:~
bundle exec rails db:create
bundle exec rails db:migrate
  • 设置环境变量和 Slack WebHook 示例 env 文件位于 .example_env
root@kitploit:~
GITHUB_ACCESS_TOKEN=<已编辑>
VINIFERA_ORG_NAME=<你的组织名称> # 生成令牌所在的组织名称。

VINIFERA_DATABASE_HOST=<localhost>
VINIFERA_DATABASE_PASSWORD=<你的密码>

RAILS_MAX_THREADS=60 # 这也控制数据库连接池

RAILS_MASTER_KEY=<已编辑>


SLACK_UPDATES_GROUP_URL=https://hooks.slack.com/services/<你的配置>
SLACK_TARGETS_GROUP_URL=https://hooks.slack.com/services/<你的配置>
SLACK_USER_TRACKING_GROUP_URL=https://hooks.slack.com/services/<你的配置>
SLACK_VINIFERA_VIOLATION_GROUP_URL=https://hooks.slack.com/services/<你的配置>
SLACK_ERROR_GROUP_URL=https://hooks.slack.com/services/<你的配置>



# 仅当你通过 TLS 使用 Docker 时才添加此项,推荐方式。如果与 vinifera 在同一主机上,可以跳过

DOCKER_CLIENT_CERT_PATH=/home/deployer/.docker
DOCKER_HOST=tcp://<IP>:<PORT>

# 默认禁用 fork 和大型 fork 扫描
VINIFERA_ENABLE_FORK_SCANNING=false
VINIFERA_ENABLE_BIG_FORK_SCANNING=false

REDIS_URL=redis://<REDIS_URI>
SIDEKIQ_REDIS_URL=redis://<REDIS_URI>

# 用于 PagerDuty 集成
DEFAULT_PD_INTEGRATION_KEY=<xxxxxxxx>
ENABLE_PAGER_DUTY_TRIGGER=true
  • 设置定时任务
root@kitploit:~
bundle exec whenever --update-crontab
  • 为 Gitleaks 设置自定义 toml 规则。更多信息
root@kitploit:~
[[rules]]
# 在此处插入你的规则
# description = "内部引用"
# regex = '''(?i)((.*)<公司内部引用>(.*))'''
# tags = ["internal", "company","references"]
  • 启动 Sidekiq
root@kitploit:~
bundle exec sidekiq
Datadog

此外,要像上述截图那样在 Datadog 上获取指标,你可以使用 DataDog agent - https://docs.datadoghq.com/agent/

PagerDuty

为确保团队不会错过任何违规,提供了 PagerDuty 集成选项:

PagerDuty 事件

对于 PagerDuty 集成,需要将以下环境变量设置为 true

root@kitploit:~
ENABLE_PAGER_DUTY_TRIGGER=true

然后按照以下文档所述创建一个新服务和一个集成密钥 - https://support.pagerduty.com/docs/services-and-integrations#create-a-new-service

PagerDuty 服务

root@kitploit:~
DEFAULT_PD_INTEGRATION_KEY=<xxxxxxxx>

贡献

我们欢迎对我们的项目进行贡献/错误修复/性能改进 :)

捐赠

如果你欣赏我们构建的工具,欢迎向 Vinifera 所依赖的项目进行贡献/捐赠 :)

Vinifera 建立在其他开源软件之上:

  1. Rails(我们最喜欢的 Web 框架)
  2. Sidekiq(处理作业生命周期、调度和重试)
  3. Gitleaks(Gitleaks 通过 Docker 镜像提供代码扫描能力)
  4. Docker(用于在隔离环境中运行扫描)
  5. Docker-api(用于与 Docker 远程 API 交互的 Ruby 客户端)
  6. Sidekiq Throttled (用于限制工作者)
  7. Octokit(GitHub API 的 Ruby 工具包)
  8. Whenever(Ruby 中的定时任务)

....(列表还会继续……,你懂的 ;) )

你也可以向 Feeding India 进行捐赠

免责声明

Zomato 和本工具的开发者均不对本工具或其使用造成的任何损害负责。 请负责任地使用。详情请参阅 LICENSE。

许可证

Vinifera 根据 Apache License, Version 2.0 进行许可。有关完整的许可证文本,请参阅 LICENSE。

下载工具