Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How are you gonna ensure the binary uploaded to the app store has the exact same code that is on the public repo?

OSS is not the solution.

The only solution is that your OS protects you, giving you tools to see what apps are doing what, and allowing you to finely adjust permissions and access.

You could completely trust this app if you could ban it from accessing the internet.



I understand your point, but to add to the discussion:

With android, you can use the F-Droid app store, which have "source builds". Source builds are apps built (and signed) by F-Droid, so you only need to trust the F-Droid team instead of each OSS app developer (and you can use alternative repositories if you don't).

So OSS can be the solution.

Sadly such solution is not available on the locked-down iOS ecosystem...


Adding to this:

f-droid also encourages reproducible builds: https://f-droid.org/en/docs/Reproducible_Builds/

This means you can verify the APK on the f-droid store matches what's in github by building it yourself and comparing the signatures.

And if you want to do this, f-droid has an automated way: https://f-droid.org/en/docs/Verification_Server/ Of course, you still have to trust the verification server source code, but that runs locally on your hardware and is auditable.


> You could completely trust this app if you could ban it from accessing the internet.

Yes. I have a "no-internet" user group on my linux system. Whenever I want to run an untrusted app I run it under that group.


That's interesting, care to share some details?


Basically create a group and add an iptables rule to it. Something like:

  iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
And then when you launch the program:

  sg no-internet ./something_fishy


Is there anyway this can be done automatically with apparmor or something similar?


Simple: Build the binary you upload to the App Store with the code from the repo ;-p

OSS ist the only solution and finally also governments seem to accept that.

I don't trust most OSes, that includes iOS & Android. My phone is being considered an unsafe device and I don't trust it with the data I'd like to query with an app like this.

I don't even want to have to block the app's access to internet etc. but simply be able to trust it as an OSS app that runs on my linux for tasks like this.


When I built an app for Android back in the day, I had the option to deny it permission to access the internet, for the reason you mentioned above. Unfortunately, iOS did not give me this option to deny internet permission to my app.

Does anyone know if Android still gives this option and/or if iOS now gives this option?


No, Google removed it with an _extremely_ lame excuse.

People use the NetGuard local VPN to achieve this now.


Hmm, after your comment, I just checked Android and it seems as if it's still there for developers to choose to add or not...https://developer.android.com/training/basics/network-ops/co...

But perhaps you were talking about as a user of Android (not an app developer), you no longer have the option to deny a specific app from connecting to the internet. Is that what you meant?


I don't think that option is honoured any longer.

It is not even visible to the user.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: