I like this suggestion. Blocking the PR is too drastic. I also second Pramod's point (made elsewhere) that we should try to encourage contribution instead of discouraging it by resorting to drastic measures. If you institute drastic measures to achieve a desired effect (e.g. getting contributors to look into CVEs and build infrastructure issues) it can have the opposite effect of contributors losing interest.
Sanjay On Wed, Nov 1, 2017 at 1:25 PM, Thomas Weise <t...@apache.org> wrote: > Considering typical behavior, unless the CI build fails, very few will be > interested fixing the issues. > > Perhaps if after a CI failure the issue can be identified as pre-existing, > we can whitelist and create a JIRA that must be addressed prior to the next > release? > > > On Wed, Nov 1, 2017 at 7:51 PM, Pramod Immaneni <pra...@datatorrent.com> > wrote: > > > I would like to hear what others think.. at this point I am -1 on merging > > the change as is that would fail all PR builds when a matching CVE is > > discovered regardless of whether the PR was the cause of the CVE or not. > > > > On Wed, Nov 1, 2017 at 12:07 PM, Vlad Rozov <vro...@apache.org> wrote: > > > > > On 11/1/17 11:39, Pramod Immaneni wrote: > > > > > >> On Wed, Nov 1, 2017 at 11:36 AM, Vlad Rozov <vro...@apache.org> > wrote: > > >> > > >> There is no independent build and the check is still necessary to > > prevent > > >>> new dependencies with CVE being introduced. > > >>> > > >>> There isn't one today but one could be added. What kind of effort is > > >> needed. > > >> > > > After it is added, we can discuss whether it will make sense to move > the > > > check to the newly created build. Even if one is added, the check needs > > to > > > be present in the CI builds that verify PR, so it is in the right place > > > already, IMO. > > > > > >> > > >> > > >> Look at Malhar 3.8.0 thread. There are libraries from Category X > > >>> introduced as a dependency, so now instead of dealing with the issue > > when > > >>> such dependencies were introduced, somebody else needs to deal with > > >>> removing/fixing those dependencies. > > >>> > > >>> Those were directly introduced in PRs. I am not against adding > > additional > > >> checks that verify the PR better. > > >> > > > Right and it would be much better to catch the problem at the time it > was > > > introduced, but Category X list (as well as known CVE) is not static. > > > > > > > > >> > > >> Thank you, > > >>> > > >>> Vlad > > >>> > > >>> > > >>> On 11/1/17 11:21, Pramod Immaneni wrote: > > >>> > > >>> My original concern still remains. I think what you have is valuable > > but > > >>>> would prefer that it be activated in an independent build that > > notifies > > >>>> the > > >>>> interested parties. > > >>>> > > >>>> On Wed, Nov 1, 2017 at 11:13 AM, Vlad Rozov <vro...@apache.org> > > wrote: > > >>>> > > >>>> Any other concerns regarding merging the PR? By looking at the > active > > >>>> PRs > > >>>> > > >>>>> on the apex core the entire conversation looks to be at the moot > > point. > > >>>>> > > >>>>> Thank you, > > >>>>> > > >>>>> Vlad > > >>>>> > > >>>>> > > >>>>> On 10/30/17 18:50, Vlad Rozov wrote: > > >>>>> > > >>>>> On 10/30/17 17:30, Pramod Immaneni wrote: > > >>>>> > > >>>>>> On Sat, Oct 28, 2017 at 7:47 AM, Vlad Rozov <vro...@apache.org> > > >>>>>> wrote: > > >>>>>> > > >>>>>>> Don't we use unit test to make sure that PR does not break an > > >>>>>>> existing > > >>>>>>> > > >>>>>>> functionality? For that we use CI environment that we do not > > control > > >>>>>>>> and do > > >>>>>>>> not introduce any changes to, but for example Apache > > infrastructure > > >>>>>>>> team > > >>>>>>>> may decide to upgrade Jenkins and that may impact Apex builds. > The > > >>>>>>>> same > > >>>>>>>> applies to CVE. It is there to prevent dependencies with severe > > >>>>>>>> vulnerabilities. > > >>>>>>>> > > >>>>>>>> Infrastructure changes are quite different, IMO, from this > > proposal. > > >>>>>>>> > > >>>>>>>> While > > >>>>>>> they are not in our control, in majority of the cases, the > changes > > >>>>>>> maintain > > >>>>>>> compatibility so everything on top will continue to run the same. > > In > > >>>>>>> this > > >>>>>>> case a CVE will always fail all PRs, the code changes have > nothing > > to > > >>>>>>> do > > >>>>>>> with introducing the CVE. I did make the exception that if a PR > is > > >>>>>>> bringing > > >>>>>>> in the CVE yes do fail it. > > >>>>>>> > > >>>>>>> There were just two recent changes, one on Travis CI side and > > another > > >>>>>>> > > >>>>>> on > > >>>>>> Jenkins side that caused builds for all PRs to fail and none of > them > > >>>>>> was > > >>>>>> caused by code changes in any of open PRs, so I don't see how it > is > > >>>>>> different. > > >>>>>> > > >>>>>> A code change may or may not have relation to CVE introduced. For > > >>>>>> newly > > >>>>>> introduced dependencies, there may be known CVEs. In any case I > > don't > > >>>>>> think > > >>>>>> it is important to differentiate how CVE is introduced, it is > > >>>>>> important > > >>>>>> to > > >>>>>> eliminate dependencies with known CVEs. > > >>>>>> > > >>>>>> > > >>>>>> There is no "stick" in a failed build or keeping PR open until > > >>>>>>> dependency > > >>>>>>> > > >>>>>>> issue is resolved or unit test failure is fixed. Unless an > employer > > >>>>>>>> punishes its employee for not delivering PR based on that vendor > > >>>>>>>> priority, > > >>>>>>>> there is no "stick". As we already discussed, the community does > > not > > >>>>>>>> have a > > >>>>>>>> deadline for a PR merge or for a release to go out. In a case > > there > > >>>>>>>> is a > > >>>>>>>> problematic dependency (with CVE or category X license) you as a > > PMC > > >>>>>>>> suppose to -1 a release (at least I will). Will you consider -1 > > as a > > >>>>>>>> "stick"? For me, it is not about punishing an individual > > >>>>>>>> contributor, > > >>>>>>>> it is > > >>>>>>>> a priority and focus shift for the entire community, not a > "stick" > > >>>>>>>> for > > >>>>>>>> an > > >>>>>>>> individual contributor. > > >>>>>>>> > > >>>>>>>> The stick I am referring to is failing all PRs hoping that will > > make > > >>>>>>>> > > >>>>>>>> people > > >>>>>>> address CVEs. It's got nothing to do with an employer, people > > >>>>>>> contributing > > >>>>>>> to open source can't expect they can control what the outcome > will > > be > > >>>>>>> or > > >>>>>>> what form it will take. You may be confusing this with some other > > >>>>>>> issue. > > >>>>>>> In > > >>>>>>> some of the arguments, you are assuming this scenario is similar > to > > >>>>>>> build > > >>>>>>> failures from failing unit tests and I am arguing that premise. I > > >>>>>>> don't > > >>>>>>> think we should bring regular development to a halt whenever a > > >>>>>>> matching > > >>>>>>> CVE > > >>>>>>> is discovered, unless there is some other secondary reason like > > >>>>>>> merging a > > >>>>>>> PR will make it difficult for a CVE fix to be made. Have you > given > > a > > >>>>>>> thought to what I said about having a separate build that will > > notify > > >>>>>>> about > > >>>>>>> CVEs. > > >>>>>>> > > >>>>>>> As I mentioned, there is no stick, no deadlines and no issues > > keeping > > >>>>>>> > > >>>>>> PRs > > >>>>>> open until builds can be verified on CI environment. Fixing a > failed > > >>>>>> build > > >>>>>> is a priority for the *community* not a stick for an individual > > >>>>>> contributor. > > >>>>>> > > >>>>>> I don't see why keeping PRs open (for whatever reason) brings > > regular > > >>>>>> development to a halt. Nobody is going to put github repo offline. > > >>>>>> Contributors may continue to open new PR, collaborate on existing > > PRs > > >>>>>> and > > >>>>>> add more changes (and need to be patient for those changes to be > > >>>>>> reviewed > > >>>>>> and accepted). The regular development will continue with the only > > >>>>>> exception that the next commit to be merged must address the build > > >>>>>> issue > > >>>>>> (whether it is a failed unit test or newly found CVE). > > >>>>>> > > >>>>>> I don't see much value in a separate build and do not plan to put > > >>>>>> effort > > >>>>>> in that direction. Additionally, will not a separate build that > only > > >>>>>> checks > > >>>>>> for CVE will trigger your initial concern of disclosing CVE in > > public? > > >>>>>> > > >>>>>> Thank you, > > >>>>>> > > >>>>>>> Vlad > > >>>>>>> > > >>>>>>>> > > >>>>>>>> On 10/27/17 14:28, Pramod Immaneni wrote: > > >>>>>>>> > > >>>>>>>> On Fri, Oct 27, 2017 at 11:51 AM, Vlad Rozov <vro...@apache.org > > > > >>>>>>>> wrote: > > >>>>>>>> > > >>>>>>>> On 10/26/17 11:46, Pramod Immaneni wrote: > > >>>>>>>>> > > >>>>>>>>> On Thu, Oct 26, 2017 at 10:39 AM, Vlad Rozov < > vro...@apache.org> > > >>>>>>>>> > > >>>>>>>>>> wrote: > > >>>>>>>>>> > > >>>>>>>>>> I guess you are mostly concerned regarding new CVE in an > > existing > > >>>>>>>>>> > > >>>>>>>>>>> dependency. Once such CVE is added to a database, will it be > > >>>>>>>>>>> better > > >>>>>>>>>>> > > >>>>>>>>>>> to > > >>>>>>>>>>>> know > > >>>>>>>>>>>> about it or postpone discovery till we cut release > candidate? > > In > > >>>>>>>>>>>> case > > >>>>>>>>>>>> it > > >>>>>>>>>>>> is > > >>>>>>>>>>>> reported only during release cycle, there is much less time > > for > > >>>>>>>>>>>> the > > >>>>>>>>>>>> community to take an action and it still needs to be taken > > (as a > > >>>>>>>>>>>> PMC > > >>>>>>>>>>>> member > > >>>>>>>>>>>> you are responsible for preventing release with severe > > security > > >>>>>>>>>>>> issue > > >>>>>>>>>>>> going > > >>>>>>>>>>>> out). If it is reported once the information becomes > > available, > > >>>>>>>>>>>> there > > >>>>>>>>>>>> is > > >>>>>>>>>>>> more time to research and either upgrade the dependency with > > >>>>>>>>>>>> newly > > >>>>>>>>>>>> found > > >>>>>>>>>>>> CVE, agree that it does not impact the project. > > >>>>>>>>>>>> > > >>>>>>>>>>>> This would be the more commonly occurring scenario. We can > > >>>>>>>>>>>> always > > >>>>>>>>>>>> know > > >>>>>>>>>>>> > > >>>>>>>>>>>> about the CVEs because of your changes. We don't need to > fail > > >>>>>>>>>>>> > > >>>>>>>>>>>> builds to > > >>>>>>>>>>> do > > >>>>>>>>>>> that. I am not asking you to remove the reporting. There is > no > > >>>>>>>>>>> set > > >>>>>>>>>>> time > > >>>>>>>>>>> for > > >>>>>>>>>>> a release so having less time during release for addressing > > >>>>>>>>>>> relevant > > >>>>>>>>>>> CVEs > > >>>>>>>>>>> does not come up. There is also nothing preventing anyone > from > > >>>>>>>>>>> looking > > >>>>>>>>>>> at > > >>>>>>>>>>> these reports and taking action earlier. > > >>>>>>>>>>> > > >>>>>>>>>>> I don't see why it will be more commonly occurring scenario, > > but > > >>>>>>>>>>> I > > >>>>>>>>>>> think > > >>>>>>>>>>> > > >>>>>>>>>>> it is equally important to prevent new dependency with severe > > >>>>>>>>>>> > > >>>>>>>>>> vulnerabilities being introduced into the project and check > > >>>>>>>>>> existing > > >>>>>>>>>> dependencies for newly discovered severe vulnerabilities. > > >>>>>>>>>> > > >>>>>>>>>> How will we know about CVE if it is removed from CI build? Why > > >>>>>>>>>> require > > >>>>>>>>>> manual verification when it can be done during CI build and > does > > >>>>>>>>>> not > > >>>>>>>>>> affect > > >>>>>>>>>> builds done by individual contributors? > > >>>>>>>>>> > > >>>>>>>>>> While there is no set time for a release, there is no set time > > >>>>>>>>>> for a > > >>>>>>>>>> PR > > >>>>>>>>>> merge as well. > > >>>>>>>>>> > > >>>>>>>>>> Yes, nothing prevents anyone from looking at the dependency > > >>>>>>>>>> vulnerabilities, but there is a better chance that "anyone" > does > > >>>>>>>>>> not > > >>>>>>>>>> mean > > >>>>>>>>>> nobody if CI build fails. > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> I still do not understand why you value an individual > > contributor > > >>>>>>>>>> and > > >>>>>>>>>> > > >>>>>>>>>> PR > > >>>>>>>>>>> > > >>>>>>>>>>> over the community and the project itself. Once there is a > > severe > > >>>>>>>>>>> > > >>>>>>>>>>> security > > >>>>>>>>>>>> vulnerability, it affects everyone who cares about the > > project, > > >>>>>>>>>>>> including > > >>>>>>>>>>>> all contributors. I don't see a problem with a PR being in a > > >>>>>>>>>>>> pending > > >>>>>>>>>>>> (not > > >>>>>>>>>>>> merged) open state till a build issue is resolved. > > >>>>>>>>>>>> > > >>>>>>>>>>>> That is a mischaracterization that you have stated before as > > >>>>>>>>>>>> well. A > > >>>>>>>>>>>> > > >>>>>>>>>>>> project cannot grow without contributions and without > policies > > >>>>>>>>>>>> that > > >>>>>>>>>>>> > > >>>>>>>>>>>> create > > >>>>>>>>>>> a supportive enviroment where that can happen, I don't see > the > > >>>>>>>>>>> need > > >>>>>>>>>>> to > > >>>>>>>>>>> put > > >>>>>>>>>>> unnecessary obstacles for legitimate contributions that are > not > > >>>>>>>>>>> the > > >>>>>>>>>>> cause > > >>>>>>>>>>> of a problem. Everytime there is a matching CVE the PRs are > > going > > >>>>>>>>>>> to > > >>>>>>>>>>> get > > >>>>>>>>>>> blocked till that CVE is addressed and I am not confident we > > have > > >>>>>>>>>>> the > > >>>>>>>>>>> bandwidth in the community to address this expediently. It is > > >>>>>>>>>>> also > > >>>>>>>>>>> inaccurate to equate this to PR not being merged till build > > >>>>>>>>>>> issues > > >>>>>>>>>>> are > > >>>>>>>>>>> resolved as it derives from an assumption that CVE is same > as a > > >>>>>>>>>>> build > > >>>>>>>>>>> failure. > > >>>>>>>>>>> > > >>>>>>>>>>> While project can't grow without individual contributions, > > >>>>>>>>>>> project > > >>>>>>>>>>> is a > > >>>>>>>>>>> > > >>>>>>>>>>> result of a large number of contributions from a number of > > >>>>>>>>>>> > > >>>>>>>>>> contributors. > > >>>>>>>>>> Some of those contributors are not active anymore and will not > > >>>>>>>>>> provide > > >>>>>>>>>> any > > >>>>>>>>>> fixes should a vulnerability be found in their contribution. > It > > >>>>>>>>>> becomes a > > >>>>>>>>>> shared responsibility of all currently active community > members > > >>>>>>>>>> and > > >>>>>>>>>> those > > >>>>>>>>>> who submit PR are part of the community and share that > > >>>>>>>>>> responsibility, > > >>>>>>>>>> are > > >>>>>>>>>> not they? If a contributor considers him/herself as part of a > > >>>>>>>>>> community, > > >>>>>>>>>> why he or she can't wait for the build issue to be resolved or > > >>>>>>>>>> better > > >>>>>>>>>> take > > >>>>>>>>>> an action on resolving the issue? The only possible > explanation > > >>>>>>>>>> that I > > >>>>>>>>>> see > > >>>>>>>>>> is the one that I already mentioned on this thread. > > >>>>>>>>>> > > >>>>>>>>>> If you see this as unnecessary obstacles for legitimate > > >>>>>>>>>> contributions, > > >>>>>>>>>> why > > >>>>>>>>>> to enforce code style, it is also unnecessary obstacle. Unit > > test? > > >>>>>>>>>> Should > > >>>>>>>>>> it be considered to be optional for a PR to pass unit tests as > > >>>>>>>>>> well? > > >>>>>>>>>> What > > >>>>>>>>>> if an environment change on CI side causes build to fail > similar > > >>>>>>>>>> to > > >>>>>>>>>> what > > >>>>>>>>>> happened recently? Should we disable CI builds too and rely > on a > > >>>>>>>>>> committer > > >>>>>>>>>> or a release manager to run unit tests? If CI build fails for > > >>>>>>>>>> whatever > > >>>>>>>>>> reason, how can you be sure that if it fails for another PR as > > >>>>>>>>>> well, > > >>>>>>>>>> that > > >>>>>>>>>> they both fail for the same reason and there is no any other > > >>>>>>>>>> reasons > > >>>>>>>>>> that > > >>>>>>>>>> will cause a problem with a PR? > > >>>>>>>>>> > > >>>>>>>>>> I don't know how failing PRs because of CVE, which we don't > > >>>>>>>>>> introduce, > > >>>>>>>>>> > > >>>>>>>>>> don't control, no idea of and possibly unrelated would fall in > > the > > >>>>>>>>> same > > >>>>>>>>> bucket as unit tests. I am at a loss of words for that. There > is > > no > > >>>>>>>>> reason > > >>>>>>>>> to block legitimate development for this. This can be handled > > >>>>>>>>> separtely > > >>>>>>>>> and > > >>>>>>>>> in parallel. Maybe there is a way we can setup an independent > job > > >>>>>>>>> on > > >>>>>>>>> a > > >>>>>>>>> build server that runs nightly, fails if there are new CVEs > > >>>>>>>>> discovered > > >>>>>>>>> and > > >>>>>>>>> sends an email out to the security or dev group. You could even > > >>>>>>>>> reduce > > >>>>>>>>> the > > >>>>>>>>> CVE threshold for this. I don't believe in a stick approach > > (carrot > > >>>>>>>>> and > > >>>>>>>>> stick metaphor) and believe in proportional measures. > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> Thank you, > > >>>>>>>>> > > >>>>>>>>> Vlad > > >>>>>>>>>> > > >>>>>>>>>>> On 10/26/17 09:42, Pramod Immaneni wrote: > > >>>>>>>>>>>> > > >>>>>>>>>>>> On Thu, Oct 26, 2017 at 12:08 AM, Vlad Rozov < > > vro...@apache.org > > >>>>>>>>>>>> > > > >>>>>>>>>>>> wrote: > > >>>>>>>>>>>> > > >>>>>>>>>>>> There is a way to add an exception, but it needs to be > > discussed > > >>>>>>>>>>>> on > > >>>>>>>>>>>> > > >>>>>>>>>>>> a > > >>>>>>>>>>>>> case > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> by case basis. Note that CVEs are not published until a fix > > is > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> available. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>>> For severity 8 CVEs I expect patches to become available > for > > >>>>>>>>>>>>>> the > > >>>>>>>>>>>>>> reported > > >>>>>>>>>>>>>> version unless it is an obsolete version in which case, > the > > >>>>>>>>>>>>>> upgrade > > >>>>>>>>>>>>>> to > > >>>>>>>>>>>>>> a > > >>>>>>>>>>>>>> supported version is already overdue. > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> I think we should retain the ability to make that choice > of > > >>>>>>>>>>>>>> what > > >>>>>>>>>>>>>> and > > >>>>>>>>>>>>>> when > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> to upgrade rather than hard enforce it. Like I mentioned > the > > >>>>>>>>>>>>>> CVE > > >>>>>>>>>>>>>> may > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> not > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>> apply to us (it has happened before), even though it may be > > >>>>>>>>>>>>> beneficial > > >>>>>>>>>>>>> upgrade generally when its not applicable, there may not be > > the > > >>>>>>>>>>>>> bandwidth > > >>>>>>>>>>>>> in community to do the necessary changes to upgrade to a > > newer > > >>>>>>>>>>>>> version > > >>>>>>>>>>>>> especially if those dependencies don't follow semver (has > > >>>>>>>>>>>>> happened > > >>>>>>>>>>>>> before > > >>>>>>>>>>>>> as well, remember effort with ning). My caution comes from > > >>>>>>>>>>>>> experiencing > > >>>>>>>>>>>>> this situation before. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> I don't see how reporting helps. If a build succeeds, I > don't > > >>>>>>>>>>>>> expect > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> anyone to look into the report, it is only when CI build > > fails, > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> committers > > >>>>>>>>>>>>> > > >>>>>>>>>>>>>> and reviewers look into the details. > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> We can add a mandatory step during release that we need to > > >>>>>>>>>>>>>> assess > > >>>>>>>>>>>>>> CVEs > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> matching this criteria before proceeding with the release. > > >>>>>>>>>>>>>> This > > >>>>>>>>>>>>>> could > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> end > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>> up requiring upgrade of some dependencies and in other > cases > > it > > >>>>>>>>>>>>> may > > >>>>>>>>>>>>> not > > >>>>>>>>>>>>> be > > >>>>>>>>>>>>> needed. This assessment can also happen more often in adhoc > > >>>>>>>>>>>>> fashion > > >>>>>>>>>>>>> offline > > >>>>>>>>>>>>> before release based upon interest from community. I am > also > > >>>>>>>>>>>>> open > > >>>>>>>>>>>>> to > > >>>>>>>>>>>>> making > > >>>>>>>>>>>>> it mandatory with every PR, in future, like you are > > suggesting, > > >>>>>>>>>>>>> if > > >>>>>>>>>>>>> we > > >>>>>>>>>>>>> see > > >>>>>>>>>>>>> sufficient uptake in community on these issues. From > > experience > > >>>>>>>>>>>>> this > > >>>>>>>>>>>>> is > > >>>>>>>>>>>>> not > > >>>>>>>>>>>>> there currently and hence I don't want to do this now. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> IMO, it does not matter how CVE is introduced. It may be a > > new > > >>>>>>>>>>>>> dependency > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> with an existing CVE or it can be a new CVE for an existing > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> dependency. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>>> In > > >>>>>>>>>>>>>> both cases, dependency with the CVE needs to be fixed. > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> In one case the PR is not directly responsible for the > issue > > >>>>>>>>>>>>>> and > > >>>>>>>>>>>>>> hence > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> we > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> should avoid penalizing them or block them. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> Thank you, > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> Vlad > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> On 10/25/17 11:58, Pramod Immaneni wrote: > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> Thanks that sounds mostly fine except what happens if > there > > >>>>>>>>>>>>>> is a > > >>>>>>>>>>>>>> cve > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> matching that severity in a dependency but it doesnt > affect > > us > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> because > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> let's say we don't exercise that part of functionality > > *and* > > >>>>>>>>>>>>>>> there > > >>>>>>>>>>>>>>> isn't a > > >>>>>>>>>>>>>>> fix available or there is a fix but the upgrade requires > > >>>>>>>>>>>>>>> significant > > >>>>>>>>>>>>>>> effort > > >>>>>>>>>>>>>>> (for example if we need to move to a new major version of > > the > > >>>>>>>>>>>>>>> dependency > > >>>>>>>>>>>>>>> or > > >>>>>>>>>>>>>>> something like that). Is there a way to add an exception > > like > > >>>>>>>>>>>>>>> we > > >>>>>>>>>>>>>>> did > > >>>>>>>>>>>>>>> for > > >>>>>>>>>>>>>>> checkstyle in the interim. How about reporting instead of > > >>>>>>>>>>>>>>> failing > > >>>>>>>>>>>>>>> the > > >>>>>>>>>>>>>>> builds. One of the steps in release process could be to > > >>>>>>>>>>>>>>> investigate > > >>>>>>>>>>>>>>> these > > >>>>>>>>>>>>>>> reports before proceeding with the release. If a PR > > >>>>>>>>>>>>>>> introduces > > >>>>>>>>>>>>>>> new > > >>>>>>>>>>>>>>> cves > > >>>>>>>>>>>>>>> by > > >>>>>>>>>>>>>>> virtue of adding a new dependency or changing an existing > > >>>>>>>>>>>>>>> version, > > >>>>>>>>>>>>>>> that > > >>>>>>>>>>>>>>> would be of interest and can be subject to failure. Is > > there > > >>>>>>>>>>>>>>> a > > >>>>>>>>>>>>>>> way > > >>>>>>>>>>>>>>> to > > >>>>>>>>>>>>>>> distinguish that? > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> On Wed, Oct 25, 2017 at 8:52 AM Vlad Rozov < > > >>>>>>>>>>>>>>> vro...@apache.org> > > >>>>>>>>>>>>>>> wrote: > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> A CVE (should there be a vulnerability in existing or a > > newly > > >>>>>>>>>>>>>>> introduced > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> dependency) will not be exposed during the CI build, but > > the > > >>>>>>>>>>>>>>> build > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> will > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> fail if the CVE has severity 8 or above. To get the > > details, > > >>>>>>>>>>>>>>>> it > > >>>>>>>>>>>>>>>> will > > >>>>>>>>>>>>>>>> be > > >>>>>>>>>>>>>>>> necessary to run dependency check manually. > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> Thank you, > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> Vlad > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> On 10/24/17 16:27, Pramod Immaneni wrote: > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> There was a lot of discussion on this but looks like > there > > >>>>>>>>>>>>>>>> was > > >>>>>>>>>>>>>>>> no > > >>>>>>>>>>>>>>>> final > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> agreement. Can you summarize what your PR does? Are we > > >>>>>>>>>>>>>>>> disclosing > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> the > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> actual vulnerabilities as part of the automated build > for > > >>>>>>>>>>>>>>>>> every > > >>>>>>>>>>>>>>>>> PR? > > >>>>>>>>>>>>>>>>> That > > >>>>>>>>>>>>>>>>> would be a no-no for me. If it is something that > requires > > >>>>>>>>>>>>>>>>> manual > > >>>>>>>>>>>>>>>>> steps, > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> for > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> example as part of a release build, that would be fine. > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> On Mon, Oct 23, 2017 at 1:16 PM, Vlad Rozov < > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> vro...@apache.org> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> wrote: > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> Please see https://github.com/apache/ > apex-core/pull/585 > > >>>>>>>>>>>>>>>>> and > > >>>>>>>>>>>>>>>>> APEXCORE-790. > > >>>>>>>>>>>>>>>>> Thank you, > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> Vlad > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> On 9/14/17 09:35, Vlad Rozov wrote: > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> Do you expect anything else from the community to > > recognize > > >>>>>>>>>>>>>>>>>> a > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> contribution other than committing it to the code > line? > > >>>>>>>>>>>>>>>>>> Once > > >>>>>>>>>>>>>>>>>> there > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> is > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> a > > >>>>>>>>>>>>>>>>>>> steady flow of quality contributions, the > community/PMC > > >>>>>>>>>>>>>>>>>>> will > > >>>>>>>>>>>>>>>>>>> recognize > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> a > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> contributor by making that contributor a committer. > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> Thank you, > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> Vlad > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> On 9/12/17 13:05, Sanjay Pujare wrote: > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> For a vendor too, quality ought to be as important as > > >>>>>>>>>>>>>>>>>>> security > > >>>>>>>>>>>>>>>>>>> so > > >>>>>>>>>>>>>>>>>>> I > > >>>>>>>>>>>>>>>>>>> don't > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> think we disagree on the cost benefit analysis. But I > > get > > >>>>>>>>>>>>>>>>>>> your > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> drift. > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> By "creative incentive" I didn't imply any material > > >>>>>>>>>>>>>>>>>> incentive > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> (although a > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> gift card would be nice :-)) but more along the lines > of > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> what a > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> community > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> can do to recognize such contribution. > > >>>>>>>>>>>>>>>>>> Sanjay > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> On Tue, Sep 12, 2017 at 8:10 AM, Vlad Rozov < > > >>>>>>>>>>>>>>>>>> vro...@apache.org> > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> wrote: > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> I guess we have a different view on the benefit and > > cost > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> definition. > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> For > > >>>>>>>>>>>>>>>>>> me the benefit of fixing CI build, flaky unit test, > > severe > > >>>>>>>>>>>>>>>>>> security > > >>>>>>>>>>>>>>>>>> issue > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> is huge for the community and is possibly small > (except > > >>>>>>>>>>>>>>>>>> for > > >>>>>>>>>>>>>>>>>> a > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> security > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> issues) for a vendor. > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> By "creative" I hope you don't mean that other > > >>>>>>>>>>>>>>>>>>>>> community > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> members, > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> users > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> and customers send a contributor a gift cards to > > >>>>>>>>>>>>>>>>>> compensate > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> for > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> the > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> cost > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> :). For me PR that is blocked on a failed CI build is > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> sufficiently > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> incentive for a contributor to look into why it fails > > and > > >>>>>>>>>>>>>>>>>>> fixing > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> it. > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> Thank you, > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> Vlad > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> On 9/11/17 23:58, Sanjay Pujare wrote: > > >>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> I don't want to speak for others and I don't want > to > > >>>>>>>>>>>>>>>>>>>>> generalize. > > >>>>>>>>>>>>>>>>>>>>> But > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> an > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> obvious answer could be "cost-benefit analysis". > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>> In any case we should come up with a creative way > to > > >>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>> "incentivize" > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> members > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>> to do these tasks. > > >>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>>>>>>> > > > > > >