Perkins-Fund/OnlyVulns

GitHub: Perkins-Fund/OnlyVulns

OnlyVulns 是一个由研究人员主导控制的非营利开源漏洞披露平台,旨在解决安全研究人员在企业拒绝善意沟通时无法安全、透明地发布漏洞研究成果的问题。

Stars: 9 | Forks: 0

OnlyVulns logo

OnlyVulns

一个专为安全研究人员构建的非营利、开源漏洞披露平台。

OnlyVulns 是一个专为安全研究人员构建的非营利、开源漏洞披露平台。 该平台的存在是为了在企业无视、威胁、封禁、支付过低报酬或拒绝善意沟通时,为研究人员提供一个受保护的、由研究人员控制的场所来发布漏洞研究。 研究人员不应完全依赖厂商控制的披露计划、封闭的 bug bounty 平台或企业所有的代码库来发布合法的安全研究。OnlyVulns 为研究人员提供了一个中立的场所,用于记录他们的工作、保留披露时间线、发布 PoC(概念验证)研究并获得社区支持。 OnlyVulns 将研究人员放在首位。厂商没有个人资料、控制台、账户,也无法控制披露流程。厂商的沟通记录可以作为披露记录的一部分被追踪,但平台本身是围绕研究人员的自主权、研究人员的安全性以及符合公共利益的披露而构建的。 ## 核心理念 OnlyVulns 应作为一个协调披露平台,用于 PoC(概念验证)研究、技术报告以及由研究人员控制的发布工作流。 研究人员应能够: * 上传 PoC * 上传技术报告 * 添加受影响的产品和版本 * 添加严重程度详细信息 * 计算或手动输入 CVSS 分数 * 追踪厂商沟通记录 * 添加修复或缓解措施说明 * 设置 embargo 日期 * 在发布前取消、推迟、删除或修改披露 * 在 embargo 期和等待期结束后公开发布该披露 * 因有价值的研究而接收打赏或众筹资金 OnlyVulns 应完全开源、免费使用,并在非营利实体下运营。非营利的结构有助于保护平台的使命,减少企业影响,并为研究人员提供一个更安全的发布环境。 平台还应允许用户对平台本身进行打赏,以帮助支付托管、法务、审核、基础设施和运营成本。 ## 披露流程 研究人员通过上传 PoC、技术报告、支持性文件、受影响产品信息、严重程度元数据以及厂商沟通详情来创建披露。 然后,研究人员设置 embargo 日期。 在 embargo 期间,披露内容保持私有且未发布。研究人员可以利用这段时间与受影响的厂商、维护者或其他相关方进行外部协调。 当 embargo 到期时,披露进入等待期。在等待期内,研究人员仍然可以取消、推迟、修改或删除该披露。 如果研究人员在等待期结束前没有取消或推迟披露,OnlyVulns 将自动公开发布该披露。 一旦发布,除非通过明确规定的审核、滥用或法律程序将其移除,否则该披露将成为安全研究永久公开档案的一部分。 ## 公开披露页面 每个公开披露页面都应提供关于该漏洞的清晰、结构化的信息。 公开页面应包含: * 漏洞标题 * 研究人员署名 * 研究人员个人资料链接 * 披露摘要 * 技术报告 * PoC 详情 * 受影响的产品和版本 * CVSS 分数 * CVSS 向量 * 严重性评级 * CWE 标签 * 修复或缓解措施说明 * 补丁状态 * 已知利用状态 * 厂商沟通时间线 * 厂商响应状态(如果由研究人员填写) * 参考资料和外部链接 * 社区投票 * 研究人员打赏选项 * 机器可读的漏洞元数据 目标是使每项披露对研究人员、防守方、非营利组织、记者、应急响应人员以及更广泛的安全社区都有用。 ## 为什么需要 OnlyVulns 漏洞披露对独立研究人员变得越来越充满敌意。 研究人员经常报告严重的漏洞,结果却被无视、威胁、封禁、压制,或者因为其有意义的工作而获得极少甚至没有报酬。在某些情况下,企业从研究中获益,而研究人员却承担了法律、财务、声誉和运营风险。 OnlyVulns 的存在就是为了改变这种不平衡。 该平台为研究人员提供了一个在企业拒绝善意沟通时发布其研究成果的地方。它为他们提供了一种方法来保存证据、记录时间线、负责任地进行披露,并透明地发布,而无需将流程的控制权交给厂商。 OnlyVulns 旨在保护研究人员,维护符合公共利益的安全研究,并使需要漏洞信息的人能够获取这些信息。 ## 研究人员控制权 研究人员应始终保持对其披露内容的控制权。 他们应该能够决定: * 上传什么内容 * 何时发布 * embargo 应持续多长时间 * 是否在发布前取消 * 是否推迟发布 * 是否删除未发布的披露 * 是否接受打赏 * 是否公开捐赠总额 * 是否使用真实姓名、昵称、组织名或经批准的化名进行发布 OnlyVulns 应支持负责任的披露工作流,而不强迫研究人员使用厂商控制的系统。 ## 厂商角色 厂商不拥有账户、个人资料、控制台或对研究人员披露的管理权。 厂商信息仅作为研究人员输入的披露元数据存在。 研究人员可以追踪: * 厂商名称 * 厂商联系方式 * 初始披露日期 * 后续跟进日期 * 厂商确认状态 * 厂商响应摘要 * 厂商修复状态 * 厂商争议或否认状态 * 补丁可用性 * 相关信函或证据 厂商沟通记录有助于建立披露的时间线和背景,但厂商不应控制发布工作流。 ## 资金模式 OnlyVulns 对研究人员应永远免费。 平台应支持: * 给研究人员的打赏 * 针对特定披露的众筹资金 * 给平台的打赏或捐赠 * 公开或私下的捐赠选项 * 非营利捐赠报告 * 在适当情况下透明的平台资金 目标是创建一种由社区资助的模式,奖励有用的漏洞研究,而不强迫研究人员完全依赖企业的 bug bounty 计划。 ## 威胁情报源 OnlyVulns 应为公开披露的漏洞提供免费的威胁情报源。 此情报源应提供给防守方、研究人员、非营利组织、记者、应急响应人员以及公众。 该情报源应支持: * RSS * JSON * 公共 API 访问 * Webhook * 搜索索引 * 机器可读的漏洞元数据 * 按严重程度、产品、研究人员、CWE、CVSS 分数、发布日期和利用状态进行过滤 该情报源不应被付费墙封锁。 ## 发布前所需的策略 如果没有明确的策略来处理高风险披露、争议声明、法律威胁、滥用和研究人员安全,OnlyVulns 不应上线。 所需策略: * 协调披露策略 * 研究人员保护策略 * 审核策略 * 下架策略 * 法律请求策略 * 恶意软件和 PoC 处理策略 * 负责任使用策略 * 隐私政策 * 使用条款 * 捐赠和支付策略 * 滥用举报策略 * 申诉策略 * OnlyVulns 自身的安全策略 ## 长期目标 OnlyVulns 应成为漏洞研究的永久性、符合公共利益的档案。 长期目标是使企业更难掩盖有效的漏洞报告,并使研究人员更容易安全、透明、独立地发布报告。 OnlyVulns 应保护研究人员,保留他们的工作成果,奖励有用的披露,并无偿向公众提供漏洞信息。 ## 厂商声誉与 Bug Bounty 透明度 OnlyVulns 应包含一个公开的厂商声誉系统,该系统基于披露的漏洞、研究人员提交的披露时间线以及关于厂商行为的社区反馈。 厂商不应获得账户、控制台、审核控制权或对披露的直接控制权。厂商声誉应从公开披露记录、研究人员输入的沟通时间线以及社区提交的反馈中生成。 厂商声誉应帮助研究人员了解企业在接到漏洞报告时的表现。 厂商声誉页面应包含: * 厂商名称 * 已披露的漏洞数量 * 已修复的漏洞数量 * 未修复的漏洞数量 * 确认报告的平均时间 * 修复报告的平均时间 * 公开披露数量 * 被无视的披露数量 * 争议披露数量 * 研究人员报告的支付问题 * Bug bounty 计划评论 * 研究人员提交的 bug bounty 体验 * 社区声誉评分 * 透明度评分 * 响应能力评分 * 修复评分 * 研究人员待遇评分 研究人员和社区成员应能够对厂商的 bug bounty 计划发表评论,包括关于以下方面的反馈: * 报告处理 * 响应质量 * 支付可靠性 * 重复处理 * 范围问题 * 安全港(Safe harbor)质量 * 研究人员待遇 * 报复或威胁 * 账户封禁 * 披露限制 * 计划公平性 为防止滥用,对厂商的评论应支持审核、举报、证据附件、声誉权重、速率限制和反恶意刷屏控制。 目标不是让厂商控制平台。目标是为厂商对待研究人员的方式建立公共问责制。 ## Roadmap ## 后端 ### 账户与身份 * [x] 研究人员注册 * [x] 研究人员登录与身份验证 * [x] 电子邮件验证 * [ ] 研究人员的可选 MFA * [x] 研究人员个人资料 * [x] 研究人员声誉系统 * [ ] 研究人员验证徽章 * [ ] 研究人员化名支持 * [ ] 面向研究人员、管理员和版主的基于角色的权限 * [ ] 账户恢复 * [ ] 账户删除 * [ ] 研究人员通知偏好 * [ ] 研究人员支付设置 * [ ] 研究人员公开/私有个人资料控制 ### 披露管理 * [x] 研究人员报告上传 * [x] PoC 文件上传 * [x] 技术报告编辑器 * [ ] 报告的 Markdown 支持 * [x] 对日志、截图、补丁和参考资料的附件支持 * [ ] 披露草稿 * [ ] 私有披露 * [x] 公开披露 * [x] embargo 管理 * [x] 研究人员控制的发布日期 * [ ] 研究人员在发布前控制的删除 * [ ] 研究人员在发布前控制的取消 * [ ] 披露推迟请求 * [ ] 等待期内的披露取消 * [x] 等待期结束后的自动发布 * [ ] 披露版本历史 * [ ] 披露编辑历史 * [ ] 披露时间线追踪 * [ ] 重复披露检测 * [ ] 相关漏洞链接 * [ ] 受影响产品和版本追踪 * [ ] 修复和缓解措施字段 * [ ] 补丁状态追踪 * [ ] 厂商响应状态追踪(由研究人员填写) * [ ] 披露状态工作流:草稿、embargo、等待期、已发布、已取消、已移除 * [x] 发布前的公开预览 * [ ] 针对被标记披露的管理员审核队列 * [x] 由 OnlyVulns 生成的公开 advisory ID ### 厂商沟通追踪 * [x] 研究人员输入的厂商名称 * [ ] 研究人员输入的厂商联系方式 * [ ] 厂商沟通日志 * [ ] 沟通日期追踪 * [ ] 初始披露日期追踪 * [ ] 厂商确认追踪 * [ ] 厂商修复状态追踪 * [ ] 厂商响应摘要 * [ ] 厂商争议或否认状态字段 * [ ] 由研究人员输入的沟通事件生成的时间线 * [ ] 厂商信函附件 * [ ] 发布前对敏感沟通详情进行可选的遮蔽 * [ ] 研究人员输入沟通的证据保全 * [ ] 选定沟通详情的公开/私有切换 ### 漏洞评分与元数据 * [x] 在后端计算 CVSS 分数 * [x] 支持手动输入 CVSS 向量 * [ ] 存储 CVSS 向量字符串 * [x] 严重程度分类 * [ ] CWE 标签 * [ ] CPE/产品标签 * [ ] 可利用性指标 * [ ] 补丁可用状态 * [ ] 已知利用状态 * [ ] 参考资料和外部链接 * [ ] 可选的 CVE ID 字段 * [x] 可选的 OnlyVulns advisory ID * [ ] 为未来的 CVE/CNA 工作流准备就绪的元数据 * [ ] 漏洞类别标签 * [ ] 受影响平台标签 * [ ] 影响摘要字段 * [ ] 修复信心字段 ### 支付与资金 * [ ] 研究人员打赏 * [ ] 平台打赏 * [ ] 为研究人员提供众筹资金 * [ ] 捐赠收据 * [ ] 支付账户管理 * [ ] 支付处理器集成 * [ ] 平台费用配置 * [ ] 退款处理 * [ ] 针对打赏的欺诈和滥用检查 * [ ] 启用后的公开捐赠总额 * ] 私下打赏选项 * [ ] 非营利捐赠报告支持 * [ ] 研究人员支付历史 * [ ] 平台资金透明度工具 * [ ] 捐赠争议处理 * [ ] 反洗钱和支付合规审查 ### 社区与声誉 * [x] 社区对披露投赞成或反对票 * [x] 社区对漏洞质量投赞成或反对票 * [x] 研究人员基于社区的声誉 * [x] 评论系统 * [x] 评论审核 * [x] 滥用举报 * [ ] 研究质量指标 * [ ] 已验证的复现状态 * [ ] 受信任的审阅者反馈 * [ ] 投票的声誉权重 * [ ] 反恶意刷屏保护 * [x] 限制投票操纵 * [ ] 研究人员声誉衰减或争议处理 * [ ] 热门披露 * [x] 顶级研究人员 * [x] 研究人员贡献历史 * [x] 评论速率限制 ### 威胁情报与公开数据 * [x] 针对已披露漏洞的免费威胁情报源 * [x] RSS 订阅源 * [x] JSON 订阅源 * [x] 公共 API 订阅源 * [ ] Webhook 支持 * [x] 搜索索引 * [x] 导出已披露的漏洞数据 * [ ] 公开档案页面 * [x] 机器可读的披露元数据 * [x] 公共订阅源的速率限制 * [x] 防止滥用的抓取策略 * [x] 按严重程度过滤订阅源 * [ ] 按受影响产品过滤订阅源 * [ ] 按 CWE 过滤订阅源 * [x] 按 CVSS 分数过滤订阅源 * [x] 按发布日期过滤订阅源 * [ ] 按已知利用状态过滤订阅源 ### 审核、安全与防滥用 * [ ] 管理员审核工具 * [x] 举报滥用流程 * [ ] 恶意软件上传扫描 * [ ] 危险 payload 处理规则 * [x] 文件类型限制 * [ ] 沙箱化的 PoC 存储 * [ ] 自动化密钥扫描 * [x] 自动化 doxxing/PII 检测 * [x] 防止垃圾信息 * [ ] 抗 Sybil 攻击 * [ ] 账户封禁工具 * [ ] 披露下架工作流 * [ ] 法律升级工作流 * [ ] 管理员操作审计日志 * [ ] 防滥用控制 * [ ] 公开遮蔽工作流 * [ ] 披露上的私有管理员备注 * [ ] 研究人员安全审查流程 * [ ] 敏感目标处理策略 * [ ] 审核申诉流程 * [ ] 关键操作的不可变审计追踪 ### API 与基础设施 * [ ] API 文档 * [x] 公共 API * [ ] 私有内部 API * [x] 身份验证 token * [x] 速率限制 * [ ] Webhook 系统 * [x] 后台任务队列 * [x] 定时 embargo 发布任务 * [x] 定时等待期发布任务 * [x] 用于上传的安全对象存储 * [ ] 数据库迁移 * [ ] 全文搜索后端 * [x] 日志记录与监控 * [ ] 备份与恢复 * [ ] 管理员控制台 * [ ] 开源部署文档 * [ ] 自托管支持 * [ ] 安全策略 * [ ] 贡献者指南 * [x] 许可证选择 * [ ] 基础设施即代码支持 * [ ] CI/CD pipeline * [ ] 测试套件 * [x] OnlyVulns 自身的漏洞报告流程 ## 前端 ### 公共页面 * [x] 展示已披露的漏洞 * [x] 在适当情况下展示待处理的披露 * [x] 公开披露详情页 * [x] 研究人员个人资料页 * [x] 披露时间线视图 * [x] CVSS 严重程度展示 * [ ] CVSS 向量展示 * [ ] 受影响产品/版本展示 * [ ] 厂商响应状态展示(基于研究人员输入的信息) * [ ] 补丁/修复状态展示 * [ ] 已知利用状态展示 * [ ] 参考资料部分 * [ ] 可下载的 advisory 视图 * [x] 可分享的披露 URL * [x] 公开研究人员署名 * [ ] 面向研究人员的公开打赏界面 * [ ] 面向平台的公开打赏界面 * [ ] 公开档案浏览 * [ ] 相关披露 * [x] 研究人员声誉展示 ### 搜索与发现 * [x] 按研究人员搜索 * [x] 按漏洞标题搜索 * [ ] 按受影响产品搜索 * [x] 按厂商名称搜索 * [x] 按 CVSS 分数搜索 * [x] 按严重程度搜索 * [ ] 按 CWE 搜索 * [x] 按披露状态搜索 * [x] 按发布日期搜索 * [x] 按 advisory ID 搜索 * [x] 按最高投票排序 * [x] 按最低投票排序 * [x] 按研究人员声誉排序 * [x] 按最新披露排序 * [x] 按最高严重程度排序 * [ ] 按最多打赏排序 * [ ] 按最多讨论排序 * [ ] 按已修复/未修复状态过滤 * [ ] 按已知被利用状态过滤 * [ ] 按受影响产品过滤 * [ ] 按漏洞类别过滤 ### 研究人员控制台 * [x] 创建新披露 * [x] 上传 PoC 和报告 * [ ] 保存披露草稿 * [x] 设置 embargo 日期 * [x] 查看 embargo 倒计时 * [x] 查看等待期倒计时 * [ ] 在等待期取消披露 * [ ] 在发布前删除披露 * [ ] 推迟披露发布 * [ ] 编辑披露元数据 * [ ] 追踪厂商沟通记录 * [x] 添加厂商沟通事件 * [ ] 添加厂商响应摘要 * [ ] 添加修复状态 * [ ] 添加补丁状态 * [ ] 预览公开披露页面 * [ ] 查看打赏和支付 * [ ] 管理研究人员个人资料 * [x] 查看声誉评分 * [ ] 查看披露分析数据 * [ ] 管理通知设置 * [ ] 管理支付设置 * [ ] 管理公开署名设置 * [ ] 查看被标记披露的审核状态 ### 社区功能 * [x] 对披露投票 * [x] 对漏洞质量投票 * [x] 评论公开披露 * [x] 举报滥用 * [ ] 打赏研究人员 * [ ] 打赏平台 * [ ] 关注研究人员 * [ ] 订阅漏洞订阅源 * [ ] 通知偏好 * [x] 查看顶级研究人员 * [ ] 查看热门披露 * [ ] 查看最多打赏的披露 * [x] 查看最近发布的披露 * [x] 查看高严重性披露 ### 平台与信任 * [x] 解释非营利模式的关于页面 * [x] 开源代码库链接 * [x] 公开路线图 * [ ] 捐赠透明度页面 * [ ] 审核策略页面 * [ ] 协调披露策略页面 * [x] 研究人员保护策略页面 * [x] 使用条款 * [ ] 隐私政策 * [x] 安全策略 * [ ] 负责任使用策略 * [ ] 下架策略 * [ ] 法律请求策略 * [ ] 联系页面 * [ ] 无障碍支持 * [x] 对移动端友好的布局 * [x] 深色模式
标签:Homebrew安装, 平台, 开源, 漏洞披露, 非营利组织