Postby markfm » 10 Feb 2005 13:45
The first post was inappropriate in a public forum like this -- the language was too foul to even leave an edited version in. (I do appreciate anger at viruses, but I'm quite confident it's misplaced, and even if it was valid such a post would be deleted due to the content.)
I'll try to explain why this is really, really, unlikely:
1) The software, while open source (anyone can download the source code, look at it, add things for personal use), is controlled at the site level. In other words, random people cannot simply post things to the VLC servers, and have it appear in the compiled code that is distributed. There are a limited number of people with write access to the places where the source code resides, and every change that is posted by those people includes a message to all developers, identifying precisely who made the change, what modules were changed. It's part of the configuration management system -- no way to bypass it. A revision history is maintained for all of the source files, so you can readily see who changed what, when, and revert files to different versions if necessary.
2) Assuming a person does have write access, posts a change, the changes are, informally, peer reviewed. People write this software for enjoyment, the intellectual challenge and satisfaction of putting out a good product, and are interested in learning from each other, how things are done and if something can be improved. This happens constantly -- people will make comments to each other about how a change is implemented, ways to make it better -- so it would be virtually impossible to have a chunk of code, source code mind you (this software is compiled, not just distributed) slip in. Virus code, the kinds of things it does, would stand out like a flashing red light (adding lines of code to set permissions on a .exe or .dll file, open it, prepend a hexadecimal string (virus), and save the file aren't the kind of things that would go unnoticed, since none of the operational vlc code generates or modifies such files).
3) The software itself isn't even compiled (built) on a Windows machine, so there is no essentially no chance that a build server would become infected and somehow infect an already-compiled copy of VLC. (It's built on Linux servers). The operating system calls, the kinds of things necessary to infect the Linux server, would be different from the kinds of things that infect a Windows file -- you would have had to have a really large, bloated, infection, very complex, for it to have a vector to infect code it is compiling for another OS (the software isn't a Java app, doesn't use any of that cross-platform interpretted software, where there is a risk of cross-platform infection).
4) The software is written in C and C++, not java or another real-time-interpretted cross-platform language. This relates to (3) -- very tough to just "toss in" something that gets run at run-time, is a virus, but is not visible to the developers.
5) The tools used are all major, cross-platform. VLC does use libraries from other well-known open-source projects, but these are projects with similar developers, configuration control mechanisms, etc, and the software is compiled from source, once again. Given that the source code of VLC is peer-reviewed, limited access for write, etc., about the only way to infect it would be to actually manage to create a gcc cross-compile tool that somehow adds an infection. That stuff gets a LOT of attention -- people are picky about compiler tool changes. The builds are generally done with tools/libraries that are NOT the bleeding edge -- in other words, by the time a given update is added to VLC, normally the code/tool has been used by a heck of a lot of other people and projects, so if some evil mastermind had come up with a polluted gcc cross-compiler, a whole lot of other people and apps would have hit the problem before it arises in the VLC tool chain.
5) The executables actually get tested by people with experience, who use the application in production environments, have extremely good virus scanners and the like. There are a couple of people who download just about every nightly build, start it up, see how the changes have had an effect. No virus problems have been seen.
6) There were, indeed, some false positives with VLC last year, due to the installer/packaging tool, the thing that makes VLC a self-installer on Windows. This was documented, known -- virus scanners were triggering on a code sequence that the installer did indeed have, even though the installer actually had no virus (people did check). Personally, I have similar problems with VNC (not VLC, it's something else) -- false positives reported by some scanning tools, even though the app itself truly is not infected.
I hope this helps you. People do care, but the entire code creation/review/compilation mechanism makes an infected VLC (IF downloaded from this site, or an official mirror) basically a non-problem. I don't say it is impossible to have an infected application, just that in order to have it occur someone would have to go through tremendous hoops to make it so.
(Sorry this is such a long post. Your overall question/concern is fair, and I wanted to provide you with a reasonably complete explanation, to let you know that VLC doesn't ignore viruses, just that there is a methodology that is very solid.)