tuum-tech / identify

MIT License
7 stars 3 forks source link

22 snap apis dont work properly if you switch to a different account #40

Closed dchagastelles closed 1 year ago

dchagastelles commented 1 year ago

Resolves #22

when we change accounts on metamask, it doesnt update state automatically.

So the bug was:

  1. Snap receives a request (onRpcRequest method)
  2. it calls getSnapStateUnchecked -> returns the current state of the snap (last updated state)
  3. calls eth_requestAccounts method to obtain the current account and then sets the state obtained in step 2.
  4. create a object identitySnapParams with the updated state and passes it as parameters to the snap methods.
  5. GetVcs method doesn't use identitySnapParams passed but instead calls await getSnapState(this.snap) inside queryVC

So the way to fix it was just call await updateSnapState(snap, state) just after step 3 and problem solved

gitguardian[bot] commented 1 year ago

⚠️ GitGuardian has uncovered 2 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
| GitGuardian id | Secret | Commit | Filename | | | -------------- | ------------------------- | ---------------- | --------------- | -------------------- | | [5872091](https://dashboard.gitguardian.com/incidents/5872091?occurrence=86348765) | Generic High Entropy Secret | 40e173968733522d1b59531857b4c392452f2889 | packages/snap/tests/testUtils/snap.mock.ts | [View secret](https://github.com/tuum-tech/identity-snap/commit/40e173968733522d1b59531857b4c392452f2889#diff-7666dfdf6b4cfbd418076c45c898441832d9a7649f2ab339054cbd8130d9230aR47) | | [5872091](https://dashboard.gitguardian.com/incidents/5872091?occurrence=86348766) | Generic High Entropy Secret | 40e173968733522d1b59531857b4c392452f2889 | packages/snap/tests/testUtils/snap.mock.ts | [View secret](https://github.com/tuum-tech/identity-snap/commit/40e173968733522d1b59531857b4c392452f2889#diff-7666dfdf6b4cfbd418076c45c898441832d9a7649f2ab339054cbd8130d9230aR55) |
🛠 Guidelines to remediate hardcoded secrets
1. Understand the implications of revoking this secret by investigating where it is used in your code. 2. Replace and store your secrets safely. [Learn here](https://blog.gitguardian.com/secrets-api-management?utm_source=product&utm_medium=GitHub_checks&utm_campaign=check_run_comment) the best practices. 3. Revoke and [rotate these secrets](https://docs.gitguardian.com/secrets-detection/detectors/generics/generic_high_entropy_secret#revoke-the-secret?utm_source=product&utm_medium=GitHub_checks&utm_campaign=check_run_comment). 4. If possible, [rewrite git history](https://blog.gitguardian.com/rewriting-git-history-cheatsheet?utm_source=product&utm_medium=GitHub_checks&utm_campaign=check_run_comment). Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data. To avoid such incidents in the future consider - following these [best practices](https://blog.gitguardian.com/secrets-api-management/?utm_source=product&utm_medium=GitHub_checks&utm_campaign=check_run_comment) for managing and storing secrets including API keys and other credentials - install [secret detection on pre-commit](https://https://docs.gitguardian.com/ggshield-docs/integrations/git-hooks/pre-commit?utm_source=product&utm_medium=GitHub_checks&utm_campaign=check_run_comment) to catch secret before it leaves your machine and ease remediation.

🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

Our GitHub checks need improvements? Share your feedbacks!