• pivot_root@lemmy.world
    link
    fedilink
    English
    arrow-up
    14
    ·
    16 days ago

    Tea was storing its users’ sensitive information on Firebase, a Google-owned backend cloud storage and computing service.

    Every time. With startups, it’s always an unsecured Firebase or S3 bucket.

    • NeilBrü@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      15 days ago

      I’m certainly no web security expert, but shouldn’t Tea’s junior network/backend/security developers, let alone seniors, know how to secure said Firebase or S3 buckets with STARTTLS or SSL certificates? Shouldn’t a company like this have some sort of compliance department?

      • zqps@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        15 days ago

        It’s a little more complex than that. If you want the app on the user device to be able to dump data directly into your online database, you have to give it access in some way. Encrypting the transmission doesn’t do much if every app installation contains access credentials that can be extracted or sniffed.

        Obviously there are ways around this too, but it’s not just “use TLS”.

        • Chulk@lemmy.ml
          link
          fedilink
          English
          arrow-up
          0
          ·
          15 days ago

          Wouldn’t some sort of proxy in between the bucket and the client app solve this problem? I feel like you could even set up an endpoint on your backend that manages the upload. In other words, why is it necessary for the client app to connect directly with the bucket?

          Maybe I’m not understanding the gist of the problem

          • zqps@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            14 days ago

            Exactly, it’s not necessary. It’s bad / lazy design. You don’t expose the DB storage directly, you expose a frontend that handles all the authentication and validation stuff before accessing the DB on the backend. That’s normal Client-Server-Database architecture.

      • gian @lemmy.grys.it
        link
        fedilink
        English
        arrow-up
        0
        ·
        15 days ago

        I am not sure, but I read somewhere that the developer(s) used vibe coding to create the app so…

        • Canaconda@lemmy.ca
          link
          fedilink
          English
          arrow-up
          1
          ·
          15 days ago

          A lot of people have speculated that.

          According to their statement their code was written in Feb/2024 and predates “vibe coding”