-
Notifications
You must be signed in to change notification settings - Fork 634
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
Health of the Notary V2 project #981
Comments
@JustinCappos we do it two steps, we gather info, make a decision and then open another issue for archiving if at all. Let's use this to gather thoughts from folks please. @amye can you please fix the title of issue to "Health of Notary v2" project, remove the |
I've addressed the naming and checklist parts of this. |
Hey, I wanted to share some experiences working with the Notary v2 project. Disclaimer: now I maintain cosign and many parts of sigstore, which are also LF Projects currently part of the OpenSSF. These are commonly perceived to compete with Notary v2. At the end of 2020, I, along with many others, tried to join the Notary v2 community and contribute to the project. I found the project impossible to navigate and very unwelcoming. After months of not being able to make any progress and watching PRs from contributors linger, I tried to research the structure of the project. I was unable to find any information on who was allowed to merge code, how the project was governed, or how folks were supposed to contribute, and I filed a bug asking for this clarification: notaryproject/specifications#55. Many concerned folks, including some from TAG-Security, wrote the letter Justin attached here to the TOC over a year ago, and the governance issue was finally addressed after about 6 months, governance was put into place, and the project was restructured. This all happened behind closed doors and many regular contributors were not invited to participate. The original Notary v1 project is basically archived at this point, and the Notary v2 effort has been dragging on for many years. To Justin's point, security feedback from members of TAG-Security has basically been ignored, and I don't think either project (v1 or v2) is in a state the CNCF should feel comfortable recommending. Some transition period is reasonable between major versions of a project like this, but the time scale here is leading to lots of confusion among the community. I don't believe either version of the project qualifies as an Incubating project in the CNCF today, and I believe it is time the TOC or TAG-Security take action to clarify this to the community. |
I was a signatory on the original July 2021 letter, when I was at Red Hat, along with the other signatories @lukehinds @trishankatdatadog and @mnm678. Thanks @JustinCappos for bringing this up again, since nothing substantive seems to have happened since then. IMO Notary v2 trades on the reputation of Notary v1's name and CNCF project status while otherwise changing all other aspects of the project's implementation, security design, and maintainers. This is a dangerous precedent, and a bad look for the CNCF, but I think it's actually relatively straightforward to resolve, by asking Notary v2 to find a new name and go through the CNCF Sandbox process like any other new project, as @JustinCappos suggested. |
DevStats updated to track the new org, details here: https://github.com/cncf/devstats/issues/382#issuecomment-1353502615 |
Disclaimer: I was a TUF core contributor up until a couple of years ago. I gave some talks on Notary V1 on one or two KubeCons as well. I'm incredibly sad to see that Notary has followed this path. I a lot of points have been made but, as somebody who spent near to two years trying to steer things to a better direction in this community, I want to give my perspective. In particular, I want to make sure people know how the lack of process and adherence to open source software has led us to where we are. First off, the mention of a lack of security review issue has been raised, but there is very little talk about how it was discarded. My impression was that the newcomers didn't attempt to understand any part of the previous design and, instead, wanted to start with a blank slate. The rationale was never developed, other than "we want to use this instead" and any explanation was discarded right away. I remember pointing out that we had security design reviews by top Further, as @JustinCappos says, this renders all previous security design reviews and security analysis by both academic researchers and industry researchers (who were paid for by the CNCF) moot. I don't understand how this is admissible by the CNCF without a clear rationale. I believe the CNCF has a goal to have open, respectful and constructive discussions. More concerning is there was no explanation as to why this had to change or why the new design decisions were made. Anybody from the community had to either get in line or be yelled at/ridiculed/avoided so that things weren't I think this is something to highlight. These newcomers weren't joining a community, but taking over it. I'm not entirely sure why the governance had to be made by them. I'm still not sure why the notary repository was moved away I took personal concern of seeing this meeting. My concern is based off of:
It may be my bias, but this definitely does not feel like an open source software project meeting. For the record, I have no qualms with companies trying to align requirements to their interests, for as long as they do this in the open. This is a central part of my concern, which goes beyond the technicalities. I don't believe in the prospects of notary being a community following open source philosophies, and thus it should not be endorsed or hosted under the CNCF or the LF umbrella without serious review on the status quo and all the pathologies that led to this. |
I am one of the original signatories of the letter dated July 7th 2021, and I would like to now also add my support for:
My reasons for revisiting the membership of Notary v2 in the CNCF include:
For these reasons and more, it seems to me that unfortunately Notary v2 does not reflect the best practices of a CNCF project, and as such, its membership should be revisited. Thanks for your consideration. P.S. These are my personal views and do not reflect those of my employer. |
The TOC encourages community members to provide context and constructive and community building recommendations and information around Notary v1 and v2, however we are not going to discuss this until January (meeting to be determined). We appreciate everyone’s passion on this topic and look forward to continuing it in the New Year after the holiday break. |
Summary of email from Liz last time when the Notary question popped upContext:
Guidance:
Additional Notes:
|
@dims Thanks the recapping the TOC's handling of this issue last time. Note, that apart from us sending the letter, the signatories received no response except this (private) message. I am not aware of any efforts to reach out to any of us for further details / discussion or any follow up to check with any parties about their concerns. One of the most frustrating aspects of the past decision was it being worked behind closed doors. These sort of private, backroom dealings are one of the hallmarks of the problems with the Notary-v2 project. They also go counter to several of the CNCF's key principles laid out in the charter (2a, 3b, etc.). As for our current request, this was brought up last year in the notary-v2 slack, it's clear they are aware of this request and have chosen not to comment publicly. As nothing is happening in an open manner, it seems there is some combination of:
Regardless of the outcome, we would encourage the TOC to ensure the process plays out in a public, open manner. |
Justin, Just to be clear, a few of you sent an email to the private toc mailing list and the TOC responded via the same channel. Any follows up it is implicit to keep to the same channel of communication. Let's not confuse this pattern of communication with the general goings-on. TOC does this to ensure we don't step on folks who are trying to get a bad situation under control and add fuel to the fire. Just to be clear, TOC hasn't had any communication from anyone AFAIK on this $TOPIC after the last 2 emails from you and Trishank responding to Liz's email. We are happy to get this on the TOC agenda in an upcoming public meeting. @amye can you please check when we can do this so we can inform everyone and ensure folks are represented? |
Meeting is January 17th |
Here's how to add it to your calendar: go to https://www.cncf.io/calendar/ search for TOC or go straight to for Jan 17th and you should see this. |
This comment was marked as off-topic.
This comment was marked as off-topic.
@anoncam I'd recommend reading https://github.com/cncf/toc/blob/main/PRINCIPLES.md and focus your energies on where you think you should. |
Folks, Thanks for folks who made it to the meeting today, the recording from today is here: The TOC is reaching out to community members regarding this concern and the processes around it and others’ remediation. Please be patient, we will document these events once we have collected more information to ensure all concerns are presented from everyone (especially those who could not make it to the meeting today!). |
Thank you, and sorry I couldn't make it yesterday—my flight was rescheduled. Happy to meet offline if interested. Thanks for looking into this! |
What is the timeline on this? There has been some back and forth on this general topic for a while and though I agree with the need to get more feedback from the community we want to ensure that this gets lost in the mix. Similarly, is there a process for this sort of situation more generally? |
@trishankatdatadog can you please ping me on slack, we can set up a time to chat? ( |
Folks - the TOC is actively working on a resolution and we expect it to be finalized soon. We’ve had many community members reach out to us to voice concerns, experience, and perspectives both publicly and privately. We’ve even reached out directly to a based on previous discussions. Community members are welcome to reach out to TOC members to share, and the TOC will review these to determine if they will influence resolution however we may not respond to every DM or email. Please bear with us as there are many factors to consider that are unique to this project but also considerate of all projects and their governance. |
We want to start by thanking everyone that we, the TOC, spoke with while reviewing this situation. It helped provide some much needed context. We also ask all parties to be empathetic towards one another when facing technical conflict. We want to welcome other perspectives and experiences when evaluating community concerns. The TOC has met numerous times at various intervals with many community members passionate about Notary to understand this issue and have also looked outside of the CNCF to how other foundations or projects have navigated similar concerns. We have heavily considered the charter we have and the goals we maintain for projects and you will see elements of this below. Guidance given to the Notary project in the rest of this response is the type of feedback often given during the due diligence process during an incubation and graduation review. Often changes need to be made during the incubation or graduation review prior to a vote. Action Summary For Notary: The following is an action based summary for the Notary project. Context around these and details on reported concerns not addressed here are below the summary.
Technical conflict in projects should be documented by the project as part of their self-governance. It should consider all perspectives and move to a vote under the specified governance process at the time the conflict occurs. Should the governance be lacking, the project should remediate the governance first and then return to technical conflict resolution. Should this not solve the issue, the project may escalate to the TOC for technical remediation through a to be determined process. Escalating to the TOC is not a path for community members to have the TOC direct a project to change direction when a reasonable governance was followed. Notary has a documented governance and it, with the process above, should be followed in this technical conflict resolution. Note, after the quoted email above was written the Notary governance was updated to account for sub-projects like Notation (in this thread referred to as Notary v2). Formal governance is designed to introduce structure and consistency. We highly recommend all projects lean towards formal governance with flexibility to adjust. Having and following a governance is a graduation requirement and in the graduation process all projects have their governance reviewed. Having a governance reviewed by TAG Contributor Strategy prior to going through the graduation process can help make the graduation process, which often includes changes, easier. We fully expect projects to refresh their goals and objectives and to document those proposals and the corresponding decision. Changes in goals and objectives can lead to changes in design. CNCF projects have a rich history with sub-projects. The TOC is not making changes in this area. Sub-projects should have their maturity clearly documented in relation to the primary project, and not be assumed to be at the same maturity level.. The TOC finds no issue with Notary having sub-projects or changes in design. The maturity of sub-projects with relation to Notary does need to be clearly documented. Changes in design have precedent of happening during the Incubation phase. Projects may reasonably expect divergence in naming. When this occurs it is up to the project to make a documented decision with reasoning so that contributors and adopters can easily navigate each element of the project and its use. This includes cleaning up heritage or legacy naming conventions and documentation within the community while also archiving the appropriate repositories. Notary, Notary v2, and Notation are all discussed as part of the project. There is the Notary v1 codebase, the Notary v2 specification, and Notation which is a reference implementation of the v2 specification. Clarification is needed to help contributors and end-users of the project. Questions arise such as:
We appreciate that keeping external documentation clear, consistent, and up to date can, at times, be a challenge. It may be useful to have a community manager to help keep the communication clear and consistent. The documentation for the Notary project needs changes to improve clarity. Projects, particularly security projects, should plan to go beyond minimums as a matter of building trust with adopters. For instance, achieving an OpenSSF Best Practices Silver or Gold badge. Moving beyond the passing badge requires documentation of elements such as an assurance case. Given that the specification and Notation are at a major version release candidate stage, this is an ideal time for a 3rd party security audit of the specification and implementation. We will work with the project to get this process started. Community members that have issues with the openness and transparency in which the project conducts their collaboration and development activities should discuss these with the project for resolution. Often technical challenges with the tools used may be the cause and this is not immediately apparent to community members. Some ways we observed Notary currently operating with openness and transparency include:
Suggestions for specific improvements for the Notary project related to openness and transparency should be directed at the Notary project. If the Notary project has questions about the guidance from the TOC, we are happy to provide more detail. |
Thanks to @mattfarina and the rest of the TOC for their assistance here. We agree that this project is in need of a security design review and we appreciate the TOC's taking steps to remedy this problem. (I've not seen many successful security projects do a design review only after reaching a major release candidate stage.) The clarification around naming / name use is also addressing a major concern, that even spills over to questions we get in the TUF project. It would be great to have this clarified as well. I'm hoping these issues will be resolved and all can move productively forward. What is the timeline the TOC is requesting for these actions? |
Just for the record, I want to thank @dims for taking the time to hear my concerns! Hoping we can all resolve this soon enough. |
I am happy to show up to the meeting tomorrow if I were able to attend (life happens: flights, medical appointments, etc.), but I also think that more participation from the original signatories of the letter will be needed to render the synchronous meeting meaningful. Agree with Justin that asynchronous updates will be more useful now. |
@trishankatdatadog @JustinCappos ack. let's go ahead and cancel the meeting tomorrow since both of you can't make it. |
Deleted from the calendars, marked 'canceled' on CNCF TOC Public Meeting Notes |
I could have made it (although prefer not to have key discussions at 2AM), but as I said, it is preferable to cancel the meeting. I am looking forward to the TOC continuing the discussion about the requested alternative action plan on this thread. |
Everyone - @JustinCappos Please let us know if the following update on the action plan is sufficient to address the points called out here. We have reviewed the CNCF Charter that outlines the mission and role of the foundation. Our previous comments (here specifically) are in keeping with the Charter and we’ve engaged the project through issues to refine and clean up confusion around naming (this issue, and this issue). We identified the following areas as relevant regarding responsibility of the TOC and CNCF for intervening in and supporting projects and hope this information is helpful in resolving your request:
We would like to let the community know that our comments on this issue should be considered our report on the technical issues that have been brought to our attention. Many of the incidents described by the community are under the purview of the Interim CoCC which has their own processes and procedures for reporting that community members should pursue.
We would like to emphasize to the community the importance of engaging the Code of Conduct Committee when suspected violations occur so they do not languish and impact the project and exacerbate the issue at hand (what we are currently seeing with Notary). If you have not already done so, (we believe this has been initiated but are restating again) please engage the Code of Conduct Working Group for improving or providing feedback on the CoC and its procedures.
We reviewed our governing documents, and haven't identified any changes that need made at this time. Although we found several areas to be unclear and are working on resolving these as we have cycles, we welcome community support in improving clarity — this is always appreciated. Community members of a project are expected to follow and support that project’s governance process through filing issues, engaging in public discussion, raising concerns, etc. If a community member feels the security of a project is lacking, deficient, or delinquent after first seeking resolution of the problem with the project, we encourage them to file an issue on our TOC repository to elevate the concern or to reach out to a TOC member to discuss it. We ask that when you reach out or file an issue that you also include links and references of where you worked within the project to resolve it (this helps us when we engage them). We'll take a look, and depending on the nature of the problem at hand, we may request an Independent Security Audit of the project or we may contact TAG Security for a recommendation on how to move forward or resolve it. CC @lumjjb , @achetal01, @sublimino for your awareness. Our current CNCF process allows for security considerations to be levied and reviewed as the project moves through the levels (sandbox, incubation, graduation) or as issues are filed to elevate community concerns to the us. If this is not well documented in our repo, please let us know or submit a PR to assist us in improving our documentation on this topic.
We have re-reviewed the CNCF Charter that outlines the mission and role of the foundation. Our previous comments (here specifically) are in alignment with the Charter to find a path to consensus. We have found the following areas to be of relevance regarding responsibility of the TOC and CNCF for intervening in and supporting projects and hope this information helps eliminate ambiguity here:
Finally, we (TOC) thank everyone for partnering with us on resolving this issue in the most positive way we can. Thank you again.
|
By the way, the service desk and a lot of marketing lists still list the projects as TUF / Notary or Notary / TUF as though they are still combined. This is understandable since the announcement and process for joining the CNCF was joint between the projects. Notary V1 implements TUF and TUF specifies how the vast majority of Notary V1 should work. This can be clearly seen in the CNCF’s announcement for the event. Here is a quote for reference: Since the Notation team seems to be using the Notary name to refer to Notary V2, can the staff kindly separate this throughout? |
This is a separate issue (re: servicedesk), staff is working on a more robust system where access is managed directly through maintainers.cncf.io. Planned rollout for H1'23 for this, we're still testing it. |
On a related note, we should also get rid of the |
We already have a servicedesk ticket filed for this by a maintainer, thanks! |
It’s unclear what concrete steps are next if any. If I interpret it correctly, you are saying what was there to do has already been done; already engaged the project in issues called out, no changes to documentation or process are needed, won’t write a report, and if complainants should file another issue elevating the exact same security concerns already captured in the opening comment. That turns the plan of action into a plan of inaction. I read a quote yesterday which sadly seems in effect here “When someone has put on their ‘I’m in charge personae,’” she said, “once they start, they can never change their minds.” A new National Cybersecurity Strategy was published today by US President Joe Biden. The introductory section describing malicious actors reads: “The People’s Republic of China (PRC) now presents the broadest, most active, and most persistent threat to both government and private security networks and is the only country with the intent to reshape the international order and, increasingly, the economic, diplomatic, military, and technological power to do so. Over the last ten years, it has expanded cyber operations beyond intellectual property theft to become our most advanced strategic competitor with the capacity to threaten U.S. interests and dominate emerging technologies critical to global development.“ If a project has a record of taking requests from infamous entities notorious for hostile practices on design decisions, what’s to say implants or backdoors are not to be introduced at build time? Those changes would not be caught at a point-in-time source code or architecture audit. Those changes would still have a verifiable signature and checkout. How to tell the whole project and its maintainers haven’t been subverted? What’s to say the PRC hacking teams are not to exploit zero-day vulnerabilities from the exponential lead time gained from participation in shaping the architecture of the v2 project and direct channels to the project maintainers? So, let’s ask ourselves another question: When the next Solarwinds’ Solarburst/Sunburst style hack happens, and it's Nv2 Notaburst… who bears responsibility, given we had the opportunity to prevent it but did not? Do we want the neglect to weigh on us? This blunder can potentially undermine the trustworthiness of the entire cloud native ecosystem. Although it's our role as two of the three longest-standing designated Technical Leaders to advise the TOC on security matters, Justin nor I will be better off for saying I told you so. It's worth pointing out that the research effort that sprung the collective projects was funded by grants from the US National Science Foundation (NSF), the Defense Advanced Research Projects Agency (DARPA), and the Air Force Research Laboratory (AFRL). All those parties are aware of and tracking this issue. The general sentiment is that of expropriation. For the record, part of the associated research was also sponsored by ControlPlane, my current employer. I don’t see that opening an issue on the project repository will yield a response, as they may not consider it a problem or be able to correct it. It’s been brought up here that the project team is also reading this but hasn’t acknowledged, refuted, or acted on it in any way. Again, I express these concerns as a concerned volunteer in the seat of one of the Technical Leaders of the Security Technical Advisory Group. As you rightly pointed out, I'm not the TAG chair or the management in charge of its administration, but the person sought out for the technical insight. As you know, I have dedicated years to safeguarding the cloud ecosystem and working with its end users, protecting them from the evolving threat landscape. I also speak as an advocate of national security. It is my responsibility to go on record here to protect the integrity of the open source software supply chain that critical national infrastructure relies upon. I advise and consult government organizations on matters of risk and security. I have contributed extensively to best practices and reference architectures for the DoD in the US and security declarations for the NCSE in the UK. As the issue stands, my professional recommendation to the organizations I work with is not to build a dependency on Notation based on its current structural risk. |
This is the link to the new National Cybersecurity Strategy published today for more context. Furthermore, we, as an organization that is the hub for the production of a vast amount of software, should internalize and own the following mandate: "Responsibility must be placed on the stakeholders most capable of taking action to prevent bad outcomes, not on the end users that often bear the consequences of insecure software nor on the open-source developer of a component that is integrated into a commercial product." |
@anvega Thank you for the excellent points. I do also want to mention that I had conversations with Notary V1 maintainers who brought up concerns of Chinese interference. (This group is completely distinct from the current maintainer set.) We actually made changes to the TUF specification to add defenses combat this threat, which Notary V1 included. Those defenses are among the design decisions that were omitted in Notary V2. Of course, we mentioned these concerns repeatedly at design time. I also raised them when I met with Toddy Mlandenov about six months ago, who as I understand it is now leading the Notary V2 implementation effort. Shortly after @anvega made the post on this issue about interference, I also disclosed the details of these specific changes again privately last month to Toddy Mladenov, who is leading the Notary V2 implementation effort. I am not listing the details of the defense or the attack publicly for responsible disclosure reasons. |
While it's critical to discuss the security limitations of the Notary v2 / Notation project, I'm not sure that this meta, health issue continues to serve as the best forum for it. Personally, I think this discussion of the security problem should be continued publicly on one of their relevant GitHub repositories. We could mention this particular issue from any such satellite, technical issues so that interested parties can continue to find references. I think we should also write blog posts discussing any such security issues. |
I was made aware that my name (Toddy Mladenov) is mentioned in this thread, and I would like to add some clarifications. First, I do not lead the Notary V2 implementation effort. I am just a contributor who joined the project in Nov 2022. Notary is a collaborative project and there are other people who have been contributing far longer than me. Claiming that I “lead” the implementation effort is an overstatement and does not give enough credit to the community. Also, my role on the project started about four months ago, and the statement that @JustinCappos and I spoke six months ago is again an overstatement. I did meet with Justin on Nov 23 2022. I approached Justin because I heard that there were some CoC and security issues with the Notary V2 project and I wanted to understand what those are. As a side note, I reached to quite a few of the people listed in the inaugural meeting notes at the same time. Only @JustinCappos and @trishankatdatadog accepted my invite to meet. A few responded on Slack that they are not interested in talking about Notary. In my meetings with @JustinCappos and @trishankatdatadog one of the discussion topics was the security of Notary V2 design and implementation. However, following my direct question to provide details about the possible vulnerabilities, @JustinCappos directed me to his academic papers and the TUF framework. I had familiarized myself with TUF long before that and I did spend time reading his paper https://www.justinsamuel.com/papers/package-managers-ccs2008.pdf after our meeting. I find both TUF and the paper valuable resources that address certain security scenarios. Though, having had a hands-on experience with Notary (V1) and having spent significant amount of time working on distributed systems, I am still exploring the options to apply those concepts to the scenarios Notary V2 should target. I do not have any recollection discussing any defenses that combat the threat of Chinese interference in my first meeting with @JustinCappos. We also met on the early morning of Feb 24 2023 before the meeting the TOC scheduled for that day. This meeting was per his request. In this meeting he brought up the topic of Chinese interference. He also mentioned that they have implemented measures in TUF to prevent such exploits and recommended that I look at the snapshots, hashes, and versions (also described in his paper above) and the TUF implementation to understand how to prevent attacks. I invited @JustinCappos to file an issue with the Notary project and describe the possible exploits but he declined. In this meeting I also stated to @JustinCappos that I am not aware of any specific requests to Notary V2 submitted by a government entity (whether Chinese or otherwise ). As part of this meeting @JustinCappos also invited me to attend the Security TAG meetings, which I appreciate. I would be happy to attend at my first availability and learn from the Security TAG. While I used to hold a security certification, I do not claim that I can predict every possible exploit. However, I have enough technical depth to have the discussion of the mitigation options if I receive enough details how a specific exploit can be performed. Unfortunately, so far neither I nor the Notary project community have received a vulnerability report with enough details to act on. Since this issue was filed, the Notary Project community has started fuzz testing of all the binaries and libraries produced by the project. As per the recommendation by the TOC above, we have also scheduled to start a security audit for the project (the start date will be Mar 20th and the company who will perform the audit is OSTIF). I invite everyone who has a knowledge of any security gaps in the project to submit a vulnerability report using the project’s vulnerability disclosures. Here are the links to those:
As every security professional knows, a vulnerability report needs to be detailed and actionable, so my appeal is to really provide the necessary details of how Notary V2 can be exploited and not direct us to the implementation of other tools. Every tool has its own weaknesses and design flaws that can be targeted in malicious attacks. There is no one tool that can prevent every attack. I hope that we can move this discussion to a more productive level. I appreciate the note from @trishankatdatadog above that this issue may not be the right place for discussing the security of any project. |
|
As the former Chief Software Officer of the US Air Force and Space Force, I find the lack of resolve to address the impending threat the issues face here present to critical national infrastructure. I want to ask the TOC to revise the proceedings and address this matter as soon as possible by renaming and demoting the project from incubation to the sandbox, as proposed repeatedly to no avail by Justin and Andres promptly. I am reaching out to the CNCF and Linux Foundation leadership as we speak. |
@toddysm It’s telling that someone with involvement in the core of the project after four months is unaware of the history of changes, mainly as you are doing the work to read everything you can, including papers and, as you say, talking to every possible person. I previously linked the comment in this issue thread when I first brought it up, and I have attached a screenshot for you to see. None of us had to be in the room for those conversations to see it. The motivation is clearly stated in the pull request comments. The qualification and use of the term “common example” are troubling as it implies broader special consideration beyond that one pull request. No other governments are mentioned; it indicates a more significant focus on optimizing for that particular government’s use case than meets the eye. As an individual contributor burning through a Kanban board of issues, you unknowingly accelerate that end. Ironically, Microsoft’s annual threat report from last year shows a significant increase in the number of 0 days deployed by PRC hacking teams. The results came as no surprise, as the 2021 Data Security Law of China requires the disclosure of software vulnerabilities to the government, which can pass vulnerabilities along to their offensive security teams. Software vulnerabilities have long been the focus of PRC government policies. China bolstered research into automated vulnerability discovery technologies and cut its researchers off from foreign competition to keep those vulnerabilities to themselves for some time. By collecting all the vulnerabilities from PRC researchers, the policy effectively allows foreign private firms to pay for the vulnerabilities used by China’s intelligence services, weaponizing bug bounty programs. It’s contradictory and self-defeating to take a firm stand on an issue and invest millions of dollars to raise awareness and bolster defenses to later undermine that work by taking unnecessary exposure, opening the door, and catering directly to those adversaries you are trying to defend from. |
I'm happy to post more details via the vulnerability reporting mechanism. The last three links are broken. Can you send me the correct link for the specification vulnerability report? If you prefer, sending it over slack is fine. I recall a few small details of the call differently. I scheduled a call in large part to provide you with information about weaknesses in Notary V2. I do not recall declining to provide information and certainly had thought that what I had disclosed was clear enough. I can see the note you relayed in the issue above is slightly off, so it's likely that some of this was not communicated well. I'll provide more detail in the issue (privately). It's a bunch of missing steps / verification / metadata in the NotaryV2 workflow. Problems like this should be a concern if a goal is to be secure against a resourceful attacker. One would hope that a tool doesn't have glaring weaknesses in situations that have frequently occurred in today's threat environment. For example, one would expect a system to resist (or at least detect) an attacker with repository access that tampers with metadata.
Knowing that it is impossible to stop all attacks, shouldn't stop us from doing common sense things to stop what we can. Seatbelts are not perfect in preventing automobile fatalities, but it's clear that they are effective in reduction. The best systems, frameworks, and tools utilize layered defenses and degrade in security gracefully. With a poor design, an insider or a resourceful attacker (like a nation-state actor) can cause a lot of damage with a successful attack. |
The Private Vulnerability Reporting for the following two projects was not enabled for community members: https://github.com/notaryproject/notation-go/security/advisories/new Thank you for reporting this! Now all links should be functional. |
We understand this is a lot of information, discussion, and a flurry of activity that is completed, in progress, or planned which can make understanding what needs done or has been done difficult to ascertain. We’ve provided the below summarization as a courtesy: The original request to remove the project was addressed in alignment with our archive procedures. The proposal was put forth (#272), the TOC initiated discussions with stakeholders, maintainers, and concerned parties. The issue has remained open beyond the two weeks so that we (TOC) and the community may have an engaging discussion on the particular issues presented and learned. Since the project does not meet the criteria for archival, no TOC vote is required. Several issues have been filed with the project and CNCF Service Desk regarding cleaning up documentation, some are resolved, some are in progress, some are scheduled/planned. Regarding the concern around governance, some issues were found, opened with the project, and have already started to be addressed. To provide a process to handle future project governance concerns, the TOC has begun to develop a process with TAG Contributor Strategy: cncf/tag-contributor-strategy#318 The specific concern on security review, secure design, and security audit is being worked through a Security Design focused Independent Security Audit coordinated through the CNCF’s existing processes for conducting audits on projects. The TOC has requested that the Notary project submit an annual review (e.g., #873) based on the issues we talked about here, we usually reserve this for sandbox projects but we feel that another annual review put together by the maintainers of the project can be beneficial for everyone and surface any issues: #1018 Furthermore, the additional points you have brought up are outside the scope of this particular issue and we encourage you to elevate the other concerns constructively with the project. You may also reach out to the CNCF staff to determine what work if any the LF and CNCF are already pursuing in this space. A significant portion of the discussion on this issue has been conducted in a manner that has negatively impacted the community, several projects, and ongoing activities of this group in achieving resolution. Further comments on this issue will only contribute to harming the community, therefore we will be closing the issue and locking the thread to stop further harm and damage being directed at any individual, project, or community group. |
Closing this out here, the interim code of conduct committee has addressed this issue. Thanks for everyone's help here! |
As I understand it, the TOC is starting to review projects with a consideration to reassess their level in the CNCF or even to remove them altogether. I wanted to bring the Notary V2 project to the TOC's attention as a project that is misplaced and worthy of review.
First of all, the original Notary V1 project was added by the CNCF and was voted in both because it had a strong security foundation and a substantial user base.
Strangely, the Notary V2 project has none of the original Notary project members, none of the lines of code from Notary V1, and none of the security design. It is effectively a completely different project that has taken the same name in order to preserve the incubating status in the CNCF. Even worse, it is at incubation level and making use of CNCF resources / marketing / reputation, yet has had no security reviews, etc.
I would kindly suggest that the TOC consider either removing Notary V2 from the CNCF or asking it to reapply to the CNCF.
Notary V1 (the original) likely could also plausibly be archived or reviewed at some point, but this is of less urgency as it did actually receive due diligence at some point.
I know I raised the same concern back in July 2021, but after talking with others in the community I thought it was worth raising again. As transparency is an important part of open source foundations and projects, after raising this issue a week ago to the TOC privately, I am now making this request public.
I am including below the 2021 email where this issue was raised to the TOC. I will note that at time we were hoping for governance changes that would enable us to participate and prevent the project from making repeated, obvious security errors. Now, while to the project's credit, it's website does not claim the project has or provides any security properties, its use of the Notary name and CNCF Incubation status is trying to build off of the Notary / CNCF brand, without any review.
The relevant email is included below.
The text was updated successfully, but these errors were encountered: