Discussion
I Decompiled the White House's New App
somehnguy: Interesting. The site is nearly unusable to me unfortunately. '19 MBP w/ Chrome - scrolling stutters really bad
Arainach: "An official United States government app is injecting CSS and JavaScript into third-party websites to strip away their cookie consent dialogs, GDPR banners, login gates, and paywalls."In their defense, this is the first thing the Trump admin has done that's unambiguously positive for ordinary people.
ronsor: Yes, this is a major UX improvement considering I remove those with uBlock Origin anyway.
colesantiago: This is a pretty standard decomplation of an Android app.I am sure if you decompile other apps used by hundreds of thousands of people, you would find all sorts of tracking in there.Thanks for helping the White House improve their app security for free though.
yellow_lead: Even in the apps I've worked on, you won't find us loading arbitrary JS from a random GitHub user's account.
colesantiago: > Even in the apps I've worked on, you won't find us loading arbitrary JS from a random GitHub user's account.You'd be surprised how many apps inside have hacks and workarounds because deadlines.
oefrha: > An official United States government app is injecting CSS and JavaScript into third-party websites to strip away their cookie consent dialogs, GDPR banners, login gates, and paywalls.Giving people a taste of web with Ublock Origin annoyance filters applied, refreshing. Can’t believe orange man regime is doing one thing right.
trimethylpurine: [delayed]
sitzkrieg: i assumed it was malware out the gate. yep
SoftTalker: Looks like what you might expect in a standard marketing app from a consultancy. They probably hired someone to develop it, that shop used their standard app architecure which includes location tracking code and the other stuff.
crtasm: Let's see if anyone can give an example of such a high profile app doing something similar.
r4indeer: The argument regarding no certificate pinning seems to miss that just because I might be on a network that MITM's TLS traffic doesn't mean my device trusts the random CA used by the proxy. I'd just get a TLS error, right?
thegagne: Not if you are part of an org that uses MDM and pushes their own CA to devices.
r4indeer: Ok, fair point. However, I would consider any MDM-enabled device fully "compromised" in the sense that the org can see and modify everything I do on it.
replwoacause: lol honestly all of this tracks given the current administration. i'm actually surprised it isn't worse. but yeah, amateur hour for sure.
catlikesshrimp: Not what you meant, but works fine onFirefox 148.0.2 (Build #2016148295), 15542f265e9eb232f80e52c0966300225d0b1cb7 GV: 148.0.2-20260309125808 AS: 148.0.1 OS: Android 14
jfengel: "Amateur hour" is basically their theme. They were swept in on a wave of distrust for people who know what they're talking about. They were elected to tear down Chesterton's fence, even (and especially) the parts holding in the face-eating leopards.To mix the metaphors further, they (the politicians and their supporters) fancy themselves the kind to dream of things that never were and ask why not. Why not have a war in Iran? You won't know until you give it a try.
iancarroll: A bit skeptical of how this article is written as it seems to be mostly written by AI. Out of curiosity, I downloaded the app and it doesn't request location permissions anywhere, despite the claims in the article.I've noticed Claude Code is happy to decompile APKs for you but isn't very good at doing reachability analysis or figuring out complex control flows. It will treat completely dead code as important as a commonly invoked function.
flutas: I've worked on a three letter sports orgs (one of NFL, NBA, NHL, etc) Android app.I always joke that we could probably tell you what color and type your underwear is on any random day with how much data is siphoned off your phone.As for loading random JS, yeah also seen that done that before. "Partner A wants to integrate their SDK in our webviews." -> "Partner A" SDK is just loading a JS chunk in that can do whatever they want in webviews, including load more files.Don't get me started on the sports betting SDKs...Though we do have a Security team constantly scanning SDKs and the endpoints for changes in situations like this.
jasonlotito: > As for loading random JS, yeah also seen that done that before.Partner A is not random JS. The assumption there is 1) you have some official signed agreement with them and 2) you've done your due diligence to ensure you can use them in this way.It's not just some person's GH repo who can freely change that file to whatever they want.Hotlinking is as old as the internet, and a well-worn security threat.
imalerba: Scrolling is so laggy it's annoying to follow on mobile (FF 151.0a1)
frizlab: > it doesn't request location permissions anywhere, despite the claims in the articleThe article does not claim the app requests the location. It claims it can do it with a single JS call.
dijksterhuis: what version are you on?from the iphone app store: version 47.0.1 - minor bug fixes - 34 minutes agowhile the parent posted 18 minutes agothey may have patched the location stuff as part of the “minor bug fixes”?
vineyardmike: > The official White House Android app has a cookie/paywall bypass injector, tracks your GPS every 4.5 minutes (9.5m when in background), and loads JavaScript from some guy's GitHub Pages (“lonelycpp” is acct, loads iframe viewer page).Doesn’t seem too crazy for a generic react native app but of course coming from the official US government, it’s pretty wide open to supply chain attacks. Oh and no one should be continually giving the government their location. Pretty crazy that the official government is injecting JavaScript into web views to override the cookie banners and consent forms - it is often part of providing legal consent to the website TOS. But legal consent is not their strong suit I guess.
trimethylpurine: Aren't the banners for EU page visitors. I don't think there is a US law about this, is there?
xocnad: And when the app links off to an EU site? Nothing prevents an EU user from using this app. There are a variety of Trump enthusiasts, though I suspect less than there are here in the US.
kevinsync: Using somebody's stuff is different than hot-linking directly to a hosted version of it, even just from the perspective that dude could delete it at any time and break the whole app.
rendx: I don't know if you're being serious or not, but in case you are: There is a difference between (re)using other people's open sourced code, hopefully reviewed, and giving anyone in control of the third party repository the ability to run arbitrary code on your user's devices. Even if the "random GitHub repo" doesn't contain any malicious code right now, it may well contain some tomorrow.
xocnad: All good for you to make those choices for yourself. Your response seems to be show ignorance of all the recent supply chain attacks that have occurred. You can imagine that given the situation with the shoe gifts that many high up members of the administration and cabinet members are running this app.
az09mugen: Please don't give them ideas.
longislandguido: The comments in here are pretty rich. If this was any other app, everyone would be screaming about "why are you being mean to the author", flagging posts left and right.
rpdillon: Nah, I suspect any app that's loading arbitrary JS from somebody's random GitHub page would get called out for that behavior. We're getting supply chain attacks daily.
rpdillon: The dependencies weren't vendored, meaning their behavior can change at any time if a malicious actor gains control of that third-party repo.This is bad for security.
input_sh: It's always a better idea to make a local copy of it.Imagine they're downloading a project directly from your GitHub account. Even if you're not doing anything malicious and have no intention of doing anything malicious even after you've been aware of this, now all of a sudden your GitHub account / email is a huge target for anyone that wants to do something malicious.
An official United States government app is injecting CSS and JavaScript into third-party websites to strip away their cookie consent dialogs, GDPR banners, login gates, and paywalls.
nine_k: > An official United States government app is injecting CSS and JavaScript into third-party websites to strip away their cookie consent dialogs, GDPR banners, login gates, and paywalls.So at least it does something actually beneficial for the user! I wish it could go even further, the way Reader Mode in a browser would go.