* [Buildroot] Google Summer of Code 2018 ?
@ 2018-01-17 20:52 Thomas Petazzoni
2018-01-17 22:50 ` Matthew Weber
2018-01-22 22:04 ` Arnout Vandecappelle
0 siblings, 2 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2018-01-17 20:52 UTC (permalink / raw)
To: buildroot
Hello,
For information, organizations can apply for GSoC 2018 until January
23, so there is less than a week left to apply. The questions are: do
we want to apply? And if yes, for what topics?
Looking at https://elinux.org/Buildroot:GSoC2017Ideas:
- Reproducible builds. While some initial work was done, there is
definitely a lot more that could be done.
- Testing infrastructure: the runtime testing infrastructure was
added in the mean time. Writing more tests and extending the
infrastructure is still needed though.
- Relocatable SDK: this topic is pretty much solved IMO, so this topic
is no longer relevant.
- Follow upstream updates and CVEs of packages. I think this topic is
still relevant, and IMO is the most interesting topic.
- Support for LLVM: an intern from Smile (France) just announced that
he will be working on this topic during the next months, so I don't
see the point of having a GSOC on the same topic.
- Support new languages and complete existing ones. I'm not sure about
this one:
* For NodeJS, I'm not sure we want to have zillions of packages for
the different NodeJS modules
* The Go package infrastructure has been resubmitted, and is
actively being pushed by Angelo
* The Rust support is actively being pushed by Eric
So I don't know if there's enough things left to do for this project
idea.
Any other idea of what's missing in Buildroot, or that could be
improved ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread* [Buildroot] Google Summer of Code 2018 ? 2018-01-17 20:52 [Buildroot] Google Summer of Code 2018 ? Thomas Petazzoni @ 2018-01-17 22:50 ` Matthew Weber 2018-01-18 7:51 ` Thomas Petazzoni 2018-01-22 22:04 ` Arnout Vandecappelle 1 sibling, 1 reply; 8+ messages in thread From: Matthew Weber @ 2018-01-17 22:50 UTC (permalink / raw) To: buildroot On Wed, Jan 17, 2018 at 2:52 PM, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > Hello, > > For information, organizations can apply for GSoC 2018 until January > 23, so there is less than a week left to apply. The questions are: do > we want to apply? And if yes, for what topics? > > Looking at https://elinux.org/Buildroot:GSoC2017Ideas: > > - Reproducible builds. While some initial work was done, there is > definitely a lot more that could be done. > > - Testing infrastructure: the runtime testing infrastructure was > added in the mean time. Writing more tests and extending the > infrastructure is still needed though. > > - Relocatable SDK: this topic is pretty much solved IMO, so this topic > is no longer relevant. > > - Follow upstream updates and CVEs of packages. I think this topic is > still relevant, and IMO is the most interesting topic. I'd second that this is an interesting one (even just a manual approach to start with). ie. Minimally having our legal-info (or a new cpe-info) generate CPE compliant tags for our packages would be a great addition. Then those lists can be fed into various tools. > > - Support for LLVM: an intern from Smile (France) just announced that > he will be working on this topic during the next months, so I don't > see the point of having a GSOC on the same topic. > > - Support new languages and complete existing ones. I'm not sure about > this one: > * For NodeJS, I'm not sure we want to have zillions of packages for > the different NodeJS modules > * The Go package infrastructure has been resubmitted, and is > actively being pushed by Angelo > * The Rust support is actively being pushed by Eric > So I don't know if there's enough things left to do for this project > idea. > > Any other idea of what's missing in Buildroot, or that could be > improved ? > > Best regards, > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux and Kernel engineering > http://free-electrons.com > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- Matthew L Weber / Pr Software Engineer Airborne Information Systems / Security Systems and Software / Secure Platforms MS 131-100, C Ave NE, Cedar Rapids, IA, 52498, USA www.rockwellcollins.com Note: Any Export License Required Information and License Restricted Third Party Intellectual Property (TPIP) content must be encrypted and sent to matthew.weber at corp.rockwellcollins.com. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Google Summer of Code 2018 ? 2018-01-17 22:50 ` Matthew Weber @ 2018-01-18 7:51 ` Thomas Petazzoni 2018-01-18 15:52 ` Matthew Weber 0 siblings, 1 reply; 8+ messages in thread From: Thomas Petazzoni @ 2018-01-18 7:51 UTC (permalink / raw) To: buildroot Hello, On Wed, 17 Jan 2018 16:50:13 -0600, Matthew Weber wrote: > > - Follow upstream updates and CVEs of packages. I think this topic is > > still relevant, and IMO is the most interesting topic. > > I'd second that this is an interesting one (even just a manual > approach to start with). ie. Minimally having our legal-info (or a > new cpe-info) generate CPE compliant tags for our packages would be a > great addition. Then those lists can be fed into various tools. Could you describe in more details what are those "CPE compliant tags" ? Ideally, what I'd like to see is a script that generates a webpage showing for each package the current version in Buildroot, the latest upstream version available, and whether the current version in Buildroot is affected by CVEs. Optionally, such a script could be used combined with the DEVELOPERS file to generate some notifications to Buildroot developers that the packages they are looking after should probably be upgraded (with a weekly notification, or something like that). Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Google Summer of Code 2018 ? 2018-01-18 7:51 ` Thomas Petazzoni @ 2018-01-18 15:52 ` Matthew Weber 2018-01-18 22:43 ` Matthew Weber 0 siblings, 1 reply; 8+ messages in thread From: Matthew Weber @ 2018-01-18 15:52 UTC (permalink / raw) To: buildroot Thomas, On Thu, Jan 18, 2018 at 1:51 AM, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > > Hello, > > On Wed, 17 Jan 2018 16:50:13 -0600, Matthew Weber wrote: > > > > - Follow upstream updates and CVEs of packages. I think this topic is > > > still relevant, and IMO is the most interesting topic. > > > > I'd second that this is an interesting one (even just a manual > > approach to start with). ie. Minimally having our legal-info (or a > > new cpe-info) generate CPE compliant tags for our packages would be a > > great addition. Then those lists can be fed into various tools. > > Could you describe in more details what are those "CPE compliant tags" ? > > Ideally, what I'd like to see is a script that generates a webpage > showing for each package the current version in Buildroot, the latest > upstream version available, and whether the current version in > Buildroot is affected by CVEs. Optionally, such a script could be used > combined with the DEVELOPERS file to generate some notifications to > Buildroot developers that the packages they are looking after should > probably be upgraded (with a weekly notification, or something like > that). > NIST maintains the "official" Common Platform Enumeration (CPE) Dictionary. It is basically a big xml file that is a collection of COTS systems, software, and hardware available for commercial and personal use. The dictionary (defined by this xsd) contains tens of thousands of CPEs (defined by this xsd). When our security team does CVE evaluations for a platform, we upstream any missing CPEs to NIST. They run the suggestions through a normalization process checking for duplicates, spelling, format, etc. In the end, NIST updates the CPE list every 24 hours with new inclusions. If the buildroot legal-info (or something similar) could produce the accurate CPE information for each specific software version in the list, that data could easily be used to query the Mitre CVE database or anything else that conforms to Security Content Automation Protocol (SCAP). This is easier said that done of course. With buildroot being on the bleeding edge for many software packages that can be included, the CPE dictionary often hasn't caught up to the versions included in buildroot. For a specific company's case, that is rectified by a security team upstreaming new CPEs to NIST. An example of a recent CPE identifier that we upstreamed to NIST is: cpe:2.3:a:bzip:bzip2:1.0.5:*:*:*:*:*:*:* NIST link We definitely agree with the vision of ultimately having a list of CVEs available for a buildroot tag or even on demand. This would most easily be accomplished by connecting the "webpage" to a vulnerability site that allows direct query of their vulnerability database via and API. Then for specific users, having a generated CPE list would allow them to plug them into paid/corporate vulnerability management database(s). Having an accurate list of CPEs is the cornerstone for buildroot users to be able to design their own process and generally access current states of upstream. As far as a concept. We don't see any way to get the CPE information into buildroot other than adding something to the package makefile that the community maintains. Sometimes the name of the package in buildroot does not match the product name field in the CPE entry. A vendor field would have to be added. The version field in buildroot might be ok. NIST has shown that having a community of engineers trying to be consistent is a challenge, possibly some sort of normalization would be necessary. I don't know. A CPE name then could be assembled in most cases by doing something like this: LIBFUSE_VERSION = 2.9.7 LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE_VERSION) + LIBFUSE_VENDOR = libfuse_project LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1 LIBFUSE_LICENSE_FILES = COPYING COPYING.LIB LIBFUSE_INSTALL_STAGING = YES LIBFUSE_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) LIBFUSE_CONF_OPTS = \ --disable-example \ --enable-lib \ --enable-util + LIBFUSE_CPE = cpe:2.3:a:$(LIBFUSE_VENDOR):<packagename>:$(LIBFUSE_VERSION):*:*:*:*:*:*:* Matt ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Google Summer of Code 2018 ? 2018-01-18 15:52 ` Matthew Weber @ 2018-01-18 22:43 ` Matthew Weber 0 siblings, 0 replies; 8+ messages in thread From: Matthew Weber @ 2018-01-18 22:43 UTC (permalink / raw) To: buildroot Ron, On Thu, Jan 18, 2018 at 9:52 AM, Matthew Weber <matthew.weber@rockwellcollins.com> wrote: > Thomas, > > On Thu, Jan 18, 2018 at 1:51 AM, Thomas Petazzoni > <thomas.petazzoni@free-electrons.com> wrote: >> >> Hello, >> >> On Wed, 17 Jan 2018 16:50:13 -0600, Matthew Weber wrote: >> >> > > - Follow upstream updates and CVEs of packages. I think this topic is >> > > still relevant, and IMO is the most interesting topic. >> > >> > I'd second that this is an interesting one (even just a manual >> > approach to start with). ie. Minimally having our legal-info (or a >> > new cpe-info) generate CPE compliant tags for our packages would be a >> > great addition. Then those lists can be fed into various tools. >> >> Could you describe in more details what are those "CPE compliant tags" ? >> >> Ideally, what I'd like to see is a script that generates a webpage >> showing for each package the current version in Buildroot, the latest >> upstream version available, and whether the current version in >> Buildroot is affected by CVEs. Optionally, such a script could be used >> combined with the DEVELOPERS file to generate some notifications to >> Buildroot developers that the packages they are looking after should >> probably be upgraded (with a weekly notification, or something like >> that). >> > > NIST maintains the "official" Common Platform Enumeration (CPE) > Dictionary. It is basically a big xml file that is a collection of > COTS systems, software, and hardware available for commercial and > personal use. The dictionary (defined by this xsd) contains tens of > thousands of CPEs (defined by this xsd). When our security team does > CVE evaluations for a platform, we upstream any missing CPEs to NIST. > They run the suggestions through a normalization process checking for > duplicates, spelling, format, etc. In the end, NIST updates the CPE > list every 24 hours with new inclusions. > > If the buildroot legal-info (or something similar) could produce the > accurate CPE information for each specific software version in the > list, that data could easily be used to query the Mitre CVE database > or anything else that conforms to Security Content Automation Protocol > (SCAP). This is easier said that done of course. With buildroot > being on the bleeding edge for many software packages that can be > included, the CPE dictionary often hasn't caught up to the versions > included in buildroot. For a specific company's case, that is > rectified by a security team upstreaming new CPEs to NIST. > > An example of a recent CPE identifier that we upstreamed to NIST is: > cpe:2.3:a:bzip:bzip2:1.0.5:*:*:*:*:*:*:* NIST link > > We definitely agree with the vision of ultimately having a list of > CVEs available for a buildroot tag or even on demand. This would most > easily be accomplished by connecting the "webpage" to a vulnerability > site that allows direct query of their vulnerability database via and > API. Then for specific users, having a generated CPE list would allow > them to plug them into paid/corporate vulnerability management > database(s). Having an accurate list of CPEs is the cornerstone for > buildroot users to be able to design their own process and generally > access current states of upstream. > > As far as a concept. We don't see any way to get the CPE information > into buildroot other than adding something to the package makefile > that the community maintains. Sometimes the name of the package in > buildroot does not match the product name field in the CPE entry. A > vendor field would have to be added. The version field in buildroot > might be ok. NIST has shown that having a community of engineers > trying to be consistent is a challenge, possibly some sort of > normalization would be necessary. I don't know. > > A CPE name then could be assembled in most cases by doing something like this: > > LIBFUSE_VERSION = 2.9.7 > LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz > LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE_VERSION) > + LIBFUSE_VENDOR = libfuse_project > LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1 > LIBFUSE_LICENSE_FILES = COPYING COPYING.LIB > LIBFUSE_INSTALL_STAGING = YES > LIBFUSE_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) > LIBFUSE_CONF_OPTS = \ > --disable-example \ > --enable-lib \ > --enable-util > > + LIBFUSE_CPE = > cpe:2.3:a:$(LIBFUSE_VENDOR):<packagename>:$(LIBFUSE_VERSION):*:*:*:*:*:*:* > Ron, above is what has been discussed so far. Maybe we could hash out a architecture and the pieces involved to do this so we could breakup the work? I'm most interested in the report generation and defining package level CPE strings. I've got a good amount of data and string examples I can share. We use a separate tool to perform the analysis and record keeping. Matt ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Google Summer of Code 2018 ? 2018-01-17 20:52 [Buildroot] Google Summer of Code 2018 ? Thomas Petazzoni 2018-01-17 22:50 ` Matthew Weber @ 2018-01-22 22:04 ` Arnout Vandecappelle 2018-01-23 18:00 ` Matthew Weber 1 sibling, 1 reply; 8+ messages in thread From: Arnout Vandecappelle @ 2018-01-22 22:04 UTC (permalink / raw) To: buildroot On 17-01-18 21:52, Thomas Petazzoni wrote: > Hello, > > For information, organizations can apply for GSoC 2018 until January > 23, so there is less than a week left to apply. The questions are: do > we want to apply? And if yes, for what topics? > > Looking at https://elinux.org/Buildroot:GSoC2017Ideas: > > - Reproducible builds. While some initial work was done, there is > definitely a lot more that could be done. This is indeed an interesting topic for GSoC. > > - Testing infrastructure: the runtime testing infrastructure was > added in the mean time. Writing more tests and extending the > infrastructure is still needed though. Useful, but probably a difficult topic. > - Relocatable SDK: this topic is pretty much solved IMO, so this topic > is no longer relevant. Ack. > - Follow upstream updates and CVEs of packages. I think this topic is > still relevant, and IMO is the most interesting topic. Although interesting, I think this is not very suitable for GSoC. Mostly because it fits more in a "commercial" use of Buildroot and I don't think GSoC is really meant for that. But maybe that's more a personal feeling. Probably doesn't hurt to propose it. > - Support for LLVM: an intern from Smile (France) just announced that > he will be working on this topic during the next months, so I don't > see the point of having a GSOC on the same topic. Ack. > - Support new languages and complete existing ones. I'm not sure about > this one: > * For NodeJS, I'm not sure we want to have zillions of packages for > the different NodeJS modules > * The Go package infrastructure has been resubmitted, and is > actively being pushed by Angelo > * The Rust support is actively being pushed by Eric > So I don't know if there's enough things left to do for this project > idea. Yeah, and it's also a very tricky subject. All languages are pretty different. So, is anyone going to submit these three proposals? Regards, Arnout > Any other idea of what's missing in Buildroot, or that could be > improved ? -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Google Summer of Code 2018 ? 2018-01-22 22:04 ` Arnout Vandecappelle @ 2018-01-23 18:00 ` Matthew Weber 2018-01-24 8:00 ` Peter Korsgaard 0 siblings, 1 reply; 8+ messages in thread From: Matthew Weber @ 2018-01-23 18:00 UTC (permalink / raw) To: buildroot Arnout, On Mon, Jan 22, 2018 at 4:04 PM, Arnout Vandecappelle <arnout@mind.be> wrote: > > [snip] > > So, is anyone going to submit these three proposals? > I checked this morning and it looks like submission is now closed.... Matt ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] Google Summer of Code 2018 ? 2018-01-23 18:00 ` Matthew Weber @ 2018-01-24 8:00 ` Peter Korsgaard 0 siblings, 0 replies; 8+ messages in thread From: Peter Korsgaard @ 2018-01-24 8:00 UTC (permalink / raw) To: buildroot >>>>> "Matthew" == Matthew Weber <matthew.weber@rockwellcollins.com> writes: > Arnout, > On Mon, Jan 22, 2018 at 4:04 PM, Arnout Vandecappelle <arnout@mind.be> wrote: >> >> > [snip] >> >> So, is anyone going to submit these three proposals? >> > I checked this morning and it looks like submission is now closed.... Argh, indeed - Deadline was January 23th, 17:00 UTC :/ https://developers.google.com/open-source/gsoc/timeline -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-01-24 8:00 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-01-17 20:52 [Buildroot] Google Summer of Code 2018 ? Thomas Petazzoni 2018-01-17 22:50 ` Matthew Weber 2018-01-18 7:51 ` Thomas Petazzoni 2018-01-18 15:52 ` Matthew Weber 2018-01-18 22:43 ` Matthew Weber 2018-01-22 22:04 ` Arnout Vandecappelle 2018-01-23 18:00 ` Matthew Weber 2018-01-24 8:00 ` Peter Korsgaard
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox