The Blueprint of a North Korean Attack on Open-Source

(casco.com)

31 points | by brene 2 days ago ago

11 comments

  • brene 2 days ago

    Author here. We were analyzing a compromised contributor account targeting better-auth when we noticed something interesting about the attack vector. Most coverage of supply chain attacks focuses on the "what happened" but I wanted to document the "how it actually works" with the deobfuscated code.

    Wwo things stood out: 1. hiding the payload in next.config.mjs is clever because GitHub's UI truncates long lines so the malicious string is literally invisible when scrolling through the file. second, storing the c2 payload on binance smart chain means theres no server to take down. The axios attack was mitigated by removing the GitHub-hosted payload. This one can't be.

    2. found 30+ repos with the same signature string. Pretty sure there's way more we didn't catch with basic string matching.

    happy to answer questions about the deobfuscation process or the c2 protocol analysis.

    • rho138 2 days ago

      Your website fingerprints devices so hard it throws a warning after rendering content.

      • brene 2 days ago

        are you using Safari's Lockdown Mode?

        • PeterWhittaker 2 days ago

          What if they are? Why should people attempting to browse securely be punished?

          • brene 2 days ago

            Just debugging the issue :-)

    • WalterGR 2 days ago

      > GitHub's UI truncates long lines so the malicious string is literally invisible when scrolling through the file.

      It looks like the screen recording was made on a Mac. Does your browser (Chrome?) respect the OS-wide ‘Always show scroll bars’ setting?

      After all, it’s not that GitHub is “truncating” the lines, it’s that scroll bars aren’t visible - so it’s not immediately obvious that there’s code outside of the viewport.

      • sysguest 2 days ago

        > it’s that scroll bars aren’t visible

        well truncating or not, that seems to be a major security UI issue...?

  • RugZug a day ago

    The website loads for a second and then

      Application error: a client-side exception has occurred while loading casco.com (see the browser console for more information).
  • iannacl 2 days ago

    The blockchain angle to circumvent takedowns of the payload hosting here is really interesting.

    • dns_snek 2 days ago

      The blockchain is a red herring, it's still just connecting to an HTTPS server which serves the payload. Not that different from using any other web host which turns a blind eye to abuse.

  • rafaveira3 2 days ago

    break one maintainer, own the ecosystem. btw, beautiful graphs