• Miaou@jlai.lu
    link
    fedilink
    arrow-up
    0
    ·
    9 months ago

    Dependencies, scope creep, feature creep, off by one errors, misconfiguration, unclear/unenforced contracts/invariants… Most of those are trivial to solve at small scale, but the more moving parts you have, the more complex it becomes

    • jadero@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      9 months ago

      Of course, but that just makes the case for security as a foundational principle even stronger.

      Mistakes happen. They always will. That’s not a reason to just leave security as the afterthought it so often is.

      None of the things I mentioned have anything to do with errors and scope creep, but everything to do with building using sound principles and practices always. As in, you know, always. In class, during bootcamps, during design meetings, when writing sample code, when writing reference implementations, during the construction of the prototype that, let’s face it, almost always goes into production. Always.

      • Miaou@jlai.lu
        link
        fedilink
        arrow-up
        0
        ·
        9 months ago

        Sure, and then the big client bankrolling your company needs the feature in production for next week.

        If you’re gafam you can tell them to get screwed and that you need more time, but at least in my experience I’ve always been on the other side of the table, and sometimes you gotta change a setting in a production DB because the related GUI change was not approved since the guy doing the review was sick and the other reviewer was not sure which shade of green to use somewhere on the page.

        I agree with that security is not something you add on the side, but circumstances change and things are not always in control. You say mistakes happen, but not everything I mentioned is caused by mistakes, sometimes the shortcut is completely intentional. Companies only care about security when it’s too late, at which point they will blame you for writing unsafe software, but if your company or your job depend are at stake, that’s often a risk you have to take