4 điểm bởi GN⁺ 2025-08-05 | 2 bình luận | Chia sẻ qua WhatsApp
  • Perplexity đã sử dụng một web crawler giấu danh tính để lách chỉ dẫn cấm crawling
  • Đã ghi nhận các hành vi như bỏ qua tệp robots.txt và thay đổi liên tục IP, User Agent
  • Trong thử nghiệm tên miền mới, đã xác nhận Perplexity vẫn truy cập nội dung website mặc dù có cài đặt cấm
  • Cloudflare đã chỉnh sửa quy tắc quản lý và loại Perplexity khỏi bot đã được xác thực chính thức để ngăn chặn các hành vi như vậy
  • Trái với các nhà vận hành bot thiện chí như OpenAI, hành vi ẩn danh của Perplexity đã bị chỉ trích

Tổng quan về hành vi dùng crawler lén của Perplexity

  • Perplexity là engine trả lời dựa trên AI, ban đầu crawl website bằng User Agent đã được khai báo chính thức
  • Tuy nhiên, khi đối mặt với việc chặn mạng, nó thay đổi User Agent để ẩn danh và cố gắng truy cập qua nhiều ASN (số hệ thống tự trị) khác nhau
  • Trong quá trình này, đã phát hiện nhiều lần cố gắng truy cập mà bỏ qua hoặc thậm chí không gửi yêu cầu tới tệp robots.txt

Nguyên tắc tin cậy giữa website và crawler cùng hành vi gây vấn đề

  • Internet đã phát triển trong nhiều thập kỷ dựa trên niềm tin, và crawler cũng phải tuân thủ các nguyên tắc minh bạch, rõ mục đích, và chuẩn hành vi
  • Crawler phải tôn trọng hướng dẫn và ưu tiên của chủ sở hữu website; hành vi quan sát được của Perplexity lần này vi phạm các nguyên tắc đó
  • Vì vậy, Cloudflare loại Perplexity khỏi danh sách bot đã được xác thực chính thức và áp dụng thêm quy tắc quản lý để phát hiện và chặn crawler lén
Quảng cáo

Trường hợp thử nghiệm và phát hiện

  • Cloudflare tạo tên miền mới để thử nghiệm hành vi crawl của Perplexity
    • Đặt robots.txt cấm tất cả truy cập tự động và thêm quy tắc WAF
    • Mặc dù chặn User Agent và IP chính thức của Perplexity, việc thu thập nội dung website vẫn được xác nhận vẫn xảy ra với danh tính được giấu
  • Perplexity thử truy cập nội dung bằng cả User Agent chính thức và User Agent lén, trong đó loại sau giả mạo trình duyệt thực tế (Chrome)
Loại Ví dụ User Agent Yêu cầu mỗi ngày
Chính thức Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user) 20.000.000~25.000.000
Ẩn danh Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 3.000.000~6.000.000
  • Perplexity dùng nhiều IP và ASN không thuộc dải IP chính thức, đồng thời liên tục thay IP để né chính sách chặn
  • Nhờ vậy, hoạt động này được nhận diện trên hàng chục nghìn domain và hàng triệu request, và Cloudflare nhận dạng crawler này bằng machine learning và tín hiệu mạng

Các trường hợp né qua của crawler lén và giới hạn

  • Khi chặn crawler lén, Perplexity cố gắng cung cấp câu trả lời bằng nguồn bên ngoài như các website khác
  • Tuy nhiên, đã quan sát thấy mức độ chi tiết của nội dung giảm đáng kể trong trường hợp này
Quảng cáo

Tiêu chuẩn cho nhà vận hành bot thiện chí và thực hành tốt của OpenAI

  • Bot vận hành tốt cần có tính minh bạch, xác định rõ danh tính, công khai mục đích hoạt động, sử dụng bot riêng cho từng hoạt động, tuân thủ quy tắc của web master (như robots.txt)
  • OpenAI cung cấp IP và User Agent chính thức cùng mục đích hoạt động của crawler một cách minh bạch, đồng thời tuân thủ chặt chẽ robots.txt
  • Trong thử nghiệm thực tế, crawler ChatGPT dừng mọi lần thử crawl bổ sung khi phát hiện cấu hình disallow hoặc chặn mạng
  • Cơ chế xác thực chuẩn hóa như Web Bot Auth cũng được áp dụng rất tích cực

