Agentic AI and the CFAA: Why the Ninth Circuit Ruled That Perplexity’s Browser Didn’t Access Amazon’s Computers + Video

Listen to this Post

Featured Image

Introduction:

The Computer Fraud and Abuse Act (CFAA), enacted in 1984 to combat computer hacking, has become the primary federal statute governing unauthorized access to protected computers. On August 4, 2026, the Ninth Circuit Court of Appeals vacated a preliminary injunction that had barred Perplexity AI’s agentic web browser from interacting with Amazon.com, ruling that Amazon was unlikely to succeed in proving that Perplexity “accessed” Amazon’s computers within the meaning of the CFAA. This landmark decision—the first of its kind addressing agentic AI under the CFAA—fundamentally redefines how courts may attribute liability for autonomous AI agents operating on behalf of users.

Learning Objectives:

  • Understand the CFAA’s “access” requirement and why the Ninth Circuit held that Perplexity’s AI Assistant did not constitute unauthorized access
  • Analyze the technical architecture of agentic AI browsers and how they differ from traditional web scraping tools
  • Identify practical security controls—including user-agent string policies, rate limiting, and WAF configurations—to defend against unauthorized AI agent activity
  • Evaluate the legal and compliance implications for organizations deploying or defending against agentic AI systems

You Should Know:

1. The CFAA “Access” Requirement: Why Perplexity Won

To succeed on a claim under 18 U.S.C. § 1030(a)(2), a plaintiff must prove that the defendant “(1) intentionally accessed a computer, (2) without authorization or exceeding authorized access, and (3) thereby obtained information (4) from any protected computer,” with aggregate losses of at least $5,000. The Ninth Circuit held that Amazon failed at the first element: Perplexity did not “access” Amazon’s computers.

The court’s reasoning turned on a critical distinction: the user, not Perplexity, accessed Amazon.com using the Comet browser’s Assistant as a tool. When a user directs the Assistant to locate an item on Amazon.com, the Assistant takes screenshots of the browser view, sends those screenshots to Perplexity’s servers, and receives instructions on how to navigate Amazon.com. Critically, Perplexity’s servers never directly communicate with Amazon’s servers. The court emphasized that “however advanced the Assistant currently is, it is a tool, not a person for statutory purposes”.

The court further reinforced its holding with the rule of lenity, noting that the CFAA is “primarily a criminal statute” and that “any ambiguity” should be construed against liability. Judge John Hinderaker specifically warned that the 1986 CFAA was “not designed for AI-agent circumstances” and that extending the statute into this new domain could create “unintended consequences”.

Step‑by‑step guide to understanding CFAA access analysis:

  1. Identify the alleged “accessor”: Determine whether the defendant’s systems directly communicate with the target’s servers or whether the user’s local machine serves as the intermediary.
  2. Trace the data flow: Map whether data travels from the target’s server → user’s machine → defendant’s servers (user-mediated), or directly from the target’s server → defendant’s servers (direct access).
  3. Assess agency: Evaluate whether the AI agent operates autonomously or as a tool directed by the user. The Ninth Circuit emphasized that the Assistant “relies on direction from the user”.
  4. Apply the rule of lenity: Where the statute is ambiguous regarding whether AI constitutes an “accessor,” courts will construe ambiguity against liability.

  5. User-Agent Strings: The Technical Heart of the Dispute

At the core of the Amazon-Perplexity dispute was a small but consequential technical detail: Perplexity’s Comet browser, which is Chromium-based, did not use a unique user-agent string to identify itself as an AI agent. Instead, it transmitted the same user-agent string used by Google Chrome, effectively making the AI agent appear as though a human customer was browsing Amazon’s website.

Amazon had informed Perplexity that its AI products would not be permitted to access the Amazon Store. The use of a non-identifying user-agent string allowed the Assistant to bypass Amazon’s detection and blocking mechanisms. The parties disputed whether Perplexity knowingly altered the Assistant’s user-agent string after Amazon initially succeeded in identifying and blocking it.

Technical commands and configurations for user-agent management:

Linux/macOS – View and modify user-agent strings with curl:

 View current user-agent
curl -I https://www.amazon.com

Set custom user-agent
curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" https://www.amazon.com

