你好,世界!

非常感谢您对开发 Metasploit 感兴趣,因此,世界 -- 一个更美好的地方!

请问您是想要来报告 BUG 吗?这里是我们的 Issue tracker
请尽可能详细地描述您的问题; 包括重现步骤(如果有帮助,从控制台输出中剪切并粘贴)以及您期望发生的事情。

请问您是想要报告一个 Metasploit 自己本身的漏洞吗?多么讽刺! 请查看 Rapid7 的漏洞披露政策,并使用我们的PGP密钥将您的报告发送至 security@rapid7.com

请问您是想要提供一些新功能,错误修复或新的 Metasploit 模块吗? 如果是这样,那么就请继续阅读吧!

为 Metasploit 贡献

您在 CONTRIBUTING.md 中看到的内容是关于如何确保您的宝贵贡献真正融入 Metasploit 主分支以及一些不该做的事情的一个列表。
如果你不关注这些规则,你的贡献被关闭。 抱歉!
本文将会是一个简短的列表。 本项目的 wiki 将会更详尽,揭示了许多谜团。 如果您没有阅读其他内容,请参阅标准 开发环境设置指南Metasploit 的常见编码错误

代码方面的贡献

  • 坚持遵守 Ruby 风格指南
  • 根据您添加或修改的代码,使 Rubocop 相对安静。(译者注:Rubocop 是 Ruby 的一个代码检查器)
  • 对于Git提交消息,遵循 50/72 规则
  • 请不要 在分支合并的时候使用默认消息,尽可能留下描述信息。
  • 将你的代码在 BSD 3-clause, BSD 2-clause, 或者 MIT 开源许可证下发布
  • 创建一个主题分支(译者注:topic branch)来处理,而不是直接在 master 分支上工作。 如果您没有从 主题分支 发送 PR(译者注:Pull Request),只要您更新自己的 master 分支,您的 PR 历史将会丢失。 请参阅 https://github.com/rapid7/metasploit-framework/pull/8000 以了解其中的一个示例。

Pull Requests

  • 将您的 Pull Request 定位到主分支,而不是 staging,develop 或者 release 分支。
  • 指定一个描述性的标题来能使你的 Pull Request 被更容易地搜索到。
  • 包含 控制台输出 ,特别是对于在 msfconsole 中可见的效果。
  • 列出 verification steps 验证步骤以便保证你的代码是可被评测的。
  • 在您的 Pull Request 说明中引用相关 issue (译者注:如果你的 Pull Request 是为了专门解决某一个 Issue 中提出的问题或者修复某一个 Issue 中提出的 Bug的时候可以参考本条建议)。
  • 在你的 Pull Request 被落实(译者注:landed,个人理解为合并了你的 Pull Request)后撰写 release notes
  • 请不要 让你的 Pull Request 的描述为空
  • 请不要 放弃你的 Pull Request, 快速的响应可以帮助我们更快地落实(译者注:land,个人理解为合并你的 Pull Request)你的代码。

Pull requests PR#2940PR#3043 是一组很好的可以被追随的例子。

新的模块

脚本

  • Don't submit new scripts. Scripts are shipped as examples for automating local tasks, and anything "serious" can be done with post modules and local exploits.
  • 请不要 提交新的脚本 scripts, 脚本会作为自动化本地任务的示例发布,任何 “严重” 的事情都可以通过后期模块(译者注:post modules)和本地漏洞利用(译者注:local exploit)来完成。

库代码(译者注:Library Code)

  • 编写 RSpec 测试用例,因为即使是 library 层的最小变化也可能导致崩溃。
  • 按照 更好的规格说明 ,就像规格指南的风格一样。
  • 编写 YARD 文档,这会让人们更加容易地使用你的代码。
  • 请不要 在一个 Pull Request 中修复多个问题,较小的修复会更加容易被验证。

Bug 修复

  • 在验证步骤(译者注:verification steps)中包含重现步骤。
  • 在提交描述中包含指向任何相关 Issues 的链接,格式为请参阅 See #1234

Bug 报告

  • 将漏洞报告直接发送给 Rapid7 Software security@rapid7.com.
  • 为您的报告撰写一个描述性的标题和较为详细的描述信息
  • 包含重现的步骤、函数调用栈以及其他任何可能对我们修复您的 Bug 有帮助的信息。
  • 请不要 重复提交相同的报告,请在您提交一个新的报告之前先进行搜索确保没有重复。

如果你还需要更多的指南或者有别的疑问,那么你可以在 Freenode IRC channel 和主要的开源开发者进行交流 或者 给我们的邮件列表 metasploit-hackers 发送邮件来咨询。

最后,感谢 您花费一小段时间来阅读这篇说明!你已经领先于曲线,所以继续保持!

点击收藏 | 0 关注 | 1
  • 动动手指,沙发就是你的了!
登录 后跟帖