Meta's Muse is fantastic for web scraping

(sigh.dev)

52 points | by STRiDEX 6 hours ago ago

64 comments

  • dvt 6 hours ago

    I built an AI "web harness" running on a sandboxed Chromium (using a custom side-loaded plugin that talks over websockets to a "driver") to basically do anything a normal user could do in a browser. It totally bypasses any and all bot measures and only gets the ones you yourself would get as well (and passes those successfully, e.g. Cloudflare checkbox or those annoying OCR puzzles).

    Not sure if I should release it, but I'm sure more people are catching onto the power of agentic browsing.

    • bayindirh 5 hours ago

      Thanks for letting us know that we need a new layer of detection systems.

      Also it’s great(!) to see that we’re going from “but ethics” to “I got mine, who cares”.

      Humans are interesting creatures.

      Edit: Please before assuming that I'm assuming things, this is an observation I'm making over time. It's possible that I'm in a bubble, but it's not a sample size of 1 (i.e. The comment I replied only).

      • afro88 5 hours ago

        I'm becoming more and more convinced that a big source of outrage on the internet is caused by people assuming that all other people are a homogenous blob.

        It's not that "we" are going from one thing to another. It's that these are two different people, with different ethical boundaries.

      • pcthrowaway 5 hours ago

        There is no detection method that will prevent AI from accessing systems without also blocking humans. The only thing we can do at this point is throttling.

        • kees99 5 hours ago

          Agreed on inevitable collateral blockage of real people using real "headed" browser. I'm getting a ton of that already, personally.

          Throttling is poor help though. Mass scrapers are using "residential proxy" loophole + rotating UA and other attributes. You can't throttle somebody without identifying them. Unless you're talking about a global rate-limit.

          • pcthrowaway 5 hours ago

            throttling based on sessions kind of works; we're headed in the direction that sites like Reddit will probably prevent logged-out users from viewing threads (as they already do with mobile devices)

            Once the LLMs create sockpuppets to get around that, the web services will need to resort to profiling users more aggressively so that they know which actual human an account corresponds to.

            If someone has a malicious browser extension that uses their session to scrape Reddit then, they're probably going to see significant usage obstacles.

            We are headed to a very user-hostile place.

            • mvt67 3 hours ago

              Only if your life revolves around reddit.

      • Cakez0r 5 hours ago

        You're framing this as if people are deliberately making decisions that they believe are unethical. The reality is that people have different ethical frameworks. For example, I believe that there is no ethical distinction between whether a web request originates from a browser or from an LLM on my behalf.

        • Kepten-Hook 4 hours ago

          Another person replied already and I agree with them, but also I think you need to see this from the perspective of the people operating the service you are accessing.

          As an example, imagine a really small community maintaining a small site/wiki/cms/forum that has the ultimate goal of promoting human relationships around a common interest (let's say retro computing as an example, but it could be anything). There are many many many such communities on the internet.

          It's very improbable you will specifically instruct your LLM to access their site, it's way more probable it will happen without you even knowing, as a result of you doing some /deep-research or something. And not only that, but your LLM will probably spawn a ton of agents to gather as much information as possible in as little time as possible. A torrent of requests will go at this community's site, effectively killing it. They are a small community, they use their spare time and money to maintain something to serve them, they don't have the resources to serve your LLM and until you showed up they probably never even had to think about Cloudflare. They are certainly not against you getting the content, but they don't want you causing them issues either and you just did.

          End result? Your LLM (effectively you) DoSed a small community's site. You caused harm. Could you have caused similar harm if you were doing it on your own? Sure. But you would have done it on purpose, not accidentally while instructing your LLM to do something else.

          This isn't a made up story, it has happened already more than 1 times.

          So the question is, now that you know your LLM can cause harm without you even knowing it, how does this change your stance?

          • mvt67 3 hours ago

            Already have whatsapp and signal for this. Hardly need a website for these thing anymore.

            • bayindirh 2 hours ago

              So shall we build more walls around our content and make it anti-FAIR?

              We can stop putting information in the open in any form, as well.

              FAIR: Findable, Accessible, Interoperable, Reusable.

              • mvt67 2 hours ago

                Why do you build a wall around your house genius?

                • bayindirh 2 hours ago

                  A public website is not a house, it's something between a big board in the city square or a community center where people can meet an interact.

                  Considering that, shall we paint the boards black or lock the doors to community spaces?

                  Also, while I assume this is not your first account here, these are worthy of reminding:

                  > Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes.

                  > Throwaway accounts are ok for sensitive information, but please don't create accounts routinely. HN is a community—users should have an identity that others can relate to.

                  For more, please refer to https://news.ycombinator.com/newsguidelines.html

          • murderfs an hour ago

            The answer is that no one gives a shit: just look at people's views on adblock.

        • dd8601fn 4 hours ago

          It’s a big question mark in the conversation.

          Is defeating captchas unethical? I don’t think so. Not on its own.

          Is scraping unethical? I don’t think so. Not on its own.

          Are there tons of uses for both of those that are sketchy or outright wrong? Yeah, absolutely.

        • watwut 3 hours ago

          > The reality is that people have different ethical frameworks.

          Sure, Nazi, Hitler or Stalin all considered themselves to be the good guys. Kushner, Trump, etc are also acting within their ethical system (if I am getting money or power or fame it is ok to do it). Just about the only exception is Thiel who openly frames himself as evil, but is proud of it.

          That does not mean we cant criticize their crappy actions or "ethical frameworks".

          And yes, all the above are making deliberate decisions to be unethical assholes.

    • Cakez0r 5 hours ago

      I think it's inevitable that eventually one of the big AI companies makes something like this. It's such an obvious consumer win. "I am not a bot" checkboxes are a string and peg tethering the elephant.

    • onion2k 5 hours ago

      (using a custom side-loaded plugin that talks over websockets to a "driver")

      Is that necessary? You could start Chromium with an open debug port and use Chrome Devtools Protocol to send commands.

      • dvt 5 hours ago

        It is, because `--remote-debugging-port` is detected via the root DOM object (and that can't be changed unless you want to recompile Chromium), so for example, if you try doing a Google search with debugging enabled, you'll get blocked (usually just by being served a blank page).

        • raffraffraff 5 hours ago

          Does remote debugging port itself get detected, or does the presence of a webdriver connection to the port get detected? I believe it's the latter.

          I've had success launching the browser and using dumb dumb methods to get around the captcha before attaching playwright.

          Dumb dumb methods = wmctrl, xdotool, bash (work fine for Cloudflare's "are you human" check)

          • dvt 5 hours ago

            I think it's the latter, and that's why I think using a "normal" non-debug browser is the best idea because it's essentially undetectable. And for the record, you can technically control Chromium using IPC if you feel like adding that feature & fully rebuilding it from scratch.

        • LunaSea 5 hours ago

          Interesting, do you know what exactly changes on said root DOM node in case the remote debugging feature is enabled?

          • dvt 5 hours ago

            `navigator.webdriver` afaik, but I think there's a couple more, I did some research on it a few months ago. If using Playwright/Puppeteer, they also have a few special things injected that you have to strip.

            • LunaSea 3 hours ago

              Ah right, there are stealth plugins to remediate these types of hints I believe.

            • Cakez0r 5 hours ago

              What model did you use to build this? I recently looked in to building something similar and got refusals.

              • dvt 5 hours ago

                I built the POC by hand (just had like 3 things it could do: scroll, click, type), and then Codex used my established patterns to make it slightly more general and cleaned it up.

    • pprotas 5 hours ago

      Camoufox bypasses most blocks with no problems https://camoufox.com/

    • kurisufag 5 hours ago

      the 4get dev did the same thing a little while ago for his metasearch engine: https://git.lolcat.ca/lolcat/4play

      • dvt 5 hours ago

        Yep, it's super similar to this! I think his is a bit overengineered, but tbh I haven't built Firefox plugins in forever so that might be the way you have to do stuff on FF. All you need is the websocket plugin to have "full access" to all visited webpages, and then your driver just hooks into the DOM like normal (with the extra ws layer—and even the websocket layer can be simplified away I think).

    • d0vs 5 hours ago

      FYI Muse smashes through those captchas natively without prompting.

    • frabcus 5 hours ago

      Right, but what happens when everyone uses that at scale? Without agreements and standards it isn't pretty.

      • dvt 5 hours ago

        It's sad, but this train has left the station a quarter of a century ago imo. Many people have since become billionaires scraping the web without anyone agreeing (Google, Yahoo, and now possibly Anthropic and OpenAI).

        • csnover 5 hours ago

          There is a huge difference between a clearly identifiable, robots.txt-respecting, largely symbiotic search engine spider versus this new AI-driven casual sociopathy of firing shotguns of deliberately masked bots at sites in ways which benefit no one except for, maybe, the bot-owner.

          I agree with you, though, that the future has almost certainly already been decided, and see the eventual outcome of all this selfishness to be mandatory device attestation to access most services on the internet—which will of course never be allowed on any open platform. AI engineers who believed in freedom to compute (or just individual freedom more generally) have committed perhaps the greatest self-own in the history of our species to date.

    • kees99 5 hours ago

      Some webshops (e.g. Aliexpress) already soft-block Chromium (at least Chromium-on-Linux). I.e. such users see larger-than-usual share of captchas.

      Assuming "more people catching onto" this, expect Cloudflare and most everyone else to follow the suite.

      • dvt 5 hours ago

        Are you saying they're blocking the `User-Agent`? Because that's trivial to bypass. I'm not exactly sure what you mean by "Chromium" because that's a whole class of browsers (Edge, Brave, Chrome, etc. are all forked "Chromium" browsers).

        • kees99 5 hours ago

          Aliexpress specifically uses a javascript blob to do detection, and quite a sophisticated one. There was a recent story about that blob messing with bluetooth headphones.

          > not sure what you mean by "Chromium"

          I meant that literally. This thing: https://www.chromium.org/getting-involved/download-chromium/...

          • dvt 4 hours ago

            Here's my agentic Chromium browser browsing Aliexpress[1]. Usually I'd run it in headless mode, but wanted to test and make sure I'm getting the website proper.

            It searched for "Aliexpress" on Google and clicked the link, hence the Google UTM params.

            [1] https://imgur.com/a/eNulg11

      • kotaKat 2 hours ago

        And the worst part is humans just getting more cognitively demanding captchas.

        Some days I'm literally fatigued enough I can't clear the overly complex hCaptchas these days I keep getting forced upon me and bots sail right through this crap.

    • bel8 5 hours ago

      Interesting, how is the chromium sandboxed? profile dir cli param? or deeper like chromium engine framework embeded in the application?

      • dvt 5 hours ago

        Just simply a separate Chromium binary (not your usual browser).

    • rjtc 5 hours ago

      anyone can spin these kind of side projects and do easy talk, but the moment you actually try to use this on signed-in Linkedin or Amazon its going to fail

      the only solution is to drive your regular browser with all your sessions/cookies via an extension

      • dvt 5 hours ago

        > the only solution is to drive your regular browser with all your sessions/cookies via an extension

        This is exactly what I'm doing, but mocking/randomizing all the sessions/cookies/params (like resolution, OS, WebGL , etc.) in a separate Chromium binary. It's popular these days, but imo using your normal browser for agentic stuff is a very bad idea. These models do dumb stuff all the time.

      • carsoon 5 hours ago

        no it doesn't fail. Agents are very good at comparing traffic characteristics from a real browser and a headless/automation browser and getting it to behave in the same manner. It's a cat and mouse game for sites stopping unauthorized access but right now llm agents are ahead.

        For testing proxies should be used to avoid IP ban issues but given enough time modern agents can figure out how to bypass most of the modern scraping/automation prevention mechanisms.

        I have built and used a lot of different automations and web scraping implementations for my business and it's never got permanently stuck yet, some take a bit longer, some shorter, but all within a reasonable time with little external help they have succeeded in their tasks.

    • busssard 3 hours ago

      please release it and call it SilverSurfer

    • ares623 5 hours ago

      By describing it here you've already released it no?

  • wiether 5 hours ago

    As someone having to fight Meta's bots everyday to keep websites accessible to actual customers, I'm not surprised to read that it can be seen as something positive on the other side of the fence.

    But I'm wondering: at what cost?

    • Cakez0r 4 hours ago

      The end game will be that either your site is fully open to bots and humans alike, or your site is open to humans only(×) and requires Airport security style identity verification.

      (×) and their AI delegates

    • STRiDEX 5 hours ago

      I think for my own side projects i would require the user to login if they were making requests from those ip addresses or block.

  • kevmo314 5 hours ago

    Muse ran into a captcha and asked me if I wanted it to solve it.

    So of course I clicked yes and it dutifully convinced the site that it was not a bot.

    • xnickb 5 hours ago

      For 2(3?) decades we've been training the robots to tell traffic lights from fire hydrants. It's finally paying off.

    • Gareth321 5 hours ago

      I think this is the end of sites where it is expected that only humans may interact with them. It's been cat and mouse for a while, and some places like Reddit sell API access, but these agents are for all intents and purposes, humans interacting with the site. They're going to need to figure out new business models.

      • mejutoco 5 hours ago

        Or the captchas will evolve.

        • therein 5 hours ago

          This will be used as an excuse to normalize "scan QR code with your phone to verify you are human" along with Web Environment Integrity stuff.

  • arjunchint 5 hours ago

    their static ip's were initially good and didn't get flagged, but now most sites are recognizing their ip ranges and blocking.

    Muse's utility has significantly dropped with the blockages.

    To become truly useful again they will need to use residential proxies, but I can't see them use those due to the risks and reputational damage.

    • wraptile 4 hours ago

      Every time a new tool launches there's a good window where it can act as a scraping proxy. Back in the 2010s I used Google Translate for years to scrape hard targets like LinkedIn but these windows are much shorter these days as scraping is so much bigger.

      One thing with Muse though is that you can scrape Meta's own sites which are currently all going under login walls and restricting discovery/search entirely.

      • STRiDEX 4 hours ago

        similarly, gemini via google ai studio will happily run workloads over youtube that would be very annoying to run at scale. Especially if you needed to download the video.

    • Gareth321 5 hours ago

      Most residential proxies are already far more blocked and rate limited than any Meta IP. The internet is becoming a very weird place, where individual and "trusted" personal IPs are becoming a kind of commodity. Some sites are already scoring IPs based on usage activity - like a credit score. It's only a matter of time until this data is collated and commoditised. AI analysis is turning this up to 11.

      • iamacyborg 5 hours ago

        That doesn’t track with reality as far as I can tell.

      • simoncion 5 hours ago

        > Some sites are already scoring IPs based on usage activity - like a credit score. It's only a matter of time until this data is collated and commoditised.

        Spamhaus is nearly thirty years old and the notion of electronic distribution of IP and domain "reputation" lists is at least that old.

        I'll bet my hat that the Internet "advertising" [0] industry has been calculating and determining the reputation of individual households (if not individual users) for at least a decade.

        [0] The scare quotes are because its primary purpose these days is for dragnet private-sector surveillance.

    • sejje 5 hours ago

      they can just use the user ip. i think grok already does this.

      • koolala 5 hours ago

        How can it do this? Wouldn't you see a hundred fetch requests in your browser network tab?

      • arjunchint 4 hours ago

        bruh have you heard of CSP?

  • sixtyj 3 hours ago

    > I don’t know where this leads, but we’ll likely see more websites block Muse unless Meta prevents abuse.

    Multiply it by 1,000,000 access attempts - daily.

    It is question of time when even normal browsers would need some allowed fingerprint to go to sites otherwise caught by clouflare or similar wall.

  • gunalx 5 hours ago

    Im guessing more of the internet will be login walled from now on.