context safety score
A score of 35/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
cloaking
Page conditionally redirects based on referrer or user-agent
js obfuscation
JavaScript uses Function constructor for runtime code generation
obfuscated code
The page contains a heavily obfuscated JavaScript virtual machine runtime (_$jsvmprt) that implements a custom bytecode interpreter with hex-encoded instructions, magic number validation ('HNOJ@?RC'), and encoded opcode dispatch. This level of obfuscation goes beyond typical bot-detection and obscures the true behavior of the executed code from static analysis. (location: page.html:1 — inline <script> block, _$jsvmprt function)
obfuscated code
Secondary script block uses obfuscated helper function names (_f1, _f2, _f3) for cookie read/write operations and referrer tracking, deliberately making static analysis of credential/session handling more difficult. (location: page.html:2 — second inline <script> block)
hidden content
The page body is completely empty (<body></body>) with no visible UI content. All page behavior is driven entirely by opaque JavaScript, making the true purpose of the page invisible to users and most automated scanners. (location: page.html:1 — <body> element)
credential harvesting
The script reads cookies (_f2), writes persistent cookies with a ~1-year expiry (31536e6 ms), and also writes to sessionStorage and localStorage. The '__ac_signature', '__ac_nonce', and '__ac_referer' values are harvested and persisted, fingerprinting the visitor's session and referrer chain for tracking or later exfiltration. (location: page.html:2 — _f3(), _f2(), __ac_nonce, __ac_signature, __ac_referer cookie/storage writes)
malicious redirect
After setting tracking cookies and signatures, the script unconditionally calls window.location.reload(), forcing a page reload. This is a common pattern in bot-check/challenge pages that redirect or mutate the browsing context after planting cookies, potentially sending the user to a different destination on the next load via server-side logic. (location: page.html:2 — window.location.reload() at end of second <script> block)
curl https://api.brin.sh/domain/douyin.comCommon questions teams ask before deciding whether to use this domain in agent workflows.
douyin.com currently scores 35/100 with a suspicious verdict and low 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.