cross-posted from: https://lemmy.ml/post/12744832

As I updated the version to 1.4.0 , adding the ‘import’ feature I am sharing this here.

I made this extension because I couldn’t find one that wouldn’t ask for too much permissions (such as accessing all websites data).

Eventually I found it nice to have a TOTP that can really be audited, the code is 649 lines of JS, 214 CSS and 52 HTML. Feel free to fork, copy part of it, contribute or just request fix/features.

I have used it for more than a year every day and it works nicely.

  • AYO_Official@lemmy.mlOP
    link
    fedilink
    arrow-up
    15
    arrow-down
    2
    ·
    9 months ago

    Well this is 600 lines of code, if you cannot audit that you can indeed ignore it for now. Once again this is the only auditable code out there and not asking for unrelated permissions.

    • CameronDev@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      9 months ago

      With all due respect, it doesnt matter what the code is right now. This is an extension that you can update at any point in the future to replace with something malicious.

      Trust is near impossible to build in todays internet.

      https://www.kaspersky.com.au/blog/dangerous-chrome-extensions-87-million/32170/

      Note that a plugin’s malicious functionality can evolve over time in line with its owners’ goals. And the owners themselves may change: there have been cases when malicious features appeared in a previously safe extension after its creators sold the plugin to someone else.

      • AYO_Official@lemmy.mlOP
        link
        fedilink
        arrow-up
        4
        ·
        9 months ago

        This is were the manifest/permission is important. I cannot emphasize enough that I had to code this myself because, at the time, nothing else would be OK with me. This was because of 1- way too big of a code base, 2- way too many permissions.

        It is indeed a problem that extensions are not as well maintained as Linux distribution packages but in this specific instance the extension has no right to read any information nor send requests to any server.

        • CameronDev@programming.dev
          link
          fedilink
          arrow-up
          4
          arrow-down
          1
          ·
          9 months ago

          I appreciate you have put effort into this, and you have gone out of your way to make it safer, but if the extension were to become malicious at a later date, expanding permissions (and relying on users brainlessly-clicking accept) or using an exploit or sidechannel would undo any of that.

          The downside of browser extensions is that they are operating within a massive codebase, and thus have a huge attack surface if they decide to become malicious.

          For what its worth, I commend your efforts here, its just near impossible to trust any peice of software not backed by the reputation of an established company/developer.