• 61 Posts
  • 652 Comments
Joined 3 years ago
cake
Cake day: June 11th, 2023

help-circle
  • Six months ago, distributed crawling hit code.forgejo.org, and the mitigation measures put in place then held until a few weeks ago. The mitigation measures relied on JavaScript-based proof-of-work, but the crawling software learned to resolve the measures, allowing the attack to return.

    Since November 24, a new blocking strategy has been implemented and successfully blocked around one million unique IPs daily. Only 5,000 unique IP addresses reach code.forgejo.org daily, and no reports of legitimate traffic being blocked have been received.

    Crazy. A 1M to 5k ratio.

    The linked to ‘new strategy’ information is interesting too. They’re blocking a specific user agent.

    TL;DR: 26 November ~900,000 unique IPs sent requests to code.forgejo.org and blocking one user agent effectively blocks over 90% of them. At the moment ~50,000 unique IP hit code.forgejo.org per hour, ~5,000 of them are not using the suspicious user agent and are sent to Anubis, ~1,000 of them pass the challenge and reach code.forgejo.org.

    && Header(`user-agent`, `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36`)
    

  • The author provided no evidence of it

    They’re contextualizing and sourcing it plenty. It’s their impression from their experience, from their years of being in that field. In the later adding of comments at the end they go into different takes as well, reiterating that it’s what they saw or see in [their] big corp[s] [and those he talks to].

    You’re saying people are rotating too often - which was one of their points. Not sure if you meant support that point or point it out [assuming they didn’t].





  • IMO the intro “[shared] to the respective secret scanning partner” is a bit misleading because it can be read as third parties unrelated to the secret that do secret scanning. The text later on only mentions the issuer of secrets, though.

    To protect the developer community, GitHub partners with hundreds of secret scanning partners to identify leaked secrets.

    GitHub works directly with industry partners like AWS, OpenAI, and Stripe to build detectors for their specific secret formats […]
    GitHub notifies the secret issuer when publicly leaked secrets are found, allowing the partner to take immediate action.















  • So you’re using [] as an alternative function call syntax to (), usable with nullable parameters?

    What’s the alternative? let x = n is null ? null : math.sqrt(n);?

    In principle, I like the idea. I wonder whether something with a question mark would make more sense, because I’m used to alternative null handling with question marks (C#, ??, ?.ToString(), etc). And I would want to see it in practice before coming to an early conclusion on whether to establish as a project principle or not.

    math.sqrt?() may imply the function itself may be null. (? ) for math.sqrt(?n)? 🤔

    I find [] problematic because it’s an index accessor. So it may be ambiguous between prop or field indexed access and method optional param calls. Dunno how that is in Dart specifically.