Identify as a bot (responsible scraping)
curl -A "MyBot/1.0 (+https://example.com/bot)" https://www.amazon.com

Windows PowerShell – User-agent inspection:

 Fetch headers to see user-agent
Invoke-WebRequest -Uri https://www.amazon.com -Method Head

Set custom user-agent
$headers = @{"User-Agent" = "MyBot/1.0"}
Invoke-WebRequest -Uri https://www.amazon.com -Headers $headers

Nginx – Block requests based on user-agent:

 Block AI agents that don't identify themselves
if ($http_user_agent ~ "(perplexity|ai-agent|bot|crawler)" ) {
return 403;
}

Allow only identified bots
if ($http_user_agent !~ "(Googlebot|Bingbot|MyBot)" ) {
return 403;
}

AWS WAF – Bot control rule (CLI):

aws wafv2 create-rule-group --1ame BotControlRuleGroup --scope REGIONAL \
--capacity 500 --description "Block unidentified bots" \
--rules file://bot-control-rule.json

The Electronic Frontier Foundation (EFF), which filed an amicus brief supporting Perplexity, argued that requiring AI agents to identify themselves through user-agent strings is a matter of voluntary compliance, not legal obligation. However, responsible crawlers typically identify themselves to allow organizations to decide whether to allow or block them.

  1. Defending Against Unauthorized AI Agents: Practical Security Controls

While the Ninth Circuit ruled that Perplexity did not violate the CFAA, organizations remain vulnerable to automated AI agents that scrape content, degrade user experience, or impose operational costs. The decision does not impair Amazon’s “ability to regulate access to Amazon.com” through technical means.

Step‑by‑step guide to implementing AI agent defenses:

Step 1: Implement rate limiting

Rate limiting remains one of the most effective defenses against automated agents. Bots often stay just under rate limits, making behavioral analysis critical.

Linux – Rate limiting with iptables:

 Limit connections per IP to 100 per minute
iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 100 -j DROP

NGINX – Rate limiting configuration:

 Define rate limit zone
limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;

Apply to location
location /api/ {
limit_req zone=api_limit burst=20 nodelay;
proxy_pass http://backend;
}

Step 2: Deploy behavioral bot detection

Traditional IP-based rate limiting is insufficient when attackers rotate IP addresses. Behavioral analysis—watching request patterns, entropy, and timing—provides more robust detection.

Python – Basic bot detection heuristic:

import time
from collections import defaultdict

request_history = defaultdict(list)

def is_bot(ip, request_time):
history = request_history[bash]
history.append(request_time)
 Keep last 60 seconds of history
history[:] = [t for t in history if time.time() - t < 60]

Bot detection: > 100 requests per minute or suspiciously regular intervals
if len(history) > 100:
return True
if len(history) > 10 and all((history[i+1] - history[bash]) < 0.5 for i in range(len(history)-1)):
return True  Too regular = bot
return False

Step 3: Configure AWS WAF Bot Control

AWS WAF Bot Control provides managed rules to detect and block malicious bots.

 Create Web ACL with bot control
aws wafv2 create-web-acl --1ame BotControlACL --scope REGIONAL \
--default-action Block={} \
--rules file://bot-control-rules.json

Example rule: Block bots that don't identify themselves
aws wafv2 create-rule --1ame BlockUnidentifiedBots \
--statement "{\"ByteMatchStatement\":{\"SearchString\":\"bot\",\"FieldToMatch\":{\"UserAgent\":{}},\"TextTransformations\":[{\"Priority\":0,\"Type\":\"LOWERCASE\"}],\"PositionalConstraint\":\"CONTAINS\"}}" \
--action Block

Step 4: Implement robots.txt and TDMRep signals

While robots.txt is not legally binding, it provides notice of access restrictions and can be relevant in legal proceedings.

 robots.txt example
User-agent: 
Disallow: /private/
User-agent: PerplexityBot
Disallow: /
  1. API Security and Cloud Hardening for AI-Protected Services

Organizations hosting APIs that may be targeted by AI agents should implement comprehensive security controls beyond basic rate limiting.

API security hardening checklist:

Step 1: Implement API key authentication with rotation

 Generate secure API key (Linux)
openssl rand -base64 32

Store in environment (Linux)
export API_KEY="generated_key_here"

