 Andrew, take a... Andrew, Justin, I can't hear folks, let me see if I can hear you. Hello, how's it going? Let me try that again, without being muted. It's probably me. Hi, Sarah. Hello. Oh, oh. So it might be you, Justin. Yeah, can you hear me now? I can hear you now. Okay, great. Santiago, I think you're muted. Hello. Now, can you hear me guys? Yes. So as everyone joins, please sign in. We have a pretty full agenda today. So if we could get a scribe signed up, that'd be fantastic. And we're going to have a deep dive. So the team, the intro team is back this week with a deep dive. So we're going to go through and try to take us through our agenda items and updates fairly quickly so we can have a fairly solid amount of time for in total. And, you know, I want to make sure that we also, you know, not only get the presentation in, but, you know, get a discussion now, have some time for our discussion. Sarah, thank you so much for signing in. So can I get one more person to join Sarah? And then I'll kick us off. Yeah, I can do it. Thank you, Christian. Okay. So with that, once again, those who just signed on, please add yourself to the list and I'll use the attendance list to, to do check-ins. So quick check-in for me. I'll kick off the process. It's been an interesting week. I have news on the job front that I will publish here next week, but the search is done. No, it's just paperwork. And beyond that, I'm coming live from NoGist Interactive and we're doing a big collaboration event. So I've stolen a conference room and, you know, hosting from here. Let's see who's up next. Jerry, want to check in? Sure. Hello, everybody. I don't have too much to say except that I did touch base with Michael. Do you see this week? And he and I are both kind of thinking about taking a step back and reflecting all the comments that we've received about the suggested security subcategories and giving it another look. So hopefully we'll be able to do that in the next week before the next meeting. Fantastic. And we'll have an agenda item just to touch on that. And that'd be a great time to sort of poke folks to go with you. That's good. Sarah? I have also, I've been out of touch for a week and a half. Since Dan is giving personal news, I will also, um, I, uh, I lead this nonprofit CalPridge Foundry, which does like outreach and diversity and tech. And we had a big event last night and now that's done. Yay. So, um, I'm back safe and catching up on things. And I did review the governance PR and I love it. Um, I, I have few minor tweaks and, um, and some stuff I want to get back and propose some specific words too. But it is just really great to see that coming together. Um, I think that the one thing that I don't know whether people want to add as an, are we going to talk about governance this time? Not this time. Okay. Let me just put it in the PR. Cause I know we've got a full agenda. I'm really like the directions. Great. Thank you. And thank you, Rachel and JJ for the effort. So, uh, Justin. All right. Um, I've been continuing to work with a spiffy and spire folks security audit. We had blog posts come out and, uh, discuss a little bit about, um, what, what we came up with. And we're looking at putting this together for an academic conference. So that's my main update. Absolutely. Right. And her, uh, and her wife. Sorry. Yep. I'll, um, so just go wait for some additional feedback on the compliance scoping doc. Um, that's out there and either that Liz and I have been putting together some additional suggestions in there that I added today, namely around, um, I ETF and other standards bodies and how they can potentially relate to some of the CNC a project landscape. So thinking spiffy tough and, and how potentially those can be proposed to those bodies if, if warranted. And then also Dan, I sent you the intros to Dr. Yorga and David Walter Meyer over in this. So feel free to, to run with that thread as you see fit. Thank you. Yeah. I've, I've, uh, uh, seen, you know, I reached out to them for, um, availability and, uh, we'll try to schedule in, uh, based on their schedules. Awesome. Thank you. And I'm sorry to jump in, but let me just say that we're definitely quite interested in I ETF standardization. We have occasionally had folks, especially from government say, Hey, wouldn't it be nice if tough was I ETF standardized? So, um, we, in fact, just had a conversation about it earlier this week. Yeah, I think that's a good idea. Yeah. Yeah. I threw it in there as a proposal. It's not something I personally will own since I'm not as familiar with the whole ITF publication process. It is a little bit involved, uh, but that is something that we should all collectively look at figuring out. Great. Um, Let can, can, uh, someone who's taking notes, uh, uh, add an action item for me to, to follow up with Justin in the picture that I'm connecting our agenda, uh, with the, um, the NIS folks. Thank you. Um, Andrew Martin. Welcome. Hello. Thank you. This is my first time on a call. Uh, I've been, been lurking on the repo for a few weeks now. Uh, so to introduce myself, I'm Andrew Martin. Um, uh, I have a consultancy called control plane, um, in London and we're focused on ultimately a container and Kubernetes security engineering. Um, but it's basically, uh, that narrow scope is obviously much wider when you consider, uh, how does the container get to be, what's it coming through pipeline, et cetera. So we're just basically doing kind of dev sec ops, uh, with container as focus. And, um, we've been working with Santiago for the past, uh, few months, probably so far now. Um, deploying in total with, uh, with, uh, a web-facing customer in the UK. Um, and, uh, I'm just helping to sort of bring some commercial requirements back down. Um, I mean, lovely time. Everything's going very nicely. Um, so hello. I'm very pleased to be here and hope to be on speed. Awesome. Welcome. Erica. I actually just flew back from London yesterday. I have for the week. Uh, just, uh, did a little intro to Kubernetes for CNCF thing. Uh, so I mostly don't have, we canceled the working group for Kubernetes this week. Uh, that, I think that's amazing. The thing though that I've been thinking and wondering about in particular for the Kubernetes case is how to, uh, deal with concurrent. See an or concurrent events and distributed systems and whether it makes sense to have the, like, full gates at certain points. Or what does that mean? When there are. You know, multiple timelines of the truth going on. And especially also what that means for like, attributing actions to any one individual, should we look at ways of extending that? Thinking about it more comprehensively. That's all I've got. Erica, while you're here, could I ask if you could check off an agenda item and, um, you know, share with folks the, thank you for posting about the, um, Kubseq. Uh, can you just sort of share a second on, on that and what folks should be, uh, preparing in terms of the CFP. Sure. Uh, I think cube sec, cube con is the big event in the Kubernetes world and because everyone in Kubernetes only thinks about the Kubernetes world and that's like the entire thing. Um, it's a big deal. So there's a lot of, uh, code located events. One of which is red hat. I think, uh, AWS and aqua sec are sponsoring specifically devoted for enterprise security. So that I think it's a, the clients are or the people who would be attending and interested are those who are trying to deal with security in the enterprise and the, like the real situations of the compliance and larger demands at. So those are the things that we're going to be discussing there. End user focused. So, uh, or, so, uh, customer like enterprise customer. And supplier focused. I don't know. There are many developers who think I'm developing this specifically for a large financial organization. There's a lot of apps in that space. But yeah. Um, Enterprise customer or some kind of user of security, right? Well, everyone's a user of security, whether it's good security, different story. Good point. Is there an interest in like having a, uh, a working group level discussion? Would that be appropriate? Um, you know, for us. At, um, Cube sec. Or around then. Right. I'm down to meet up with anyone and everyone. Right. So we're going to have, you know, in, uh, um, you know, a QCon at cloud. We'll have the sort of normal, normally sanctioned working group events, uh, through that. Uh, I was just wondering if, if we should prioritize anything for the, the cube sec thing, or if that's, uh, you know, if we're not appropriate there. I would need to get in touch with the organizers. Cool. I was in more of an engineer side. Yeah. I'm more helping and participating rather than organizing. Well, I'm sure it fits within the scope and like subject for sure. I just don't know. I feel not. Um, you know, I present the plan is sort of, and we'll continue and we'll organize something at cube con general. And, uh, then, you know, cube sec, uh, you know, please, if you're in that space, uh, and interested submitted CFP closes on Monday. Thank you. Uh, Christian. I actually don't have anything to report. My last note was from this meeting last week. Everything else was internal. Cool. Good to see you. Mark. Come back. Hey guys. Uh, nothing too much new. We're about to watch our internal. Uh, container POC next week. So. I was catching up with the issues from the meeting. So, uh, we're going to have a, we're going to have a week after less. So I'll have those three posted up here before this meeting ends. That's, that's about it from here. Excellent. Okay. Um, nothing new from my side as well. And it's still waiting for the five G security working group to, uh, uh, make the organized swim. Excellent. Thank you. Santiago. Uh, hello. Yeah. Uh, Most of this week, I just prepared this presentation pretty much. Uh, and, uh, I reviewed a little bit about the government's documents. Uh, mostly to gain inspiration because we're also starting to like get a more formal process to like. Start building your total standards and, uh, the attribution guidelines and posts of conduct. Excellent. Rachel. Um, I address concerns that were left. In the governance stock PR as of. Like 90 and this morning I saw just before this call, there were new comments and those are not addressed. So if you have any more comments, there's a little bit more time open. Excellent. Thanks, Rachel. Is there anyone who I haven't called on, uh, who wasn't checked in? Got everybody. All right. So just going through the, the last little bit of agenda items. I want to get into, um, The into, into deep dive. Um, So, uh, the compliance, uh, document, uh, Andrew Ward, where's, where's the new, um, new material? What should we be looking there? Posted it. Yeah. In the chat there. Okay. So it's pretty high level. It's pretty short concise. Uh, Let's put the initial draft together. I've added a few additional suggestions in there, but we go. Uh, and there's a couple of comments on the side. So. Have we, I haven't had a chance to schedule you for this. I was, uh, away during a week. Did you go through this? Uh, Entire proposal, um, you know, with the working group here. Uh, not formally, not yet. Uh, we've had some conversations just on the GitHub issue, but I have to go through it now or at another. Would you be available next week to do that? Let me check. Yeah, I can do next week. Awesome. Let's schedule that for next week. And, uh, Go through this in depth and, uh, You know, get some, Uh, more formal feedback. Sure. Yeah. And if anyone else has any suggestions, please. Don't hesitate to add them on. Excellent. Excellent. All right. And, uh, now I think, uh, Um, Chair, was there anything else in safe landscape that folks should look at? Uh, I've kept it in just to keep the, um, You know, our attention, uh, focused on it. Anything new that we're, um, That you're looking for specific feedback back on. So I don't think that there is anything new that I'm looking for feedback on, but one of the things that I'm going to be thinking about and reflecting on the next week is whether the subcategories are well named. And I suspect that it would be helpful to get the perspectives of People who come from different backgrounds on that. Um, So that's one thing that I would really like everybody to just kind of take a look through and see if the name of each subcategory resonates with you, or if there's something that you think we could modify to make it, uh, more generally applicable or just clearer. At this point, you have you, um, we've gotten rid of kind of, uh, All of the examples and, and, uh, our, is everything now, uh, Sort of the descriptor and the definition. Is that that? I mean, that could potentially use improvements too. That's all part of what I'll be looking at in the next week. So I would say that if you feel like you could offer an interesting perspective on that, or even if, you know, you're not sure if your perspective would be interesting on that. I mean, I would still like to hear from you. Ask questions. Yeah. Hopefully we can get all of our feedback together and pull it into a, A more final draft. Excellent. Thanks a lot. All right. Well, let's, uh, yeah. Today we have, uh, Santiago and, uh, Justin and they're going to, uh, Thank you for the, the introduction last week. And we're going to go into, uh, a deeper dive on that and, uh, then have some time for discussion at the end. So, um, Santiago, are you presenting? Uh, yes. Awesome. So do you know where the, the sharing? Yeah. Do you have slides? Uh, let's see if this works on my machine. Yeah. Sometimes my manager goes crazy with his things. Lights. No. Looks good. Yep. Good. Okay. Great. Take it away. Just to give some context. I tried to, my understanding from what you mentioned last week is, uh, that, uh, uh, the C and C application process was changing into a presentation. And, uh, this presentation was kind of the first draft to see exactly how they may look like. So I tried to pretty much take a look at existing DLC guidelines for applications. Uh, try to massage it into something that was a presentable form. Uh, I also took some content that I had. Uh, there's going to be a little demo about, uh, Python reference implementation, but, uh, let's see, let's see how this whole thing works out. So, yeah, I think everyone here already knows that I'm all about in total. I'm, and, uh, like I would say, I have a longer just in the lead signer of this solution. And I'm going to talk about how it matches the club native landscape and how it, uh, it's very necessary for securing, uh, like next generation cloud native solutions. Now, it's probably the application. We need a description. So I just put a slide in there. Uh, in terms of framework to secure supply chains in and out of the cloud. Uh, most of current cloud native deployments use a very, like, very diverse, very, like, configurable, uh, graphs of notes that interact with each other. And they, most of them perform operations and artifacts to either do quality assurance, like a vulnerability scanner or a transformation, say the Docker field or a, or a regular build or a linting or anything like this. Now, something that I want to, I wanted to, like, uh, to do is to give a little bit more of background to as to what this means in terms of the description. And I'm going to use a very, like idealized, uh, supply chain. And, uh, I'm going to walk through exactly how things can break in this context. Now, all of you may like laugh about how simple this is, but it's pretty much like a very, very balanced application that you may check in into GitHub. You may be using, uh, a build system. I think this logo is messing. I forgot what it was. Uh, you may be checking it in a CI system to run tests, uh, Travis or whatever you want to use. And you may do some packaging. Um, in this case, we're building a dot that file. Uh, as all of us, like, uh, in the same group knows, uh, all of the single points of failure, uh, can be attacked in this case. Uh, for example, I'm going to use a, uh, can be attacked in this case. Uh, for example, you can break into the version control system and you can introduce back doors as it has happened many times before. Uh, or you could, for example, uh, try to break into the build system and, uh, use a backdoor in compiler and, uh, or create a backdoor version of Xcode to introduce backdoors in mobile applications and so on and so forth. Or you can compromise the packaging infrastructure and introduce, uh, uh, a backward version of the whole, uh, final product and so on and so forth. Or as it has happened before, you can sometimes even by mistake, forget about CI and just release the untested versions of windows, uh, and update everyone's machines and kind of break it for a couple of hours. Um, and that's not the only thing. Uh, you can also, even though there's point solutions of working this, uh, I made some patches to get to, like, increase the security of our metadata store. You can use sort of solutions today. And most of you, I started familiar with, uh, tough, which is a solution that takes care of, uh, what would be this, which is the last mile of, uh, software delivery. Uh, it has pretty much resulted in many, in securing many things that you guys are, like, familiar with. Uh, you may recognize the logo in there. Uh, and, uh, and yeah, like, all of this is good news if you secure individual aspects, but the complete problem is not fixed. Uh, there's gaps between steps, which is, uh, how, uh, there's notes interact together. And there's also a matter of compliance. You can, sometimes, even though the step exists, you really are not listening to what the, for example, the security scanner is telling you. So, what in total is all about is to secure the complete supply chain. In total is, uh, means as a whole in Latin, and, uh, it is not a coincidence. We really want to do a holistic, complete, thorough, verification of the supply chain as a whole. In, uh, key points, this means that we want to verify all the final steps of the software supply chain. We want to verifiably define who's able to enter, to perform operations in the supply chain, and which operations, and then guarantee that everything happens to, how this, uh, definition is done, and in no other way. So, to do this, we pretty much used two things, a layout, and, uh, attestations, and forms of link metadata. Now, a layout, here's like a, toy version of it. It's pretty much, uh, what steps exist. In the toy example that I showed before, well, we had a version control system, a CI system, we had a build server, and we have a package here. Uh, it also tells you who's able to do what, for example, while it's only able to interact with a version control system, and Dave, who is the owner of Travis, is the one that's performing the build, and Carl and Aaron will be the ones to build and package the final application. We also have a, in the layout, we have a rules, a series of rules to define how these artifacts interrelated to each other, to make sure that, uh, all of the artifact flow is done properly. In this case, the resources that were created by Bob and no one else are the ones that we needed to check down in the CI system, and the ones that are needed to be sent over to the, to the build server. And what Carl built is what, it's the only thing, only what Carl built is going to go into the packaging infrastructure. And it also has a signature to authenticate who created this layout. Uh, in this case, we know that Alice is the owner or this C-cell of the company, and she's the one that says exactly how the software is built, and that's why we have her signature on this layout file. The, counterpart to the layout file, the other, the other piece of metadata is what we call links, and links are essentially at the stations that each of the actors that were, uh, selected in the layout, uh, create every time they perform an operation. For example, created, uh, created a source code or checked out source code, he will report in a link what was in the version control system. In this case, uh, you will see in the bottom left that it says foo and a pure hash of foo. So that's what we're going to use uh, to link things together. And, uh, finally, once we have all of the links and layout and the final product, we bundle all together and send it to the inducer. This can be, uh, a package manager. This can be a, an admission controller in the case of the cloud or it can be just a general audit scanner that you can put inside of your container or extrader to like, continuously verify that all of your images were produced properly. Now, this is the big picture. Uh, I don't know how much of a deep dive you guys, uh, want. I don't know that we do want me to go deep into the specifics of the layout or is that a yes? Okay. Yes. Sorry. Yeah, please do. Yeah, but I saw the yes. Okay. So, it's out of the layout. Uh, I already said that what are the key one, one thing I do want to mention to us is that we will be doing a demo where you'll also have the opportunity to see a lot of this. So, even if we go through this a little quickly now, um, there'll be a good point later to stop us or stop us now, whatever you prefer. Thanks for the context. Okay. So, uh, so basically in the layout, as I said, it's essentially a policy that you define for your supply chain and how everything connects together. Uh, in this case, uh, the key points to consider steps, what are, what are the steps that we perform? Functionaries, which are the people that operate on this flight chain and, uh, a series of rules to make the steps together. There's also other useful information like an expiration date. You may want your layout to expire so you can take the policy forcefully every couple of months, for example. And of course, it has a signature over the whole thing. So, you know, the layout is to be trusted that the right person, um, created layout. Inside of the layout, you find something that are called steps or step definitions. Uh, they essentially describe who's able to perform the step and it contains a series of rules that will, uh, limit and interconnect steps together. Uh, for example, this is an exact, this is a very simple rule. It says, create food.py. That means that the person who is, uh, performing that step is allowed to create the file called food. Uh, in this case, the artifact food is a file. Uh, we are the idea is that it's, this is really agnostic to the type of artifacts. For example, in the cloud, you may have Docker images. So, you may want to specify uh, uh, uh, Docker build step. It's actually building a Docker image with this stack. Um, in this case, of course, for energy control system, there's no food and then there's food and you want to like ensure that this happens. Uh, another example of an artifact rule match, which is what you use to, uh, link steps together. Match, uh, in this case, match is matching food.dy that was created on the tag release step. So, for example, this was done in the build, uh, in the build step, you want to only use the artifacts that were created in the tag release step. In this case, it was food.dy file. You want to make it so that the version control system is correct Uh, another, like, interesting element inside of the layout is what we call inspections. Uh, so far, we only know who did what and how the artifacts interconnect, interconnect together. For example, you may want to know if your CI system doesn't have any instance of the word warning inside of it or if you are running a vulnerability scanner and you want to like, verifiably ensure that there's a CD and I forgot the acronym, a score higher than seven, then you may, you could put an inspection within it, which will essentially unpack the link metadata and verify that the specifics of that link uh, follow further rules. Um, an example that we're doing with Git is uh, today you can do signed push and you can link them together. You can pass this signed push uh, certificates forward and you can use them for example in force that only certain uh, people merged into master or that uh, no people that are not allowed into the project created any commits or that no commits are inside. That's the kind of information that you would try to do another like shuffle this work awesome. Is this font size good? Oof, a little small. Better? Better. Awesome. Okay, so uh, in this demo we're essentially going to follow what the what I did for the presentation. I'll essentially use the in total Python implementation to create a layout. We'll see the layouts together. Um, and then we're going to simulate all of the functionary sacked into the supply chain until we have the verification step and we can verify and we can see that everything's verified properly. So, trying to zoom in just for so remember Alice is the one that creates a layout. She's the she's a project owner. I made a I needed to install total. Okay. So now now I created a layout file just to give a little bit of a of a like a quick dive on what's on it. You can see that there's a bunch of rules in it that are connecting all the steps together. There's a bunch of public keys of the functionaries that are saved into the layout and if you see there's a key ID field here that's the key ID is the one that we put on the steps for example this is a step and that's how we tell that for example this packaging step let me highlight this packaging step here is signed by the key that got there. Okay. Finally we have a signature all the way in the bottom. This is the signature of Alice that essentially authenticates this layout. Now I always created a layout we have a couple of functionaries that need to perform steps. Let me remove the links that I left from a demo yesterday. So what I'm going to run now is a step in the supply chain. This is basically we're using the in total tool chain to do what you would usually do which is check out the repository check out the repository and then create the sign of the station of that specific checkout. So in this case we created this piece of link metadata when we run get checkout that created an attestation of the operation that we perform. These attestations this piece of link metadata are what we're going to use later to essentially build this graph and verify that everything is proper. Inside of the link you can see there's for example the file that was tracked for the UI and then secure hash of it and then there's a signature of Bob saying hey I actually performed this step since the product of performing this step. Now say that we have another step for example before release increasing the version number of the project. So if you guys see now we have a full.py we have full version zero but we want to increase it just to showcase another another tool say that we instead of having them or actually now that we have them it is a little hard to wrap them using encoder run. So what we can do instead is use encoder record which is essentially taking a snapshot of the state of the file system and of the host before running which we do here and then we can we can conveniently edit the version number and then we can stop recording and save a piece of link metadata that will essentially be the statement of what we did. Now as you guys see this new piece of link metadata that we created by recording both states it originally had the secure hash of full.py that was checked out in the version control system and then as a product it recorded the new secure hash of the full.py which is how we're going to start tracking artifacts as they move in the supply chain. Now we're going to move to the last step in the supply chain which is Carl is going to package what Bob did. So for this I'm going to copy the demo project from Carl and we're going to use encoder run again we're going to wrap tar tar you see again we're using the wrapper we pass a step name a couple of hints to the tool so it knows how to sign it and which artifacts to like pay attention to if you don't pass this it will just track everything which is a little slower and then the command that we're running in this case the package link it tracked the full.py as it came in which as we can see this is how we are linking the update version step with the package and finally we have a the demo project RGC that's the product of the packaging and finally we want to verify all of this so clean this out for this we pretty much just need Alice's public key the layout the links and the final product itself that we want to verify in this case it's the demo project it's this package so again we need a public key couple of links the artifact that we want to verify the final product and the layout that's going to tell us everything that's about this like we run our verification command we pass what's the root layout and then we pass the key that's layout and if I didn't screw up I screwed up it actually caught that I probably did something wrong in this case it says the match between the clone and yeah between the clone and the update version number doesn't match oh no actually it's because if we look at the clone link that's this yeah okay so I see what's wrong I didn't remove the demo project when I run the clone step yeah now it actually run the clone step but I performed a step since the repository existed because I didn't clean up properly the step was failing we can actually see that the return value is now zero if you check out the final product the old version of the link metadata the return value was 128 which meant that the step had failed so now we run the verification and now everything works unintendedly I I showed what this is all about I committed a mistake when doing the clone and it was caught like a photo which is great news now I'm going to go back to the presentation just to finalize with a little bit more of the formalities of the whole maybe we can take a couple of questions here we've had a few oh yeah so Erica just asked if in Toto handles key or link revocation so no we'll use the implicit revocation using expiration dates but we don't have an explicit mechanism something that I'll talk a little bit in the roadmap is that notary and tough for example are great additions for handling namespacing of the metadata for projects and for explicitly revocating certain namespaces within the supply chain without rotating the whole the whole layout for example this is something obtained handles right obtained has a lot of interesting features that can be cool to not be so vehicle specific yeah yeah there's it within this currently in Toto doesn't have a separate time server component but if you if you shift and verified in Toto metadata from a tough repository or an obtained repository then you automatically get that so it's not sort of like foisted into the system as a separable thing it's something that seems that you you have this it does there are ways like you can do key and link revocation and stuff like that and in Toto but there isn't a separate explicit time server like there is with obtained yeah something to add to that is that tough and in Toto are very like metadata friendly each other one of the one of the integration that we have right now they're actually using tough just like get the complete supply chain security out of the box excellent so Mark you had a question about metadata and Andrew has one about validating reference integrity hmm hopefully get to the chat I want to let you go first because mine is kind of a meta question go ahead Andrew yeah so this is good stuff thanks for taking the time to share this is there a way to use in Toto to validate referential integrity between artifacts so you mentioned that artifacts can really be anything from binaries to source code packages and whatnot but let's say I have some sort of artifact that's maybe an attestation artifact in the context of risk management how can I validate that that artifact is you know from who it says it's from and then it's being updated something that we do have is the concept of sub-layout so you can essentially part of your supply chain steps be part of a third party supply chain say that you're using a couple of Debian packages in your Docker build you can verify that those Debian packages themselves were made on a proper supply chain layout that's practices and everything within it is verifiably using in total too is this what you were asking yeah that's exactly it I think there's another component too that kind of comes up here which is that you can also interrelate aspects of how your other things got built and how they work together so for instance if you're saying you know the library that I'm using here should be built by the same compiler as the main thing as the main project or something like that yep also validate and verify that all those sorts of things have happened so all those all the sorts of things like this you can imagine expressing are expressible in total in this way okay very cool thank you another question real quick related how to sort of verify the information flows are secure so what is I mean especially in situations where the system is running on itself or triggering other actions is there a way we can kind of incorporate and have a you know have a security model proven security model let me see like there is in Linux I'm sorry so like SE Linux you know kind of based on like the velaputo model there's a few other ones once you have these like interconnecting which is what we're dealing with a lot right so some thing that we do have in the metadata and right now it's kind of like a break structure is environment information environment dictionary that you can expect something that we've been like thinking with and we don't have like anything formal yet is to for example have TPM at the stations inside of the environment dictionary about the whole whole system integrity using my security or something I don't know if this is answers your question or did I go in another line it was another one of my questions okay we can just I will I will quickly say that we have a very detailed analysis like like on the level of what we did for tough about why in total is secure including you know link metadata tampering and layout tampering and other things like that and what scenarios it loses security and to what degree so I think that is probably closer to the answer to your question and we can talk more about that later but I think Santiago you want to maybe move on with the rest of the presentation just so we can be sure we get through it sure okay so roadmap thanks for working a lot on now getting out is trying to formalize like governance documents which is like how to interact with the whole community how to get changes in I've been trying to get the thinking of like adding code covenants that are like called default code conduct of this we're also working on cloud native enhancements we don't have the specification a URI artifact definition but it's pretty much just something we need to formalize we are working with Grappias if you guys know these guys we're trying to get them to use interchangeable metadata and to help them fix their security model we also something that we're working on is we want to integrate the in total and top in a more formal way and probably even launch service using to provide layout registration and namespacing of the layouts you could essentially like let's encrypt for your artifact layouts and then some this is something that I haven't shared with the data verification you could use it in the cloud as a container not only an admission controller but as a continuous verification anytime you revoke a piece of metadata you could pull a container out and you could revoke a piece of metadata by for example redoing a cd scanning and finding that there's new vulnerability of certain degree and revoke the metadata and as a consequence essentially pull any unsafe image from the cloud I know there's similar solutions to this but this could be just like a very simple elegant and automatic way to do things on Beyond Cloud Native we will probably launch with the reproducible builds people the reproducer set up and then in total transport that you can use to fetch your devian packages and make sure that they're reproducibly built something that we wanted to do is integrate the build kit to like start identifying artifacts and verifying them as they're pulling in they're being pulled in into your entire images which goes similar in the vein of what Andy was asking we're also thinking of adding security enhancements and formalizing them H7 and TPM support we already support UVTs using TPG signatures but we probably want to do something a little bit more like like on a general grade not only like RFC for 4880 we also want to have hostile testations which is something that I just like mentioned using like TPMs to authenticate the whole host and provide read-only boxes for building and performing steps and this GX Cloud Builders would be something that I'd love to work on we also have a go implementation on the works to like deal with cloud native environments and layout scanning a very nice consequence of this is that you can essentially just check a layout and see if someone is doing best CII practices for example can you define a layout real quick what you mean by a layout? policy the big file that I made in the beginning contains the steps and signatures and the public keys of the people that should do that is that good? yes did I lose connection? yeah that's great go ahead sorry and well we have a couple of integrations going oh there's related work there's pssdx already Peter we're all in the same like supply chain environment authentication artifact visualization cloud native artifact recording as for pssdx then this is like the big integrations that we have right now we have a on the bottom right there are very homebrewed projects that are already releasing in total metadata Andrew here may recognize the logo of his company here and music we also we actually hit production today and data dog in the new agent and we are also reproducible builds we are taking care of the reproducer setup which is this thing that I spoke about and I already I'm an arch developer by the way I use arch and and we also we also are working with the graphias to like fix this the security model and to provide us with a transport that can help us provide more cloud native metadata transfer between like all of the like super distributed systems that are in the cloud there's also other people that are interested we have some talks with Docker we have some integration with the open system I also work with the deviant people and I don't know which other we spoke with Gavretti and Peter I know the developer of Peter he wants to like essentially merge the metadata there's so much going on that's like there's only so much things you can focus on at the same time other information that is required it's part of the application we have a tentative tentative sponsorship from Alexis Richardson we don't know yet we would like to join an incubation we have in total current project sponsor I really don't know exactly what this I don't know if I have to say NSF just in problems better and the license is Apache we actually got all the signatures to re-license as Apache as of Monday we used to EMIT we have all of these code repositories to your disposal only the ones that have a star are not Apache but they can be changed later actually yeah and then dependency license I think this is just formalisms that we need to go through there's a bunch of different components of what we've released these are our communication channels you can always join IRC I'll be there with a couple of lots and a couple of developers you can join our mailing list and you can I don't know how this works on Slack but we're also there we have a couple of websites up you can use our design tool to create your layouts today we actually updated it to the latest poster in total in our in the labs website we have this release cannons we are very devoted to semantic versioning I take when people don't do it we do release candidates release candidates candidates monthly or sometimes even faster depending if it's a batch release yet with a major feature at the same time and we're still don't know when to release the major version so we cannot say like a timeline for each major version to be released these are the initial committers two years ago I checked the logs we have 13 committers in the reference implementation and 16 contributors among all of the projects that I put out the mission controller the cube controller plug-in the Jenkins plug-in et cetera et cetera et cetera and all these are pre-pictured any questions you put the slide up with the URLs again this this that's it thanks no problem yeah sorry if I flip through faster this I was looking at the clock can you put a link to the slide into the document sure something that I wanted to ask Andrew Martin I'm sharing this but I know there's information about your company so I don't know and I mean just those two logos I don't know how like my understanding is that that is fine so I will just change that up for final confirmation but yeah give me one moment okay you can share with this group which is gated okay yeah I I'll do that should I get yeah I'll send it I'll send it on the emails for everybody I think I have access to that or is there a better way I'm not I'm not too familiar with Google really Christian we'll put this into the minutes if you share that so just the share will link or yeah that's perfect okay so right before folks drop I want to make sure I have time to sort of see if we can do some triangulation um Andrew in the um safe compliance work that we're you know currently scoping is there anything that we can um kind of leverage in Toto to inform where we're going with that compliance journey and you know provide additional feedback to TOC to Lexis and to Ken what do you think Andrew do you have to go? sorry that was our mute um yeah so I was actually just talking about this with a couple of folks on my side I think if we can get um a couple of new folks to talk about the work that's taking place with with OSCAL the open security controls and assessment language I think something like in Toto can fit in really nicely with that I think there's a lot of value here in merging those two for sure great okay um so next week we'll have uh Andrew we'll kick off some of the discussion around uh the safe light scoping uh you know once again we're we're still working on the security landscape for CNCF landscape and association with CNCF landscape uh review both of those documents you know we appreciate the attention there um Santiago and um um um and Justin uh thank you so much for joining us today uh this was fantastic and uh I can let a little bit of overflow time if folks have a little bit more discussion that wanted to uh have around this you know are there any further questions that we you know folks would like it to get into before we wrap up today because Mark I just put this on the agenda for a future conversation because I think it needs more than three minutes but uh the issue of metadata management is is a thorny one and the uh the FSISAC group which is you know to follow provenance for data and you've got the same set of issues there how do you map from these domain specific models for what's in the metadata to things that are interoperable to other tools like even in the in the NIST stack how do you you know map to other things like threat representations and the difference between a policy and an attribute and even the name of an application we're going to ask this project to address that but maybe there's some you know groundbreaking stuff we can do by trying to inject some kind of model-based representation at the ground floor of a project like this right so so we've actually thought about this specific issue in a couple of different contexts a lot um and our philosophy with this to this point is that these models and these ways of having these general abstractions sort of um static enough that in our opinion it makes sense at this time to invest an enormous amount of effort in them so instead what we're focused on is making sure that the actual um metadata and the actual um cryptographically verifiable aspects of this are all um are all produced in a way that is verifiable and non-modifiable and so on across these contexts so and then you know if something like that has a richer model like for instance Grafias from Google has a richer model for some of these aspects of things in the cloud then that layer is perfectly well on top of what we're doing and now we've provided the metadata they can actually trust we're hitting this in Kubernetes quite directly where there's no standardized place to store metadata that are like annotations on the objects themselves but those have no access control separate from the objects themselves so that one's a very complicated one is that there needs to be kind of almost field-specific access policies per thing um which gets that multi-dimensionality is very difficult to handle and would want to know longer conversation yeah I mean this is one of those interdisciplinary problems right because the modeling folks have solutions for this you know you could argue that schema.org out of Google's maybe a better representation that you could do reasoning with than the traditional security models that we inherit from Active Directory but you know there's a lot of work to do six to nine months of painful time with Santiago on dead ends until we realize this one I believe it I believe it well so Mark and Erica I'll take an action item to schedule and you know probably be two three maybe four meetings out a discussion around metadata management come back and have a deeper dive about metadata doesn't stop that's not a joke that's actually what you think about it now you want to know who attached that metadata which is already touched by internal theoretical sir well thanks again everybody have a wonderful weekend and we'll see you next week thank you thank you everybody thanks all