New PR here. Apologies. Today is a day of infrastructure failures. https://github.com/apache/airflow/pull/31160
On Tue, May 9, 2023 at 6:16 PM Jarek Potiuk <pot...@apache.org> wrote: > Sorry I merged the change accidentally (before I planned) - mostly due to > a mishap which PR it was after today's GH problems, - I will revert it soon > and re-open. > > J. > > On Tue, May 9, 2023 at 10:08 AM Jarek Potiuk <pot...@apache.org> wrote: > >> Hello everyone, >> >> I have a proposal of how to improve and streamline our security issue >> handling process. >> >> We have been discussing it for some time in the >> priv...@airflow.apache.org - since this is about security and by default >> those discussion are in provate@, and we we also consulted it with >> secur...@apache.org and I have the proposal that is described in this PR >> that I wanted to hear the community opinion of: >> >> https://github.com/apache/airflow/pull/30960 >> >> More context and some (presumably :D ) FAQs below: >> >> * Why are we doing this now? >> >> We recently started to receive a growing number of security related >> reports (by security researchers). So far the security discussion and >> fixing has happened between PMC members only, but we seem to need a bit >> more community help on that. >> >> * What problem do we want to solve? >> >> This is a relatively small group, and there are some PMC members that are >> not too active (naturally), as well sometimes we lack the expertise or time >> to be able to properly focus, timely diagnose and promptly enough fix such >> requests. And we think we should do better. >> >> * What's the assumption we have here? >> >> There is - conceptually - no problem to invite others to help us with >> diagnosing and handling the security issues, especially that there are >> people who specialize in those and we could invite such people on the base >> of trust. There are stakeholders in Airflow that have their own security >> teams already looking at Airflow Security and those people are security >> experts, they are trusted but at the same time, they do not focus >> exclusively on Airflow. There are also security experts who reported issues >> in the past and they expressed their interest in helping in handling the >> security issues as well. >> >> * Why does the current PMC-only approach work in a suboptimal way? >> >> We sometimes lack time or expertise to go deeply into security issues, It >> would be difficult for people who are security experts mostly or >> committers who would like to become PMC members and would like to help via >> being more active in handling security issues, to get to the PMC before >> they would be able to help. This is mostly a chicken-egg problem - someone >> who could raise to be a committer or PMC by mostly focusing on the security >> aspect of Airflow is a super valuable community member, but they can't help >> currently if they are not PMC members. And they can't become a PMC member - >> because they don't even know about those security issues they could help >> with. >> >> * What's the proposal? >> >> We propose that we change the process by creating a dedicated, smaller >> and focused secur...@airflow.apache.org team and by allowing for this >> group to contain not only selected PMC members but also selected committers >> and possibly even people who are not yet committers but who we have already >> an interest in airflow, who PMC members will approve to join such a team on >> a base of trust and expectation that they will be actively helping with >> diagnosing and fixing the issues. >> >> This is going to be entirely at the discretion of the PMC to approve such >> people from outside of the PMC. This group will also always have release >> managers so that they are aware of the security issues being solved and can >> include them in announcements when we release new software >> >> * What's in it for those who join the team? >> >> Active participation in such a group will bring glory and fame (of course >> :) ). As the nature and of the discussions and amount of contributions are >> private so we are going to get the people involved credited as remediation >> contributors in the announced CVEs. Of course also active participation is >> a good way to quicken the path to become a committer and PMC member (see >> the PR). >> >> But there is expectation that the people in the group will be actively >> helping in diagnosing and solving the issues and we will keep an eye on >> that. That group will be small and focused and "just listening" right to >> what happens there is reserved only for release managers whose job will be >> to make sure all the fixed problems are announced, >> >> Also - what's more important - there is an expectation of secrecy. >> Security issues that are not yet announced should not be discussed in the >> open. Security issues for which solutions are not yet public in the form >> of PR should not be even hinted at to anyone - including employees of those >> people. This is a great responsibility to bear. >> >> And I personally (and here is my personal take) - find it really great to >> be able to work on such security issues. They are often a bit >> brain-teasers: one - to understand what the issue really is and how it can >> be exploited, followed by a team discussion on how severe they are, >> followed by finding a way to solve them to keep maximum backwards >> compatibility possible (but sometimes necessarily breaking it). Since there >> will be other security team members that you can bounce your ideas and >> understanding of the issue off, this also allows you to learn about new >> aspects of the security and get to know Airflow better in parts you had no >> chance to look at. Fixing security issues when they are diagnosed and >> discussed is usually fast and simple - often one-liner PRs. rarely >> implementing bigger features. Which has the nice property of feeling >> accomplishment quickly - as opposed to working on something bigger for >> weeks. >> >> Also - there is sometimes an opportunity to help others (for example >> Bolke recently worked with FAB team and implemented Rate Limiting: >> https://github.com/dpgaspar/Flask-AppBuilder/pull/1976 which I have >> integrated in 2.6.0 : https://github.com/apache/airflow/pull/29766 so >> that we could fix a long-standing issue with possibility of cracking >> user's passwords by brute-force. So we also have a chance to collaborate >> with others and help them at the same time as helping us - this has been >> announced here https://nvd.nist.gov/vuln/detail/CVE-2023-29005 so it's >> not our CVE, but we have been affected by it and it was actually us to push >> on fixing it (which reminds me to ask Daniel from FAB to putt Bolke as >> remediation developer in the CVE :D ). >> >> * What are the next steps? >> >> The idea is described in detail in the PR - feel free to comment there. >> Essentially - if the idea gets generally positive feedback, we will create >> such a team and we will either invite or accept a selected few people - >> interested PMC members, but also committers and people who are not (yet) >> committers but who we know have an interest in improving Airflow's >> security. This group will start with invited people, but if you are >> interested to join such a group and understand the obligations it brings - >> feel free to write to priv...@airflow.apache.org and tell us why :). >> Then we establish the group, merge the PR and the first thing to do will >> be to agree on ways of collaboration in an efficient way using tools we >> have at our disposal (and there are some good ideas and tools already). We >> have some open issues raised to us that the group can start working on >> right away, so it won't be boring. >> >> J. >> >>