Salta al contenuto principale


Looks like the same poorly implemented Android CT library that broke a lot of apps a couple years ago... did it again 🤦‍♂️

github.com/appmattus/certifica…

in reply to Filippo Valsorda

Amongst other things, there's an open source software supply chain story here.

This Android library with 174 stars and one maintainer has taken down Monday.com, Eventbrite (!!!), UPS, Kraken, Lowe's, YBS, IKEA, Agibank, iFood, PagBank, pago.ro, and Udemy.

Again, this is the same failure mode that caused outages in 2023.

github.com/appmattus/certifica…

Questa voce è stata modificata (3 mesi fa)

Renaud Chaput reshared this.

in reply to Filippo Valsorda

Tbh, that sounds like a software quality and review issue on the side of these platforms. They don't have the same excuse like random family/hobby blogs in that regard...

Oblomov reshared this.

in reply to Filippo Valsorda

Keiner von denen schreibt seine Webseiten/Anwendungen selber.

Es ist bequem diese und jene Bibliothek zu nutzen, die aber wieder Abhängigkeiten von anderen Bibliotheken hat.
Wer kennt alle Abhängigkeiten bis ins letzte Glied?
Ich meine niemand.

in reply to Filippo Valsorda

My favorite reply on that: "Who can we contact at Google regarding these issues?"

Contact at Google. Haha.

in reply to Filippo Valsorda

Best comment: 'If this library is so critical to your infrastructure, why are only two(!) people sponsoring it?'

And it is a good question.

Oblomov reshared this.

in reply to Filippo Valsorda

they did that themselves. Nobody forcing them to use this library. You're responsible for what you ship.
in reply to Arian

@arianvp i hope they keep breaking it, big companies deserve nothing but destruction
in reply to Filippo Valsorda

what's the source of this list of apps using this library?
in reply to Alex

@self partially that, partially status pages, partially correlating Downdetector.
@Alex
in reply to Filippo Valsorda

that's a shit take mate, maybe megacorps should not be lazy and actually understand what they're using and fund things like this to make it better.
in reply to Filippo Valsorda

You found a hammer in a ditch and proceeded to smash your face in. Now you’re in the ditch covered in shit and blood crying about how the blacksmith ”took you down”. You did it to yourself you worm
in reply to Filippo Valsorda

No, absolutely no. The library (and by extension its maintainer) did not take down those sites. We should never use or accept language that even indirectly suggests this.*

Whoever took the library and used it without sufficient testing "took down" the sites. It only matters that the bug is old or obvious in that it *directly points out* how the company using the library failed to take the necessary precautions.

*It's the same kind of language that places blame on victims: "look at what you made me do"; other examples would need a cw..

in reply to Filippo Valsorda

if you as a company rely on a library that is open source you have an obligation to have time committed to improving or maintaining it. open source libraries aren't just free code you can gobble up without investment.
in reply to lynn

open source libraries aren't just free code you can gobble up without investment.


well, to be fair, the term #OpenSource was invented exactly to turn #FreeSoftware into #FreeLabor for corporations:

web.archive.org/web/2022011912…

Open source was born to marginalize #hackers as a cultural and political movement while turing their values as #marketing tools.

So, to me, it's refreshing to see more open source developers that realize how they have been used and manipulated for years and starting to fight back.

@filippo@abyssdomain.expert

in reply to Filippo Valsorda

I don't like that you explicitly state "poorly implemented". Yes, maybe, but no reason to shit on the developer when they are unpaid and not the actual issue here. That's insensitive and uncalled for.
in reply to Juli Jane

@julijane it’s not so black and white. If you are an unpaid maintainer you have no obligation to put in extra work, for sure. But if you do take down the banking system of a country once (still not your fault!) and people tell you your library is broken… I think you start having a responsibility to either deprecate it, fix it, or at least warn users. We live in a society.
in reply to Filippo Valsorda

"We live in a society"

And yet you dared to write an incredibly shitty response where you yourself were completely devoid of embracing this to the full extent, because it would have clashed with the conclusion you so desperately wanted to arrive at.

No, these people do not owe anyone anything, not even a warning. And especially not after their work has been exploited for massive financial gain by actors who do not give a shit about them in the first place.

in reply to Filippo Valsorda

Maybe, as a bank, you should not be using a random library taken from the internet, with a single maintainer and some 100 stars, and make it a critical dependency of your banking operations.

Maybe, as a bank, your IT should write and maintain such a library and open source it.

Maybe, as a bank, you should not continue to use the first library, and do the second thing after the first library was able to take down critical parts of your infra the first time.

Because we live in a society, and as a bank, you should be contributing to it, too.

But then, what do I know.

@julijane

reshared this

in reply to Filippo Valsorda

@julijane If you’d share tomorrow, unpaid, voluntarily, an open source library, with the world, and some time after, a big corp decides to integrate it into some mission critical system. Do you now by default inherit the weight of responsibility for the whole system? In the end, all single/small team, unpaid maintainers would need to protect against such grabs. Or otherwise they’d be doomed once some big corp picks their project.

