为多个Linux发行版提取changelogs?

我试图build立一个服务,可以采取发行,包,和一个版本号,并使用该信息来检查是否有一个积极的CVE出这个元组。

经过一番search,我发现changelogs可靠地引用CVE,所以我正在考虑为CVE ID和报告parsing更新日志。 不幸的是,我们运行一个非常异类的架构,CentOS,Ubuntu和Debian框运行我们的软件。

我知道每个盒子都可以取自己的更新日志,但是这是不可行的,因为我们如何设置监控(我知道我知道,但是相信我)。 我为所有这些机器坐在服务器上的包信息的数据转储,数据定期更新,因为这些箱子回家。

有没有办法让一台机器可以获取每个发行版的更新日志? 或者我需要一台Ubuntu机器来获取Ubuntu更新日志,一个CentOS来调用yum changelog等?

谢谢!

既然你已经明确地询问过CVE,那么你更可能想做的不是手动parsing更改日志,而是使用现有的工具集来检查哪些CVE在哪个版本的发行版中是固定的。

每个分配都有一些系统来跟踪中央地方的安全问题。

对于Ubuntu,这被称为ubuntu-cve-tracker 。 你可以用它做的一个很好的例子就是ubuntu的cve跟踪网站 。 您可以使用bazaar检查整个跟踪器状态的存储库:

 $ bzr branch lp:ubuntu-cve-tracker $ grep xenial_ ubuntu-cve-tracker/active/CVE-2017-9936 xenial_tiff: needed xenial_tiff3: DNE 

考虑调查/ scripts目录,并看看你可以从那里重用代码的方式。

大胆的警告:不要简单地自动访问启动板或Ubuntu更改日志镜像以外的方式Ubuntu的人打算。 Ubuntu镜像和Launchpad的工作原理是因为人们投入大量的免费资源, 并且希望使用已经logging的访问数据的方式或者提出一个好的问题。