context safety score
A score of 40/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 loads content in transparent or zero-size iframe overlay
obfuscated code
Inline script on line 17 uses double-URI-encoding obfuscation (decodeURI(decodeURI(...))) to hide the global variable name 'admiral' and dynamically injects an external script from thebestpaints.com — an unrelated domain with no affiliation to Hartford Courant. The script tag src 'https://thebestpaints.com/h52jmmng_o5p6.index.js' is appended to the DOM at runtime via createElement/insertBefore, bypassing static analysis. This is a classic supply-chain injection or compromised tag-manager pattern. (location: page.html line 17, <script id='mng_admiral_script'>)
malicious redirect
A script from https://thebestpaints.com/h52jmmng_o5p6.index.js is silently loaded into the Hartford Courant homepage. This external domain bears no legitimate relationship to the publisher (MediaNews Group / Hartford Courant) and could redirect users, serve malicious ads, or exfiltrate data. The randomized filename pattern (h52jmmng_o5p6.index.js) is consistent with obfuscated dropper payloads. (location: page.html line 17, A.src='https://thebestpaints.com/h52jmmng_o5p6.index.js')
obfuscated code
A second inline script on line 18 uses nested double-URI-encoding to hide the string 'googletag' (the GPT ad object) and a long obfuscated localStorage key string. While the decoded target ('googletag') is a known Google ad service, the obfuscation of the key name and the localStorage read pattern attempts to conceal targeting data extraction from local storage, making static review impossible without decoding. (location: page.html line 18, second stanza of <script id='mng_admiral_script'>)
curl https://api.brin.sh/domain/courant.comCommon questions teams ask before deciding whether to use this domain in agent workflows.
courant.com currently scores 40/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.