Is oculus.com safe?

suspiciousmedium confidence
49/100

context safety score

A score of 49/100 indicates multiple risk signals were detected. This entity shows patterns commonly associated with malicious intent.

identity
100
behavior
80
content
24
graph
30

7 threat patterns detected

medium

encoded payload

suspicious base64-like blobs detected in page content

high

prompt injection

Hidden HTML element contains AI-targeting instructions

high

brand impersonation

The URL being scanned is oculus.com, but the page served is Facebook's (Meta's) Comet/React frontend — complete with Facebook favicon (static.xx.fbcdn.net), Facebook CSS design tokens, Facebook module references (RunWWW, RunComet, ReactDOM.classic), and the html id='facebook' attribute. Oculus was acquired by Meta/Facebook, but the page renders as a full Facebook web application rather than an Oculus-branded experience, creating a brand identity mismatch that could confuse users or AI agents expecting Oculus content. (location: page.html:1 — <html id='facebook'>, favicon href pointing to static.xx.fbcdn.net, and all script/CSS resources from fbcdn.net)

medium

malicious redirect

A request to oculus.com resolves and serves a Facebook (fbcdn.net) application shell with no visible Oculus content. The page body contains only an empty mount div (<div id='mount_0_0_es'></div>) and all content is loaded dynamically via Facebook's Comet JS framework. This constitutes a silent domain-level redirect/takeover of the oculus.com namespace to serve Facebook's platform, which an AI agent navigating to oculus.com would not anticipate. (location: page.html:12 — <body> contains only <div id='mount_0_0_es'></div> with no rendered Oculus content)

medium

hidden content

Line 35 of page.html contains an extremely long run of whitespace (hundreds of space characters) immediately before a script tag, consistent with a technique used to push content out of visible viewport or evade simple pattern-matching scanners that truncate long lines. The surrounding script tag injects tier-two timing data. (location: page.html:35 — leading whitespace block of ~900+ characters before the qplTimingsServerJS tierTwo script tag)

low

obfuscated code

Multiple inline scripts use data:text/javascript;base64 URIs to deliver executable JavaScript. The base64 payload decodes to: requireLazy(["ServerJSPayloadListener"],function(m){m.process();},null,0x100) — a deferred module loader. While this specific payload is benign Facebook boilerplate, the pattern of embedding base64-encoded executable scripts inline throughout the page (repeated ~20 times) is a known obfuscation technique that hides executable code from casual inspection. (location: page.html:2,5,7,14,16,20,22,24,26,28 (and repeated throughout) — <script src='data:text/javascript;base64,cmVxdWlyZUxhen...'> tags)

low

hidden content

TLS certificate expires in only 7 days (days_until_expiry: 7 per metadata.json). While not a content threat, an imminently expiring certificate on a high-traffic domain is anomalous and could indicate a lapsed or transitional infrastructure state, or a newly stood-up phishing mirror that hasn't yet established long-lived certificates. (location: metadata.json — tls.days_until_expiry: 7)

API

curl https://api.brin.sh/domain/oculus.com

FAQ: how to interpret this assessment

Common questions teams ask before deciding whether to use this domain in agent workflows.

Is oculus.com safe for AI agents to use?

oculus.com currently scores 49/100 with a suspicious verdict and medium confidence. The goal is to protect agents from high-risk context before they act on it. Treat this as a decision signal: higher scores suggest lower observed risk, while lower scores mean you should add review or block this domain.

How should I interpret the score and verdict?

Use the score as a policy threshold: 80–100 is safe, 50–79 is caution, 20–49 is suspicious, and 0–19 is dangerous. Teams often auto-allow safe, require human review for caution/suspicious, and block dangerous.

How does brin compute this domain score?

brin evaluates four dimensions: identity (source trust), behavior (runtime patterns), content (malicious instructions), and graph (relationship risk). Analysis runs in tiers: static signals, deterministic pattern checks, then AI semantic analysis when needed.

What do identity, behavior, content, and graph mean for this domain?

Identity checks source trust, behavior checks unusual runtime patterns, content checks for malicious instructions, and graph checks risky relationships to other entities. Looking at sub-scores helps you understand why an entity passed or failed.

Why does brin scan packages, repos, skills, MCP servers, pages, and commits?

brin performs risk assessments on external context before it reaches an AI agent. It scores that context for threats like prompt injection, hijacking, credential harvesting, and supply chain attacks, so teams can decide whether to block, review, or proceed safely.

Can I rely on a safe verdict as a full security guarantee?

No. A safe verdict means no significant risk signals were detected in this scan. It is not a formal guarantee; assessments are automated and point-in-time, so combine scores with your own controls and periodic re-checks.

When should I re-check before using an entity?

Re-check before high-impact actions such as installs, upgrades, connecting MCP servers, executing remote code, or granting secrets. Use the API in CI or runtime gates so decisions are based on the latest scan.

Learn more in threat detection docs, how scoring works, and the API overview.

Last Scanned

March 4, 2026

Verdict Scale

safe80–100
caution50–79
suspicious20–49
dangerous0–19

Disclaimer

Assessments are automated and may contain errors. Findings are risk indicators, not confirmed threats. This is a point-in-time assessment; security posture can change.

start scoring agent dependencies.

integrate brin in minutes — one GET request is all it takes. query the api, browse the registry, or download the full dataset.