I’d agree that the maintainer has some abstract responsibility (“don’t put out tools that they know are unfit for the purpose or dangerous“), but it can’t be a lot more than this kind of responsibility.

in reply to Götz Hoffart

@goetz @julijane yes, I meant a moral responsibility, certainly not a legal one.

Also, I think the important part here is "tools that YOU KNOW are dangerous." The point is that this had happened before and the community had explained it would happen again.

Still no responsibility to fix it, but archiving it or putting up a warning is just a decent thing to do at that point.

in reply to Filippo Valsorda

The banking system took itself down. they should own up to their choices of software.
in reply to Filippo Valsorda

@julijane If the bank is relying on the OSS lib the bank should fix it. It's not the maintainers fault or issue.
in reply to Filippo Valsorda

no. None of that. Instead, banks should stop relying on random code they find online. It is exactly that black and white.

Vetting dependencies is an important part of software development and if you didn’t do your due diligence there, that’s your fault. Maybe hire an engineering manager, this is exactly what that role is for.

in reply to Filippo Valsorda

@julijane what part of: “if it breaks, you get to keep both parts” is hard to understand.
If you’re not paying for it, you’re not the customer.
in reply to Filippo Valsorda

I think a lot of people are bristling at that “we live in a society” remark. Because we see these obscenely wealthy companies as badly behaved members of that society. They take as much as they can and push right up to the limit of the law.

So the idea that this maintainer has some obligation -to society- that should compel them to do things they aren’t required to do is offensive. Because there are SO MANY things we think these companies should feel compelled to do because of the role they play in our society. And banks and other companies routinely refuse to do anything beyond what the law forces them to do. And some break the law, too, with penalties far weaker than individuals experience for similar transgressions.

These companies demand we write laws that compel their behaviour because they refuse to recognise any less authoritative expectations. And then they spend money hampering our legislative processes to make sure those laws don’t get passed.

We live in a society. From those to whom much has been given, much is expected.
@julijane

in reply to Filippo Valsorda

Get the bank to pay the maintainer (a very high sum) and use the money from the payroll of the execs who were stupid enough to let the IT dept use such a lib in the first place. And fire the guy who decided to use that library without making sure it is maintained. We live in a society, yes, one that requires the least amount of professionalism. Geez… 🙄
Questa voce è stata modificata (3 mesi fa)
in reply to Filippo Valsorda

@julijane
If you rely on my library and don't check it's fit for your purpose and your threat model then you're a fool.
in reply to Filippo Valsorda

@julijane It’s a really bad take to put the blame of a bank’s failure to do the due diligence to protect their systems on the back of an open source developer who has no responsibility to the bank.

The Apache 2.0 License is clear:

“Licensor provides the Work … on an ‘AS IS’ BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND”

There are many ways the bank could have prevented this. Blaming volunteers who explicitly disclaim warranty is not one of the ways.

in reply to Filippo Valsorda

@julijane

Why is the banking system of a country using software they not only didn't write, but haven't even audited?

in reply to Filippo Valsorda

@julijane Hello, I do not think that you have any responsibility as an open source developer. Providing that very very often, there is no compensation from the said "customers". It falls on downstream users to make sure that their app is resilient. In 2025, there is no excuse to supply chain issues, be it with an open source library.
in reply to Filippo Valsorda

@julijane no, it is 100% the responsibility of the bank, taking advantage of something they found on the Internet, to test it and make sure they haven't introduced a vulnerability. If, as in this case, the file format being fed to it changed, again that's on the bank to actually test their shit. They have the resources and hopefully motivation to make the world a better place, not crap on unpaid devs and their hobby projects.
in reply to Filippo Valsorda

@julijane it is the responsibility of the bank to employ a sufficiently large open source maintenance and support team that ensures that relevant libraries get fixed and that has adequate means to buy any support needed pro-actively
in reply to Filippo Valsorda

@julijane

Nah, no warranty is no warranty.

You can *choose* to take on responsibility. But it should not be expected of you.

in reply to Filippo Valsorda

bro I put this library in production and that's somehow _your_ fault. Bro, fix this. Bro.
[Edit: bro blocked me. Bro? ]
Questa voce è stata modificata (3 mesi fa)
in reply to Filippo Valsorda

In the issue queue it seems resolved. But no one answered to the question asked in the same issue queue:

"If this library is so critical to your infrastructure, why are only two(!) people sponsoring it?

github.com/sponsors/mattmook "

github.com/appmattus/certifica…

I believe this to be the real issue here.

in reply to Filippo Valsorda

Hi @filippo,
does that mean that those who were bitten back then trusted the same lib the same way and the same thing happened again? Who exactly has a problem with that?
in reply to Marcus Rohrmoser 🌻

@mro No, as far as I can tell most of the affected apps adopted the library since the last time.
in reply to Filippo Valsorda

It’s none of my business as I don’t write Android apps, but as someone who previously published the occasional library (possibly poorly implemented), I think it’s a pretty bad take to call that library “poorly implemented”.

The author got joy out of writing it and is stuck with maintaining it to the best of their ability because other projects depend on it, but the license specifically makes it AS-IS.

You used it, it broke, you should have written your own. 🤷‍♂️