context safety score
A score of 49/100 indicates multiple risk signals were detected. This entity shows patterns commonly associated with malicious intent.
encoded payload
suspicious base64-like blobs detected in page content
prompt injection
Hidden HTML element contains AI-targeting instructions
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)
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)
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)
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)
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)
curl https://api.brin.sh/domain/oculus.comCommon questions teams ask before deciding whether to use this domain in agent workflows.
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.
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.
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.
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.
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.
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.
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.
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.
integrate brin in minutes — one GET request is all it takes. query the api, browse the registry, or download the full dataset.