Skip to content

hellodword/reproducible-violentmonkey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reproducible-violentmonkey

I found two related issues:

The maintainer and a member said:

tophf: all you need is to build the source code and compare it to the released version, which is what AMO (addons.mozilla.org) reviewers do gera2ld: The AMO reviewers make sure that the code generated by them is exactly the same as that submitted by us, otherwise the add-on will be rejected. gera2ld: If you don't believe us anyway, you can always build your own version with a simple yarn build.

I found that the reproducible build requires some environment variables, which violentmonkey doesn't provide.

https://github.com/violentmonkey/violentmonkey/blob/63913466aaf6503be0ca035fe3a268e9ebe73158/.github/workflows/release.yml#L30-L45

So, I extracted them from the xpi file.

how-to

Docker

docker build -t reproducible-violentmonkey .

Nix

Caution

It's not working now, I have to figure out how to reproduce the sharp dependency.

  1. Install Nix
  2. Enable the nix-command and flakes features
# # fetch the latest info
# nix run .#info

# build and diff
nix run

evil or not

I'm not the expert, but I agree with the maintainer:

tophf: Quick perusal of the code won't guarantee safety, it just gives you a false sense of security, which is just as bad as blind trust or maybe even worse.

Reproducing the AMO xpi file only proves that "there is no evil thing at the release stage", but the source code and the dependencies are not audited, which is a common issue for almost all FOSS softwares.