Giter Club home page Giter Club logo

Comments (5)

robdimsdale avatar robdimsdale commented on September 3, 2024

@dmikusa-pivotal do you have a particular architecture in mind for this? Assuming we want to conform to the most recent SBOM RFC then we'd want to support both CycloneDX and SPDX.

CycloneDX has a rust cargo module: https://github.com/CycloneDX/cyclonedx-rust-cargo, which could be pre-built and provided by a new buildpack (probably called something like "cyclonedz-rust-cargo" and then the binary invoked in this buildpack. Alternatively I wonder if we could leverage #21 once implemented to install cyclonedx in this buildpack and skip the intermediate buildpack? I haven't fully thought through the implications of this second option, though.

from cargo.

dmikusa avatar dmikusa commented on September 3, 2024

I'm torn on this one.

On one hand, that tool looks nice. It's written by someone at OSWAP and seems to be actively maintained, at least at the moment. On the other hand, we still need a tool for SPDX (I didn't look to see if there's a reliably maintained tool that we could use for that). It's also more dependencies that we have to manage & install into the container.

On the other hand, I'm also thinking that this isn't too complicated of a problem to solve so the buildpack could implement it natively. Then we don't have to manage any dependencies/worry about how to install them into the container. It's also easier to test when you're not calling external commands.

Plus, getting the information from cargo isn't terribly difficult. We're already doing this for a couple of reasons, here's where we get the metadata, and we can use that plugin as an example for how to fetch the information from Cargo metadata.

Again, I haven't looked, but I'm hoping there are Go libraries for writing to SPDX and CycloneDX. That would make it all pretty easy to capture, write out the data, and ensure that we get compatible formatted files output.

@robdimsdale What are your thoughts? How are other language teams handling this?

from cargo.

robdimsdale avatar robdimsdale commented on September 3, 2024

If your RFC for Syft gets approved then I'd imagine we would want to explore that option? Although it looks like it doesn't yet support Rust, so we'd probably want to see if we can add Rust support to Syft.

from cargo.

dmikusa avatar dmikusa commented on September 3, 2024

Yes, Stephen shared that tool with me shortly after I wrote the note above. I definitely thing Syft is a strong contender. I didn't see support on their website, but when I ran the tool against some Rust apps it worked. There was also a PR that got merged a while back for Rust support, so I think it works they just don't mention it specifically, which is weird.

from cargo.

robdimsdale avatar robdimsdale commented on September 3, 2024

Oh, if it works then maybe it's just a matter of documenting that support on the README.

from cargo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.