Biện pháp bảo vệ và ứng phó

  • Mọi lần crawling phát sinh từ User Agent chưa được báo cáo của Perplexity đều bị hệ thống quản lý bot của Cloudflare phát hiện và chặn
  • Khách hàng đã bật quy tắc chặn bot hoặc quy tắc challenge hiện tại của Cloudflare đã nằm trong nhóm đã được bảo vệ
  • Quy tắc quản trị nhằm chặn crawler lén được cung cấp cho toàn bộ khách hàng (kể cả khách hàng miễn phí)
  • Sau khi công bố Content Independence Day, hơn 2,5 triệu website đã áp dụng chính sách cấm crawling của AI
  • Song song với nỗ lực liên tục né chặn của các nhà vận hành bot, Cloudflare cũng không ngừng hoàn thiện hệ thống phản ứng và công nghệ

Nỗ lực chính sách và triển vọng tương lai

  • Cloudflare đang tham gia tích cực cùng cộng đồng chuyên gia công nghệ và chính sách toàn cầu, trong đó có IETF, để thảo luận chuẩn hóa mở rộng robots.txt
  • Hướng tới việc thiết lập quy tắc cho crawler đáng tin cậy, và tiếp tục nhấn mạnh tính minh bạch và tuân thủ pháp luật trong môi trường AI và crawler biến đổi nhanh

2 bình luận

 
kaydash 2025-08-07