Validate in Node.js
const apiKey = req.headers['x-api-key'];
if (!apiKey || apiKey !== process.env.API_KEY) {
return res.status(401).json({ error: 'Unauthorized' });
}

Step 2: Deploy IP intelligence filtering

Hosting and datacenter IPs should rarely access consumer login endpoints—these are high-probability indicators of bots.

AWS – Block datacenter IP ranges:

 Use AWS Managed Rule "AWSManagedRulesAmazonIpReputationList"
aws wafv2 update-web-acl --1ame MyWebACL --scope REGIONAL \
--rules "file://rules-with-ip-reputation.json"

Step 3: Implement fingerprint-based rate limiting

Go beyond IP-based limits by using device fingerprints as a more resilient key to track abusive behavior.

Step 4: Enable comprehensive logging and observability

 Enable AWS CloudTrail for API calls
aws cloudtrail create-trail --1ame APITrail --s3-bucket-1ame my-audit-bucket

Monitor for anomalous patterns
aws logs start-query --log-group-1ame /aws/api-gateway --start-time $(date -d '1 hour ago' +%s) \
--end-time $(date +%s) --query-string "fields @timestamp, @message | filter @message like /bot|scraper/"
  1. Legal and Compliance Implications for Agentic AI Deployments

The Ninth Circuit’s decision creates a safe harbor for AI agents that operate through user-mediated access, but it also raises critical questions for organizations deploying or defending against agentic AI.

Key compliance considerations:

Terms of Service enforcement: While the CFAA may not provide a remedy for AI agents that access platforms through user accounts, platforms can still enforce terms of service through contract law, tort claims, and technical controls.

User liability exposure: The court noted that Amazon’s interpretation “could expose users themselves to criminal liability (under a conspiracy or aiding-and-abetting theory) for facilitating Perplexity’s purported unauthorized access”. This creates potential liability for end-users who deploy AI agents on commercial platforms.

Evolving legal landscape: The court explicitly stated that its holding is limited to “access as contemplated by the CFAA and as applied to the Assistant’s interactions with Amazon.com on the record before us”. As AI technology grows “increasingly sophisticated,” the legal understanding will “doubtless change”.

What Undercode Say:

  • Agentic AI is not hacking—yet. The Ninth Circuit drew a clear line: AI agents that operate through user-mediated access do not constitute “access” under the CFAA. This distinction will shape litigation strategies for years to come.

  • User-agent transparency matters. Perplexity’s decision not to identify itself as an AI agent was central to Amazon’s complaint. Organizations deploying AI agents should consider transparent identification to mitigate legal and reputational risk.

  • Technical controls remain the first line of defense. The CFAA may not provide relief against AI agents, but rate limiting, bot detection, and WAF configurations can effectively mitigate unauthorized access.

  • The CFAA is a blunt instrument for AI governance. Commentators have long argued that the CFAA’s statutory language and enforcement history make it ill-suited for resolving disputes over agentic browsing and automated transactions. This case underscores the need for updated legislation.

  • User liability is an emerging risk. The court’s warning that users themselves could face criminal liability for facilitating AI agent access creates a new compliance dimension for both platforms and end-users.

Prediction:

  • -1 The Ninth Circuit’s narrow holding creates regulatory uncertainty. Without clear legislative guidance, businesses will face inconsistent outcomes across jurisdictions as courts grapple with agentic AI under outdated statutes.

  • -1 User-agent spoofing by AI agents will become a focal point of future litigation. Platforms will increasingly rely on technical detection and contract-based claims, but the absence of CFAA liability may embolden aggressive scraping practices.

  • +1 The decision will accelerate the development of industry standards for AI agent identification and transparency. Organizations that proactively adopt responsible disclosure practices—including clear user-agent strings and robots.txt compliance—will gain a competitive advantage.

  • +1 This case will serve as a catalyst for CFAA reform. Lawmakers and industry stakeholders will push for legislative updates that address AI agency, user-mediated access, and the scope of “access” in an era of autonomous software agents.

▶️ Related Video (74% Match):

https://www.youtube.com/watch?v=KUQ3krFaXMo

🎯Let’s Practice For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

IT/Security Reporter URL:

Reported By: https://lnkd.in/p/eRzQ3Zkp – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow UndercodeTesting & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin | 🦋BlueSky