Skip to content

Commit 0f4c73b

Browse files
authored
Land rapid7#19979, Add guidelines for expedited module creation
Land rapid7#19979, Add guidelines for expedited module creation
2 parents aef5b5b + 2908409 commit 0f4c73b

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

CONTRIBUTING.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ Once you have finished your new module and tested it locally to ensure it's work
2222
Finally, follow our short list of do's and don'ts below to make sure your valuable contributions actually make it into Metasploit's master branch! We try to consider all our pull requests fairly and in detail, but if you do not follow these rules, your contribution
2323
will be closed. We need to ensure the code we're adding to master is written to a high standard.
2424

25+
## Expedited Module Creation Process
26+
We strive to respect the community that has given us so much, so in the odd situation where we get multiple submissions for the same vulnerability, generally we will work with the first person who assigns themselves to the issue or the first person that submits a good-faith PR. A good-faith PR might not even work, but it will show that the author is working their way toward a solution. Despite this general rule, there are rare circumstances where we may ask a contributor to step aside or allow a committer to take the lead on the creation of a new module if a complete and working module with documents has not already been submitted. This kind of expedited module creation process comes up infrequently, and usually it involves high-profile or high priority modules that we have marked internally as time-critical: think KEV list, active exploitation campaigns, CISA announcements, etc. In those cases, we may ask a contributor that is assigned to the issue or who has submitted an incomplete module to allow a committer to take over an issue or a module PR in the interest of getting a module out quickly. If a contributor has submitted an incomplete module, they will remain as a co-author of the module and we may build directly onto the PR they submitted, leaving the original commits in the tree. We sincerely hope that the original author will remain involved in this expedited module creation process. We would appreciate testing, critiquing, and any assistance that can be offered. If the module is complete but requires minor changes, we may ask the contributor to allow us to take over testing/verification and make these minor changes without asking so we can land the module as quickly as possible. In these cases of minor code changes, the authorship of the module will remain unchanged. We hope everyone involved in this expedited module creation process continues to feel valued and appreciated.
2527

2628
### Code Contribution Do's & Don'ts:
2729

@@ -40,13 +42,18 @@ Keeping the following in mind gives your contribution the best chance of landing
4042
* **Do** target your pull request to the **master branch**.
4143
* **Do** specify a descriptive title to make searching for your pull request easier.
4244
* **Do** include [console output], especially for effects that can be witnessed in the `msfconsole`.
43-
* **Do** list [verification steps] so your code is testable.
45+
* **Do** test your code.
46+
* **Do** list [verification steps] so committers can test your code.
4447
* **Do** [reference associated issues] in your pull request description.
4548
* **Don't** leave your pull request description blank.
49+
* **Don't** include sensitive information in your PR (including externally-routable IP addresses in documentation).
50+
* **Don't** PR untested/unvalidated code you copy/pasted from the internet.
51+
* **Don't** PR untested/unvalidated code you copy/pasted from AI or LLM.
4652
* **Don't** abandon your pull request. Being responsive helps us land your code faster.
4753
* **Don't** post questions in older closed PRs.
4854

4955
#### <u>New Modules</u>
56+
* **Do** check the issue tracker to see if there is a `suggestion-module` issue for the module you want to write, and assign yourself to it if there is.
5057
* **Do** license your code as BSD 3-clause, BSD 2-clause, or MIT.
5158
* **Do** stick to the [Ruby style guide] and use [Rubocop] to find common style issues.
5259
* **Do** set up `msftidy` to fix any errors or warnings that come up as a [pre-commit hook].

0 commit comments

Comments
 (0)