Ủng hộ Perplexity

 
GN⁺ 2025-08-05
Ý kiến từ Hacker News
  • Tôi nghĩ rằng việc giải quyết vấn đề này rất khó.

    1. Khi tôi truy cập một website với tư cách là một con người, ai cũng đồng ý rằng tôi có quyền xem nội dung.
    2. Nếu tôi cài phần mềm trên máy của mình, ví dụ chặn quảng cáo để thay đổi nội dung trước khi hiển thị, thì đó là lựa chọn của tôi, và tôi cho rằng việc che giấu điều đó với website là đúng; phần lớn người dùng cũng đồng tình, dù một số trang lại làm phiền bằng cách bắt người dùng thay đổi phần mềm đã cài.
    3. Nhưng nếu đi xa hơn một bước nữa: nội dung bị che phủ bởi quảng cáo, JavaScript và popup khiến tôi khó sử dụng trực tiếp, và tôi dùng LLM (mô hình ngôn ngữ lớn) để tóm tắt rồi đọc, tại sao truy cập web bằng Firefox của tôi lại phải chịu xử lý pháp lý khác so với LLM truy cập thay tôi?
    • Một số cửa hàng không muốn chào đón dịch vụ kiểu Instacart hay Postmates
      Bạn đi mua sắm trực tiếp hay dùng điện thoại quét hết hàng để so sánh giá thì không quan trọng
      Nhưng họ không cho phép dịch vụ bên thứ ba gửi nhân viên của mình để kiểm kê hàng hóa hoặc đến nhận hàng thay bạn sau khi đặt online
      Lý do là rất nhiều: không muốn mất quyền kiểm soát cảm nhận chất lượng sản phẩm (đồ ăn có thể bị nguội, giá có thể tăng, hoặc bị thay thế sai món), muốn nhân viên phục vụ trực tiếp để xây dựng mối quan hệ với khách, hoặc chỉ đơn giản là phản đối mô hình giao hàng của bên thứ ba
      Việc từ chối một doanh nghiệp không liên quan hoạt động trong cửa hàng offline của tôi là lựa chọn hợp lý
      Tôi nghĩ lập luận đó cũng phải áp dụng cho dịch vụ kỹ thuật số

    • Đây là vấn đề về quy mô
      Có lẽ bước tiếp theo mà bạn nói đến là
      người dùng chạy bot nghiên cứu cá nhân để đi tìm câu trả lời trên vô số website và gửi yêu cầu nhanh hơn rất nhiều so với con người
      Cần xác định nên chấp nhận đến đâu
      Crawl cá nhân có ổn không? Hay khi bot thông minh hơn và dự đoán trước người dùng sắp hỏi gì, rồi luôn crawl thông tin mới thì sao?
      Hay khi quy mô lớn hơn và bắt đầu crawl hàng loạt cho nhiều người dùng thì đó mới là vấn đề?

    • Tôi nghĩ nên phân biệt “crawler” và “fetcher” để tách bạch giữa scraping hàng loạt và agent hướng người dùng
      Gần đây tôi tham gia phát triển công cụ phát hiện AI agent (xem: https://stytch.com/blog/introducing-is-agent/); tôi tin rằng website có giá trị thật khi có thể nhận diện AI agent và đưa ra cách truy cập có giới hạn
      Ngược lại, crawler có thể mạo danh crawler có tiếng, phớt lờ robots.txt và gây hành vi xấu
      Giải pháp chuẩn hiện nay là tra cứu reverse DNS của IP, nhưng điều này cũng gây phiền cho chủ website
      Tôi nghĩ chặn toàn bộ truy cập bất thường sẽ hiệu quả hơn

    • Tôi đồng ý rằng mô hình quảng cáo có rất nhiều vấn đề
      Nhưng web nơi AI tách nhà sản xuất nội dung khỏi người dùng không phải hướng tôi muốn thấy tương lai
      Ví dụ: ai đó vận hành bản tin trả phí, công bố một phần miễn phí để thu hút khách quan tâm rồi chuyển một phần thành người dùng trả tiền
      Người làm nội dung ấy mong đợi việc “xem nội dung + up-sell (kéo đăng ký)” phải xảy ra cùng nhau
      Nếu AI crawler bỏ qua toàn bộ quy trình đó và chỉ lấy đi nội dung quan trọng, thì không còn lý do để đăng nội dung miễn phí lên web
      Nếu AI crawler thắng, cuối cùng ai cũng thiệt

    • Trên thế giới vẫn có rất nhiều trang không bị ngập quảng cáo
      Tìm kiếm truyền thống từng có thỏa thuận ngầm: “chúng tôi crawl trang của bạn để bạn giúp chúng tôi có traffic”
      Crawler cho mô hình AI private model đã phá vỡ thỏa thuận đó
      Họ tạo mô hình từ dữ liệu và trang bị chức năng QA, công ty vận hành LLM kiếm được doanh thu hàng tỷ từ tri thức lấy qua crawler, nhưng website gần như không nhận được gì
      Ngay cả khi nói chỉ lấy để trả lời truy vấn người dùng, nhà cung cấp LLM vẫn lấy phần lớn lợi nhuận, còn tác giả nội dung thực tế không nhận được ngay cả lượt truy cập
      Nếu cho rằng Perplexity bỏ qua robots.txt và chặn để lấy trang cho truy vấn người dùng là ổn, khó mà tin rằng dữ liệu đó không sẽ được dùng cho huấn luyện sau này hoặc crawl thêm

  • Tôi thấy thay đổi diễn ra rất nhanh thật thú vị
    Web có thể tốt hơn khi tập trung vào cộng đồng nhỏ hơn hoặc theo thành viên (không nhất thiết theo nghĩa địa lý, mà theo nghĩa xã hội) thay vì “toàn cầu”
    Việc nuôi dưỡng cộng đồng riêng rồi mời mọi người vào không gian riêng tư hơn có vẻ sẽ quan trọng hơn trong thời gian tới
    Web mở kiểu cũ dường như sẽ thành không gian của máy móc
    Trước đây chúng ta từng ghét “bubble (bong bóng, không gian riêng)”, nhưng bubble vốn dĩ hợp lý; miễn nó không riêng lẻ tuyệt đối thì vẫn có ý nghĩa
    Khi web đầy nội dung máy móc và nội dung do máy móc tạo, cuối cùng con người sẽ lại học cách kết nối nhau

  • Về thí nghiệm hỏi Perplexity AI và thấy nó vẫn trả lời chi tiết nội dung của domain đã chặn,
    tôi thấy bài này có kết luận mơ hồ như một bài PR chỉ trích một công ty cụ thể
    Không rõ liệu Perplexity có crawl trực tiếp (quét toàn bộ trang theo hệ thống) hay chỉ lấy một lần theo yêu cầu người dùng
    Phần lớn mọi người nghĩ hai việc này khác nhau, và cho rằng trường hợp sau dễ chấp nhận hơn nhiều so với trường hợp trước

    • Nó khiến tôi nhớ đến quảng cáo của Perplexity
      Một lần nữa, Cloudflare được đặt vào vai trò “tốt” còn Perplexity thành “tệ”, nhưng Cloudflare gần đây cũng đang marketing kiểu “cứu web” rất mạnh
      Lập luận quá nông, và cả hai bên đều bị nhìn như “cuộc chiến của các ông lớn”, nên kịch bản này có thể lại có lợi cho PR của Perplexity

    • Việc lấy trang thay cho người dùng về nguyên tắc có thể được chấp nhận, nhưng xét việc các công ty AI đã và đang coi nhẹ bản quyền cùng các quy tắc khác, tôi không thể loại trừ khả năng nội dung sẽ lại được lưu để dùng cho huấn luyện hoặc crawl thêm sau này

    • Trong đặc tả HTTP, sự phân biệt này cũng thể hiện gián tiếp
      Ở khái niệm/tên gọi “user agent” có sự tách bạch khá rõ

    • Nếu AI cache hay lưu trữ toàn bộ kết quả để nhiều người cùng dùng thì cuối cùng nó chẳng khác gì scraper
      Chỉ cần huấn luyện bằng dữ liệu cache cũng đã đủ
      Nó đóng vai trung gian lấy nội dung quan trọng và còn thu được tín hiệu giá trị dữ liệu

  • Theo phản hồi mà Perplexity gửi cho TechCrunch
    Bài viết của Cloudflare trên blog chỉ là “chiêu thức chiêu mộ bán hàng”
    Hơn nữa, họ cho rằng ảnh chụp trong blog cho thấy “không có nội dung nào đã bị truy cập”
    Họ cũng nói bot trong blog chỉ ra không phải của họ

  • Perplexity tự nó cũng đang chặn crawler

    $ curl -sI https://www.perplexity.ai | head -1
    HTTP/2 403
    

    Dù giả mạo user agent của trình duyệt thì vẫn bị chặn như nhau
    Có vẻ như họ đang áp dụng cơ chế phát hiện crawler khá tinh vi

  • Tôi nghĩ crawler “stealth” sẽ luôn thắng
    Dùng công cụ tự động hóa trình duyệt (W3C WebDriver2, Chrome DevTools Protocol) để làm scraper thì gần như không thể phát hiện được
    Có thể bật captcha, nhưng developer có thể thiết kế luồng human-in-the-loop để trong giờ làm việc nhân viên call center xử lý trực tiếp
    Cách “scrape dựa trên raster (ảnh màn hình)” đã từng xuất hiện trong testing game 15 năm trước, và kiểu này có thể khiến “cảnh sát internet” ngày nay rất bối rối

    • Lý do tôi nghĩ crawler tàng hình không thể thắng là vì cuối cùng, mọi truy cập vào website có giá trị sẽ phải đi kèm xác thực từ xa
  • Tôi cho rằng internet cần hệ thống thanh toán vi mô (micro-payment)
    Nếu crawler trả dù chỉ 1 cent cho mỗi trang, tôi sẽ chào đón crawl 24/7
    Nếu tôi tự trả 1 cent để xem nội dung, tôi không cần chịu các quy tắc quảng cáo kỳ quái như clicklab
    Truy cập miễn phí không phải lúc nào cũng phải khóa hoàn toàn (trên thực tế chắc chắn sẽ bị khóa, nhưng điều đó cũng có ý nghĩa)
    Ví dụ, Reddit có thể thu phí cao nhưng hoàn tiền cho nội dung tốt để nâng chất lượng
    Một hệ thống kiểu “nạp trước – rút ra – phạt” cũng khả thi: đặt cọc khi đăng ký, bị ban thì tịch thu, hoạt động bình thường thì hoàn lại. Mục tiêu là đơn giản hóa vận hành và nâng chất lượng nội dung
    Ý tưởng này cần thiết vì internet đang ngày càng đầy rác
    Ý tưởng khác: trả cho Google mỗi truy vấn 1 cent và có thể nhận lại tiền nếu kết quả không vừa ý
    AI của Google đo mức độ hài lòng; nếu tìm kiếm không đạt, nó chỉ hiển thị kết quả phổ biến nhất đầy quảng cáo
    Khi đó, người dùng sẽ chuyển chi phí sang engine tìm kiếm khác

  • Khi ai đó crawl bừa bãi đến mức đe dọa độ tin cậy của không gian công cộng, việc một tổ chức có uy tín như Cloudflare công khai lên án hành vi “scraping lừa đảo” là tích cực
    Bản thân tranh luận này có thể châm ngòi cho nhiều cuộc nói chuyện mới cũng đã có ý nghĩa
    Cuối cùng các bên chơi lớn cần quay lại thời kỳ mà search trước đây vẫn giữ được tối thiểu các “quy tắc”

    • Chúng ta đang ở thời đại “không còn ngại mặt mũi”, nên tôi nghĩ việc làm ai đó xấu hổ không còn hiệu quả nữa
  • Một search engine cá nhân tôi tự xây dựng cũng có thể làm được mức độ nào đó tương đương Perplexity
    So với bạn bè, nó nhận được gần nửa mỗi bên
    Engine có thể tải web page xuống cho mục đích nghiên cứu
    Nhưng gặp captcha hoặc bị chặn thì dừng luôn
    Trong khi đó, các công ty IT lớn nghĩ rằng nhờ có hàng tỷ vốn đầu tư mạo hiểm, họ có thể làm bất cứ thứ gì, và tôi rất giận dữ trước thái độ ấy

  • Có ý kiến cho rằng “với tính năng Cloudflare managed robots.txt hoặc quy tắc chặn AI crawler, hơn 2,5 triệu website đã chọn chặn toàn bộ việc học AI”
    Nhưng thực tế là CEO của Cloudflare đã áp dụng tính năng này theo mặc định cho toàn bộ khách hàng
    Với doanh nghiệp muốn AI recommend hoặc coi trọng traffic, họ nên tắt tùy chọn này để tránh thiệt hại tài chính

    • Nói “được bật theo mặc định” là dối trá
      Tôi tự kiểm tra các site của Cloudflare và thấy khi chưa cấu hình gì, tính năng này không bật mặc định
      Nếu không có robots.txt thì chỉ thấy dòng “Cân nhắc bật Cloudflare managed robots.txt”
      Nếu đã có file sẵn thì nó giữ nguyên và cảnh báo lưu lượng AI cũng đang tắt bằng tay

    • Về nhận định “muốn AI recommend thì phải tắt setting”
      Content marketing, SEO gamified và quảng cáo bùng phát đã làm xấu đi chất lượng search của Google rất nhiều
      Trong khi đó, LLM (mô hình ngôn ngữ lớn) hiện chưa thấy “game hóa” rõ rệt
      Có ngày LLM cũng có thể trở thành search méo mó như vậy, nhưng tôi hy vọng OpenAI hay Anthropic sẽ nhận ra việc chất lượng search giảm sẽ là một trong nguyên nhân khiến traffic Google tụt

    • “Khẳng định bật mặc định” là hoàn toàn sai
      Thực tế là ngay cả khi không cấu hình gì, nó vẫn không tự động “đăng ký” vào tính năng này
      Thậm chí lúc mà lập luận ấy đúng thì giờ không còn đúng nữa; còn từ đầu nó đã sai rồi