Principle of Least Privilege is meaningless IF you trust the application.
Meaning: "do not trust the application"
To suggest that applications should be trusted until they misbehave is reprehensible.
AFAIK. I did no such thing. It says "do not trust the application". We're in agreement here. Move along.
Having software phone home when I don't wish it to
That's a perfectly fine wish. That's why the
-Dapplication.update=skip exists. It just doesn't give you any additional security or privacy (you seem to think that it does, so I have to correct you) for reasons explained below.
compromise of security because it leaks information (what software I'm running, when and how often, my IP, etc)
"How often?" => FileBot checks for updates at most once per week regardless of usage (so I can't have "detailed" usage statistics)
"IP" => FileBot connects to CloudFlare servers (which serve 10-20% of the internet, including TheTVDB, TheMovieDB, etc) but that is all that is known to a man-in-the-middle attacker. The HTTP requests (which contain the HOST header) are encrypted in the SSL session. Your provider can log "Connect to CloudFlare" but it can absolutely not log "HOST: app.filebot.net; GET: /update.xml" or "HOST: api.thetvdb.com; GET: /index.json" so your privacy concerns (i.e. "Attacker can know that I use FileBot and TheTVDB") are false.
This is my understanding of how HTTPS works. Feel free to refute my argument.
That you claim you don't have access to or collect that information doesn't make it any less of a security issue
What I claim doesn't matter. To you, I am not (and should not) be trusted. You should assume that I (and CloudFlare and my hosting provider) log every request.
Here's why you don't have an argument here:
* FileBot does not include identifying information (e.g. user cookie) in its requests (don't trust me, wireshark it yourself).
* FileBot will almost certainly connect to filebot.net if you do anything, even if you disable update checks, because it'll need to request series/movie/heuristics data to work well.
IF update checks were the only reason FileBot connects to filebot.net then you would have a point, but that is not the case, plus lack of identifying information... you don't have a good point here. IMHO.
Your software is essentially an interface for a bunch of other software; can you imagine the nightmare it would create if AcoustID or the JRT components of your distribution were independently updating to incompatible versions?
Is this a security argument? Using old versions of software because updating is a hassle? I understand your sentiment, but it's not really a good argument in terms of computer security, is it?
[1]
As for specifics:
* "AcoustID" => is a remote web service, so if that changes all versions of FileBot will break, and I will have to publish an update anyway.
* "Java" => has the JCK and binary compatibility with newer JREs has never been an issue. Supporting older versions of Java has been an issue (e.g. back when there was no Java 7 for OS X for a few years) though.
Your security concerns are noted, but not technically valid (as explained above) in this case. Let me know if you find any actual vulnerabilities though.
