Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extra policies for sensible topics (contributions, reviews, merging) #679

Open
moul opened this issue Mar 30, 2023 · 4 comments
Open

Extra policies for sensible topics (contributions, reviews, merging) #679

moul opened this issue Mar 30, 2023 · 4 comments
Assignees
Labels
help wanted Want to contribute? We recommend these issues.

Comments

@moul
Copy link
Member

moul commented Mar 30, 2023

I recently approved a pull request for merging on GitHub without conducting a thorough analysis (#670). However, upon reflection, I realize that this was not the best approach, and I should have taken the time to conduct a more thorough review. Moving forward, I suggest defining additional policies and identifying areas that require extra attention to ensure that we achieve both efficiency and security.

When adding new features or extending the surface of our programs, we need to justify their necessity, and we must ensure that they are future-proof and minimalist. In particular, when working with cryptography, we should perform entropy and security benchmarks and document our findings. I welcome suggestions on the rules that we could add to ensure that we maintain our security standards.

To implement these changes, I propose adding a new label to identify pull requests that require extra attention and updating the CONTRIBUTING.md file. We may also need to reconsider (revert) two recent pull requests and conduct a thorough analysis before merging (#670 and #580).

Edit: related with #687.

@moul moul changed the title Security / Crypto - extra policies Extra policies for sensible topics (contributions, reviews, merging) Mar 30, 2023
@grepsuzette
Copy link
Contributor

grepsuzette commented Mar 30, 2023

Cryptography is both small in terms of volume of code and critical in terms of impact.
That being said, it's almost the same about some of our stdlibs or the VM itself for example.

When it comes to those areas we need to:

  • discourage changes, as a default stance (it's the opposite for non-critical areas),
  • document problems with external documentation or references,
  • have more than 1 reviewer for those PR/projects,
  • the reviewers need to study the doc, the references if not familiar yet,
  • if no consensus, reach out to Jae, or relevant experts,

I think more than 1 label here.

@moul
Copy link
Member Author

moul commented Mar 31, 2023

CODEOWNERS combined with stronger protected branch configurations enables the creation of designated patterns for sensitive areas, ensuring authorized access and establishing a clear audit trail.

@thehowl
Copy link
Member

thehowl commented Mar 31, 2023

I'll defend my case on sha256: it is no less secure than std.Hash, it was reviewed and approved (in the scope of Sum256) by Jae and it uses the same calling code as std.Hash.

But with this in mind, I do agree with you and think that we should probably add as a requirement for every PR that:

  • At least one person from the core team reviews it
  • The person merging the PR is not the author

Additionally, I think that the first reviewer may request either an additional review from another core-tech or from a "security" group of sorts (with you and Jae for now, I would imagine).

PRs touching crypto (-related) directories require automatically a security approval through codeowners I would say.

@sbibek086
Copy link

Yes, I totally agree with @moul . I will have more to say on this on weekend.

@moul moul moved this to 🔵 Not Needed for Launch in 🚀 The Launch [DEPRECATED] Sep 5, 2023
@moul moul added this to the 💡Someday/Maybe milestone Sep 6, 2023
@Kouteki Kouteki added help wanted Want to contribute? We recommend these issues. and removed help wanted labels Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Want to contribute? We recommend these issues.
Projects
Status: 🔵 Not Needed for Launch
Development

No branches or pull requests

6 participants