anchore / syft

CLI tool and library for generating a Software Bill of Materials from container images and filesystems
Apache License 2.0
5.9k stars 543 forks source link

About Linux Kernel #2670

Open 99sao opened 5 months ago

99sao commented 5 months ago

What would you like to be added:

Why is this needed:

Additional context:I want to know how to use syft to detect vmlinz, but I scan the kernel files of the virtual machine without any results

tgerla commented 5 months ago

Hi @99sao, can you provide some more details, including the version of Syft you are using, etc, and a way for us to reproduce your result with a public image or container? We would be happy to take a look.

99sao commented 5 months ago

你好@99sao,您能否提供更多详细信息,包括您使用的 Syft 版本等,以及我们使用公共镜像或容器重现您的结果的方法?我们很乐意看一看。

我使用的版本是0.105.0,我已经在java、python等其他生态成功运行,但是针对Linux kernel (vmlinz),我想知道它是检测什么文件来获取物料清单,我对ubuntu22.04中的vmlinz检测除了发行版以外并没有获取其他信息,希望你能够帮我,谢谢。

tgerla commented 5 months ago

Translated using translate.google.com:

The version I am using is 0.105.0. I have successfully run it in other ecosystems such as java and python. But for the Linux kernel (vmlinz), I want to know what file it detects to get the bill of materials. I am interested in vmlinz in ubuntu22.04 The detection did not obtain other information except the release version. I hope you can help me, thank you.

Hi @99sao,

Can you try enabling the linux-kernel-cataloger?

syft --select-catalogers "+linux-kernel-cataloger" ...

Here is the code for the cataloger that identifies Linux kernels:

https://github.com/anchore/syft/blob/fe4f17286f114027e2bf00fca723de51d5328fc0/syft/pkg/cataloger/kernel/cataloger.go#L34

Hope this helps!

99sao commented 5 months ago

使用translate.google.com 翻译:

我使用的版本是0.105.0。我已经在java和python等其他生态系统中成功运行了它。但对于 Linux 内核 (vmlinz),我想知道它检测到什么文件来获取物料清单。我对 vmlinz 在 ubuntu22.04 上的检测没有获取到除了release版本之外的其他信息。我希望你能帮助我,谢谢。

你好@99sao,

您可以尝试启用 linux-kernel-cataloger 吗?

syft --select-catalogers "+linux-kernel-cataloger" ...

以下是识别 Linux 内核的编目器代码:

https://github.com/anchore/syft/blob/fe4f17286f114027e2bf00fca723de51d5328fc0/syft/pkg/cataloger/kernel/cataloger.go#L34

希望这可以帮助!

谢谢你的帮助,我刚刚使用了你的方法,下面是我的代码: syft Users/boot --select-catalogers "+linux-kernel-cataloger",结果还是没有检测出组件,请问是我检测的文件有问题吗?谢谢

tgerla commented 5 months ago

translate.google.com result:

Thanks for your help, I just used your method, here is my code: syft Users/boot --select-catalogers "+linux-kernel-cataloger", the result is that the component is still not detected. Is there something wrong with the file I detected? Thanks

We would need to see what you are scanning--you said it is a virtual machine, right? Can you share the full file listing of what's in the virtual machine? That might be a good place to start.

99sao commented 5 months ago

谷歌翻译结果:

感谢您的帮助,我刚刚使用了您的方法,这是我的代码: syft Users/boot --select-catalogers "+linux-kernel-cataloger",结果仍然没有检测到该组件。我检测到的文件有问题吗?谢谢

我们需要看看您正在扫描什么——您说它是虚拟机,对吧?您可以分享虚拟机中的完整文件列表吗?这可能是一个很好的起点。

这是我ubuntu22.04的boot文件

截屏2024-03-08 12 19 08

我想知道我检测的是正确的文件么,谢谢!