The change is now merged. Unless someone has any more comments, I will
follow with the next steps.

J

On Tue, May 9, 2023 at 6:33 PM Jarek Potiuk <pot...@apache.org> wrote:

> 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.
>>>
>>>

Reply via email to