Re: GNU Coding Standards, automake, and the recent xz-utils backdoor
Jacob Bachmeyer <[email protected]>
| Newsgroups | gmane.comp.gnu.standards,gmane.comp.sysutils.automake.general |
|---|---|
| Message-ID | <[email protected]> |
Jose E. Marchesi wrote: >> [...] >> >>> I agree that distcheck is good but not a cure all. Any static >>> system can be attacked when there is motive, and unit tests are >>> easily gamed. >>> >> The issue seems to be releases containing binary data for unit tests, >> instead of source or scripts to generate that data. In this case, >> that binary data was used to smuggle in heavily obfuscated object >> code. >> > > As a side note, GNU poke (https://jemarch.net/poke) is good for > generating arbitrarily complex binary data from clear textual > descriptions. While it is suitable for that use, at last check poke is itself very complex, complete with its own JIT-capable VM. This is good for interactive use, but I get nervous about complexity in testsuites, where simplicity can greatly aid debugging, and it /might/ be possible to hide a backdoor similarly in a poke pickle. (This seems to be a general problem with powerful interactive editors.) Further, GNU poke defines its own specialized programming language for manipulating binary data. Supplying generator programs in C (or C++) for binary test data in a package that itself uses C (or C++) ensures that every developer with the skills to improve or debug the package can also understand the testcase generators. -- Jacob