context safety score
A score of 39/100 indicates multiple risk signals were detected. This entity shows patterns commonly associated with malicious intent.
js obfuscation
JavaScript uses eval() with String.fromCharCode — common obfuscation
obfuscated code
Heavy JSFuck-style obfuscation used inside eval() calls within the values() function. Multiple layers of eval with character-code construction via fromCharCode and array/boolean coercion patterns hide the actual string payloads being computed and stored as cookies. The true values of 'value_v1' and 'value' are deliberately concealed from static analysis. (location: page.html:35-41, second <script> block, values() function)
obfuscated code
Hex-indexed obfuscator pattern (_0x4541, _0x2d84, _0x37209d, etc.) typical of tools like javascript-obfuscator or obfuscator.io. Array rotation loop (push/shift with 0x127 iterations) is used to shuffle a string table at runtime, masking all property and keyword references used in the subsequent logic. (location: page.html:41, second <script> block, _0x4541 array and IIFE)
hidden content
The page renders as a blank intermediary 'Transferring to the website...' screen with no visible destination URL. The actual redirect target is never disclosed to the user or embedded as a plain href; it is computed entirely at runtime from obfuscated code, hiding the true destination from both users and automated scanners. (location: page.html:1-49, full page structure)
malicious redirect
After a randomized 2000-3000ms delay, the page sets two cookies (__arcsjs and __arcsjsc) computed from obfuscated/eval'd values and then calls location.reload(). This is a classic bot/browser fingerprinting gate: the reload with newly set cookies likely triggers a server-side redirect to the real destination, bypassing URL-based blocklists and hiding the final target from pre-execution analysis. (location: page.html:43-48, DOMContentLoaded setTimeout block)
social engineering
The page detects the visitor's timezone (Asia/Tehran) and browser locale to serve a Farsi-language version, while serving English to all others. This geo-targeted language switching is used to tailor the deceptive 'transferring' message to the likely Iranian audience of president.ir, reducing suspicion for the primary target demographic. (location: page.html:19-29, isTehranTimezone() function)
curl https://api.brin.sh/domain/president.irCommon questions teams ask before deciding whether to use this domain in agent workflows.
president.ir currently scores 39/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.