Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to wintenapps for testing #35

Closed
wants to merge 1 commit into from

Conversation

nvdaes
Copy link
Contributor

@nvdaes nvdaes commented Jan 24, 2022

No description provided.

@nvdaes
Copy link
Contributor Author

nvdaes commented Jan 24, 2022

Hi @feerrenrut and @josephsl
Previously I have stuck. But I think that automerge can be a security risk for now. I've changed data replacing Wintenapps and the check pass. Also I'm thinking: what if I would like to add an add-on with name wintenapps, malicious code and hosting it on my GitHub account and I changeeven the sha256 and the download repo replacing the add-on with the same id, so that metadata matches perfectly, changing the download url?
I think it's better to create issues so that publishers are something that cannot be changed. So that add-ons can be distinguished not just by ids and other metadata but also by publishers, set automatically from the person who sends the add-on from an issue.
The addon-datastore-validation may have a Python file to create many data stored in a json file automatically. If I change stable to beta in Joseph's add-on, this can be harmful since people may not see it if they don't want to show prereleases etc.

@nvdaes
Copy link
Contributor Author

nvdaes commented Jan 25, 2022

i may test on my GitHub account my proposed implementation to send issues which set the publisher automatically, unless you reject this approach. I"ll start these tests today, I think, after job.

@seanbudd
Copy link
Member

Perhaps we could maintain a list of publishers (GitHub accounts) with auto-approval, and other PRs require manual approval.

@nvdaes
Copy link
Contributor Author

nvdaes commented Jan 27, 2022 via email

@nvdaes
Copy link
Contributor Author

nvdaes commented Jan 27, 2022 via email

@nvdaes
Copy link
Contributor Author

nvdaes commented Jan 28, 2022 via email

@nvdaes
Copy link
Contributor Author

nvdaes commented Jan 29, 2022 via email

@nvdaes
Copy link
Contributor Author

nvdaes commented Jan 30, 2022 via email

@feerrenrut
Copy link
Contributor

I'm not a huge fan of "authorized accounts", it's too easy for it to become a gatekeeping mechanism.

I think it is enough to check that existing add-on metadata can't change publisher (ie GitHub owner / org) without manual review. This leaves a race condition for new submissions: EG

  • friendlyDev/myAddon is created but not yet submitted
  • evilDev/myAddon forks, modifies, and submits

In these cases, I'd suggest we start by relying on the community to inspect the source repo's and flag any problems.
In the future we can consider introducing more ways of verifying add-ons.

@nvdaes
Copy link
Contributor Author

nvdaes commented Jan 31, 2022 via email

@nvdaes
Copy link
Contributor Author

nvdaes commented Feb 2, 2022 via email

@nvdaes
Copy link
Contributor Author

nvdaes commented Feb 3, 2022 via email

@nvdaes
Copy link
Contributor Author

nvdaes commented Feb 5, 2022

I've created PR #37
and PR 8 in addon-store-validation repo, with unit tests. It seems to work for me.

@feerrenrut feerrenrut added the invalid This doesn't seem right label Apr 26, 2022
@feerrenrut
Copy link
Contributor

I'm going to close this PR, I believe the problem is captured with #41

@feerrenrut feerrenrut closed this May 10, 2022
seanbudd pushed a commit that referenced this pull request Mar 7, 2023
The current planned procedure, consisting in sending json files via pull requests, has security issues as shown in PR #35
This adds an issue template and GitHub workflows to create pull requests and enable auto merge from issues, checking that publisher is not modified and it's created based on the GitHub account of the issue creator. This publisher can edit metadata send by the corresponding person, for example to change the add-on channel from beta to stable once the add-on has been tested.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants