context safety score
A score of 36/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
JSFuck-style heavily obfuscated JavaScript using eval() with bracket notation arrays to construct strings and execute code at runtime. The values() function uses two eval() calls with JSFuck encoding to generate cookie values ('value_v1' and 'value') that are then further processed through an XOR cipher (key 0x6). This technique is used to hide the true nature of the cookie values from static analysis. (location: page.html:35-41 (second <script> block, values() function))
obfuscated code
Hex-encoded variable names and array-rotation obfuscation pattern consistent with tools like javascript-obfuscator. The _0x4541 array is rotated 0x127 (295) times, and a lookup function _0x2d84 is used to dereference all string literals indirectly. The obfuscated block implements an XOR encryption function 'E' exposed on the global object, used to produce cookie hash values. (location: page.html:41 (var _0x4541 = [...] block))
hidden content
The page renders entirely hidden content by default: both <section> elements have the class 'error-section--hide', making all visible text invisible on load. Content is only selectively revealed via JavaScript based on timezone detection. An AI agent or scraper reading the DOM without executing JS would see no meaningful content. (location: page.html:1 (<section id="en"> and <section id="fa"> both have error-section--hide class))
hidden content
Browser timezone fingerprinting is used to selectively display Persian (Farsi) content to users in the Tehran/Iran timezone and English content to others. This geo-targeted content switching can be used to serve different experiences to different audiences while evading uniform analysis. (location: page.html:19-29 (isTehranTimezone() function))
malicious redirect
The page is a bot-challenge/interstitial that forces a location.reload() after setting obfuscated cookies (__arcsjs and __arcsjsc). The reload is delayed by a random interval (2000-3000ms) to evade timing-based bot detection. While this pattern is used by legitimate CDN bot-management systems, the combination with heavily obfuscated cookie generation is anomalous and warrants scrutiny. (location: page.html:43-48 (DOMContentLoaded setTimeout block))
hidden content
The <title> element is intentionally left empty and is only populated dynamically from hidden section content via JavaScript (headTitleElement[0].innerHTML = pageTitle). This means page title metadata visible to crawlers, AI agents, and link-preview scrapers is blank, concealing the page's identity. (location: page.html:1 (<title></title> in <head>))
curl https://api.brin.sh/domain/irna.irCommon questions teams ask before deciding whether to use this domain in agent workflows.
irna.ir currently scores 36/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.