• MeanEYE@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 months ago

    It’s actually by design. First of all they shot themselves in the foot by choosing Electron as platform to build desktop applications as Electron has no integration with the rest of the system, at least not as deep as native application has. Both Linux and, I believe, MacOS have secure storage programs for keys and passwords. Windows however does not, at least it didn’t back when we got screwed. So this is another reason why they chose to store in clear text, you have to cater to largest audience no matter how dumb the solution is.

    In its truest sense this is what a technical debt is. Shitty choice costing you increasingly more as the time goes on and now they are simply too deep to pull out. They are committed to this approach and simply switching would require too much money and effort.

    And you are right, it’s 100% security hole and a juicy attack vector. FileZilla did the same thing and there’s malware out there specifically targeting this software and is using user’s servers for propagation. Our systems got infected the same way long time ago because one of employees was retarded enough to use FileZilla and save password in config file even though I said not to. Since password was saved in clear text format and FTP is not terribly hard protocol to implement we got screwed. After that incident when our servers were almost taken down from internet, FTP was banned and any form of password login without two factors.

    • cley_faye@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      as Electron has no integration with the rest of the system,

      You pretty much can use Electron to build an application and use native OS-specific features. It only requires thinking about it and a bit of work, but technically isn’t much harder to do than with anything else. And there are some things useful in windows for that, based on user login credentials.

      But ultimately, if the developers didn’t care about doing that, it won’t happen, regardless of them using Electron or writing fully native apps.

    • priapus@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      Electron is capable of having just as good integration with the system as native applications. It’s just that a lot of people are not optimizing these cross platform apps to have optimal integration with them. Electron has the safeStorage API that allows you to use kwallet or GNOME Keyring to securely store information. I believe both Discord and Spotify use this on Linux.

      • MeanEYE@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        Electron is capable of having just as good integration with the system as native applications

        It will never have this since it’s incapable of using native widgets and theming, which are far more important than just looks, especially to people with disability. safeStorage is something I didn’t know about, but it seems it wasn’t used. Apart from huge RAM footprint, Electron also wakes CPU a lot which makes it absolute garbage on battery powered systems.

        • Balder@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 months ago

          It will never have this since it’s incapable of using native widgets and theming

          You can criticize Electron’s performance and memory footprint, but as long as there’s an API to access something, it can access the same features as a native app, it just depends on the company’s willingness to do it. HTML is also one of the best platforms in terms of accessibility.

          The problem though, is that cross-platform apps are optimized for that: sharing the same code among systems, and using specific OS features complicate things, so the tendency is to use the same solution for all of them, even when it isn’t the correct one. Also, they make it possible for developers who don’t know a certain OS well to still build for it, making things potentially worse in the user experience.