On Sun, Jan 10, 2021 at 5:28 PM Matt Sicker <boa...@gmail.com> wrote:
> If we can get GA to handle our use case properly, that would be awesome. > Being in the security engineering domain, though, I’m generally pessimistic > about security, so please excuse my cynicism. > I totally understand. i am a bit more optimistic, especially that we potentially could throw some heavyweight - like a number of Serious Apache project making a common and coordinated action of "We can either praise GitHub for their cooperation" or "They are not secure and not willing to improve". That is a publicity they would either love (the former) or hate (the latter). I am happy to help in any way I can - represent INFRA in talks, describe the problems and propose solutions, word the "carrot" and "stick opttions and even prepare how they could look like - I coudl take part in discussions with GitHub, maybe even escalate this to Microsoft if they will not show they are cooperating - butI have no legitimation for doing so. I have no power to throw the weight of ASF in the discussion. But I would love to do that and lead that if only I had this kind of power at least delegated to me and provided with the means of contacting GitHub and representing the ASF (but I doubt anyone would give me that power, it is a bit risky as with big power I would have no big responsibility. Tough call - I am not sure how else I can help INFRA/ASF to help me and others. J. > > On Sun, Jan 10, 2021 at 03:43 Jarek Potiuk <jarek.pot...@polidea.com> > wrote: > > > I have a feeling (though I cannot know for sure) > > that you are underestimating the power of an organization like ASF in > > actually 'stating' their requirements and 'expectations' towards GitHub. > > > > I am now an engineer, but I used to be CTO, CEO, Head of IT, Head of > > Technology > > and I know that a lot can be achieved by proper communication, stating > your > > expectations clearly and follow-up and pushing when you are dealing with > > partners like that - and engineering excellence or security perfection is > > not the only > > the thing that matters. Usability, maintenance, streamlining development > > matter and if you > > have "good enough security", they are more important for users. > > > > I know if you look at it from an "infrastructure security Jenkins" point > of > > view - the Jenkins > > you manage is superior when it comes to security. > > This is perfectly clear, and I have no intention to question that or > > disagree with you. > > And yes - in this aspect I fully agree with you. > > > > But there are other aspects which I see (and try to explain). > > While I deeply care about security (as probably you could see from my > > earlier > > communication). Just limiting the discussion to "who is more secure" is a > > terrible, > > terrible oversimplification. > > > > I encourage you to exercise empathy and see it from the side I was > > explaining - > > maintenance, features, integration, streamlining development. Those are > > important > > things for developers. Less important for security engineers of course, > but > > if > > we can satisfy security, those are the things that matter. > > > > I think currently we have mitigations for all the security problems we > > found at the project > > level. Also (as I mentioned before) we will have good leverage - via > social > > media pressure > > to push GA into solving those that are 'systemic' problems we found. They > > are not > > necessary for our project to solve, but it would simplify your life as > you > > take care of so > > many projects. So the security bounties that I opened are not for me - > they > > are for the > > ASF as a whole and for the security team of ASF. I exercised a lot of > > empathy to your > > team that rather than only solving my problem, I also spend time and > effort > > to push > > GA into solving it for all ASF projects and in the way that ASF infra > > security will be satisfied. > > I did not have to do that. Yet I try to think about your needs there. > > > > And to be honest I expect something in return. Empathy and understanding > > other needs > > I have - performance, usability, streamlining development, minimum > > engineering effort > > to solve our problems is the least I can ask for. Help in dealing > > with GitHub and > > exercising ASF powers would be great. > > > > Maybe with GitHub, the problem is that organizations like ASF do not > > exercise > > their leverage and do not clearly state what is essential for them while > > working with > > partners like them? > > > > Did the ASF explicitly contacted GA and firmly stated that solving the > > problem of > > self-hosted runnines is an absolute top priority to solve our performance > > issues? > > > > I do not know. > > > > Did anyone from ASF contacted GA and firmly stated that the two bounties > I > > created are essential for the security team to be able to provide > security > > for > > the organization? > > > > I do not know. > > > > Did the ASF push GA in any way in this direction stating that > > ASF is considering alternatives? (The "stick" in this discussion) > > > > I do not know. > > > > Did the ASF propose GA that we can endorse their service, write blogs, > and > > ask > > the 100s of projects that will use GA to endorse their service publicly > > once they > > start addressing our firmly stated needs and expectations? (The "carrot" > in > > this > > discussion) > > > > I do not know. > > > > This is what I would do if I were at INFRA. I am not. I am not even an > ASF > > member to > > have more insight and visibility into it. > > > > The only thing I can do is to ask for help and see if the ASF Infra is > > willing to help in > > the situation by exercising the powers that I do not have. > > > > For me, this is really a test, whether the ASF has the power to negotiate > > with such > > partners. If not - maybe it's time to think that everything (including > > GitHub repos) > > should be self-hosted by INFRA, because if you are dealing with partners > > like that > > you should have some negotiating power, otherwise, you put yourself in a > > loosing > > position. > > > > But again - I do not know much. This is what I would do If I had the > > powers. > > On my side, I think I've shown that I do above and beyond what you might > > expect > > from a PMC of one of the ASF projects, and asking for help from the > > organization, > > I - so far - proudly belong to, is the only thing left I have. I run out > > of all ammo. > > > > So again - please help! > > > > J. > > > > > > On Sat, Jan 9, 2021 at 11:00 PM Matt Sicker <boa...@gmail.com> wrote: > > > > > I work on the Jenkins security team. We don’t have embarrassing > security > > > failures like this anymore, but part of that is due to the added > > complexity > > > of a secure configuration. By the time GA meets your security > standards, > > > it’ll likely either require non-trivial changes to your CI scripts, or > > > it’ll break various use cases that you otherwise considered to be > > usability > > > enhancements. It’s really getting annoying how every complaint you have > > > about every non-Jenkins system isn’t a problem in Jenkins. We have more > > > expertise available to customize things in such a way that works for > > > non-proprietary SaaS that most services are optimized for (which is why > > > their security models tend to fall short once a large organization like > > > Apache tries using something). > > > > > > Many of the features you’re asking from GA are likely non-trivial > > > architecture changes they’ll have to make to accommodate the > non-trivial > > > use cases we have. Or maybe it isn’t and they’re just incompetent? > > > > > > On Sat, Jan 9, 2021 at 05:58 Jarek Potiuk <ja...@potiuk.com> wrote: > > > > > > > > > > > > > > > > > > > > The multiple threads about how shitty those are in practice for > > your > > > > > > needs seem to indicate otherwise. Security and easy learning > curves > > > > > > don't seem to get along too well, do they? > > > > > > > > > > > > > The usabilty, integration level (especially GitHub Actions), > > maintenance > > > > effort needed > > > > - thi is far, far superior. If only we could solve one simple > problem - > > > > securely running > > > > the self-hosted runners for GA - all our problems are solved > > INSTANTLY. > > > > > > > > Security issues happen everywhere, at least if they happen in such > > > services > > > > you can > > > > mitigate (we just did it in Airflow- we mitigated all the security > > issues > > > > we found), > > > > open bounty requests (I did - I opened two bounty requests) and then > > > > escalate. > > > > If I do not hear about my 2 security bounties from GitHub shortly, > > > > I am going to start a hell of a social media campaign about it > > > > using all the means I can. I tried to responsibly disclose it but I > am > > > > going to write a nice > > > > blog post about "How to exploit Github Actions" and I am going to > tell > > > them > > > > that before > > > > I publish it and give them a chance to fix it. > > > > > > > > So you have many ways to influence the security of public services > like > > > > that. I think it's > > > > much better than when you have to manage security yourselves. > > > > > > > > > > > > > > > > > > > > That would all be possible in Jenkins, some of it would be fairly > > > > > > simple to integrate, others would indeed be non-trivial rewrites. > > > > > > > > > > > > > > > > > > > Yep. The non-trivial ones I am afraid of. It took me a year to > perfect > > > and > > > > optimise > > > > a number of steps in our CI and the problem was - it worked really > well > > > > until it stopped > > > > because of uncontrolled increase of usage from other projects and no > > > secure > > > > way > > > > to add extra resources needed (even if we have all the funds - we now > > > have > > > > 8000 USD > > > > secured from our stakeholders - with outlook for more) to run those. > > But > > > if > > > > you add the > > > > engineering effort needed to migrate, the engineering time for that > > costs > > > > FAR more than > > > > just that - enabling compute resources to use all the engineering > > efforts > > > > you've already > > > > spent. This is no brainer which way is simpler, cheaper and can be > done > > > > faster. > > > > We just need to have a secure way of doing it. > > > > > > > > > > > > > > > > > > > > > > > > > > You can have your own Jenkins controller for your PMC. This is > > vastly > > > > > > simpler for you to administer than a super time-shared > environment > > > > > > like GA. CI systems seem to be a dime a dozen nowadays, yet not a > > > > > > single one seems to implement job scheduling in a sufficiently > > > > > > customizable way that scales. > > > > > > > > > > > > > I do not want nor need to administer my CI. And I've done that many > > times > > > > in > > > > the past - Jenkins, Bamboo, GitLab - you name it. > > > > Heck - I built and maintained my first custom CI framework for my > > company > > > > some 20 years ago when the "CI" was just being coined. > > > > With CI as a service, I do not want to do it anymore. At all. CI for > me > > > > should just 'be there'. > > > > Great CI is one that you are not aware of its existence until your > test > > > > fail - and > > > > even then you just want to see the logs of your failed tests and > figure > > > > out the reason > > > > This is what you want from CI system. I do not want to learn how > > > > to manage Jenkins, install plugins, configure that etc. This is not > my > > > job, > > > > nor any > > > > one in our project. This requires far more than just setting it > > > > up - it is making sure that it is secure, that it runs 24/7, that it > > gets > > > > updated etc. etc. > > > > This is far more complex than 'just use CI'. We have enough trouble > > with > > > > setting up > > > > and maintaining runners (once we get them securely connected). > > > > > > > > I know it looks differently from the infrastructure person point of > > view > > > - > > > > running > > > > Jenkins is pretty much core part of what you do. But for project > > > > developers, CI > > > > should just 'work'. This is what I get from GitHub Actions. It just > > > > 'works'. I have > > > > to spend 0 effort to maintain it. Sometimes when it does not work, it > > > > pains, but > > > > then it's their problem to fix - and they have to fix it eventually > > > because > > > > they get > > > > pressure from all their customers. In case I run my own jenkins > install > > > and > > > > administer it - all those problems fall on us. I do not want that. > This > > > > moves us > > > > away from doing what we should - develop our product. > > > > > > > > > > > > > > > > > > > > Definitely valid points. Any CI migrations are non-trivial, > > > especially > > > > > > once you've set up nice workflows. Perhaps there are some > > > alternatives > > > > > > that can help bridge the gap if GA still can't meet your needs. > > I've > > > > > > seen prow [1] used in various projects in the Kubernetes > > communities, > > > > > > and I'm sure there must be plenty of others. > > > > > > > > > > > > > GA meets all my needs. Except one that I am asking ASF to help with - > > > > make GitHub focus on making a secure way of working with self-hosted > > > > runners. That's it . We even (In November) opened a PR to Github > > Actions > > > > Runner to enable it: https://github.com/actions/runner/pull/783 > > > > But we have not heard anything since. > > > > > > > > This is what I ask INFRA to help with - put pressure on GitHub to > make > > it > > > > happen. I need nothing more - no money, no Jenkins, nothing like > that. > > > > I just want to be able to spend the money we managed to secure. > > > > > > > > J. > > > > > > > > > > > > -- > > > > +48 660 796 129 > > > > > > > > > > > > > -- > > > > Jarek Potiuk > > Polidea <https://www.polidea.com/> | Principal Software Engineer > > > > M: +48 660 796 129 <+48660796129> > > [image: Polidea] <https://www.polidea.com/> > > > -- +48 660 796 129