Disrupting supply chain attacks on NPM and GitHub Actions

(github.blog)

60 points | by nyku 4 hours ago

8 comments

  • alpineman 1 hour ago
    >> high-impact npm accounts are now put into a read-only mode for 72 hours when they change their email or use a 2FA recovery code. This delay allows maintainers time to respond and recover the account before their account can be used to start an attack.

    'what time shall we put here?'

    'what's the longest hangover you ever had?'

    'let's put 72 hours'

    • Waterluvian 1 hour ago
      A weekend plus a day to deal with things seems like a decent minimum duration when it’s somewhat arbitrary what the right number is.
      • datakan 1 hour ago
        I don't think so at all. People go on vacation all the time. This should be 30 days not 3.
        • Waterluvian 1 hour ago
          That's the usual runaway problem, right? Why not 60 then? People go on sabbaticals! etc etc.

          I feel like the only way to be wrong for this class of problem is to believe that there's a singular right answer. Just pick something reasonable (like how weekends are a fairly common thing, so don't make it shorter than 48 hours). Start there, then see how much of an issue persists. No matter what, at scale you'll find someone complaining that the number is too little, and people complaining that it's too much. Eventually you just have to tell the complainers to deal with it.

          • datakan 34 minutes ago
            There is a big difference between 3 days when someone may be sick or traveling and not looking and 30 which aligns better with 99% of scenarios this may be an issue with. 3 days is absurd. Even password apps with kill switches will default to 7 days.

            Cyber attacks will frequently happen on a Friday just for this scenario, they anticipate no ones looking over the weekend.

            • tredre3 10 minutes ago
              And 365 days probably aligns with 100% of scenarios. It doesn't mean it's a good idea, because the longer the delay is the more downsides you also get.

              Blocking a maintainer from pushing updates for a full month after changing their e-mail would be obviously absurd. So Github would have to add a way of enabling maintainers to super-uper-duper confirm the change and cut the delay short. Which is likely not currently possible, hence starting with a shorter delay.

        • normie3000 52 minutes ago
          It's often not the maintainer that removes a poisoned release, it's the npm security team/tools. So unless the whole team takes a month off, we're all safe.
  • skipants 33 minutes ago
    One thing I don't quite get is how trusted publishing is supposed to be more secure. It still allows publishing if they pwn your workflow.

    Is it purely more secure because they can't exfiltrate your secret keys to publish again?

    I feel like if your workflow gets pwned you'd be rotating your keys anyways, so I'm not sure if the vendor lock-in is worth it.

    • flyingshelf 17 minutes ago
      Keys can be reused from anywhere. Trusted publishing means the attacker must trigger the specific workflow on GitHub, which is more difficult and leaves trace of actions on GitHub itself.
  • summarybot 35 minutes ago
    Github owns NPM. Github has unprecedented access to code analysis tools. Github can run static analysis on nearly everything. Introducing a cooldown period seems like the lowest tech solution to a technological problem I have seen in a longwhile.
  • hncsiocp9x 1 hour ago
    Been quietly thinking this for years
  • torment-nexus 24 minutes ago
    [flagged]
  • DiabloD3 3 hours ago
    [flagged]
    • theF00l 2 hours ago
      The job can require you to
      • DiabloD3 2 hours ago
        [flagged]
        • UqWBcuFx6NV4r 2 hours ago
          These comments should be removed r from HN, because they in no way actually add to the conversation. They aren’t intelligent, they aren’t insightful, they aren’t actionable, and they don’t invite a genuine reply. All you’re saying is that you happen to not use these technologies yourself – something that I’m sure is only by happenstance – and that you feel superior for it.

          This is a blog post by GitHub. what are you suggesting that these employees do? Simply ignore that they exist? Regardless of whether or not you use them, they still exist.

          • sieabahlpark 1 hour ago
            [dead]
          • anon48293 2 hours ago
            > This is a blog post by GitHub. what are you suggesting that these employees do? Simply ignore that they exist?

            The buggy, insecure feature that is GitHub actions? Yes, preferably so.

        • x86a 2 hours ago
          This is such a myopic take
        • baby_souffle 2 hours ago
          GitHub actions doesn’t really make you a js shop
    • rho138 3 hours ago
      > Opting out of toxic ecosystems is a valid option

      Quick, everyone break out the pitchforks for a valid analysis of a game! /s

  • pluto_modadic 1 hour ago
    the bare minimum award, for the only language and only registry where this regularly happens.