1import{a1 as h,U as o,i as d,n as s,an as i,m as n,f as e,o as C,d as L,F as z,a6 as a,h as P,ab as r,D as _,g as b,$ as V,Z as H}from"./swiper-vue.CT7r2VF_.js";import{b as D,s as G,A as N,E as F}from"./entry.C6NAXwym.js";import{b as v}from"./index.Ch8P8FU8.js";import{p as j}from"./lodash.DlfDYXFG.js";import{u as A}from"./asyncData.DIV8UA66.js";const q={},E={class:"bg-[url('~/assets/img/backgrounds/inhaus-banner.webp')] bg-no-repeat bg-cover bg-bottom pb-16"},M=e("span",{class:"sr-only"},"Spamhaus Data ",-1);function O(w,m){const c=h("ShHeading"),t=h("ShGrid");return o(),d("section",E,[s(t,{ySpace:"",class:"text-center"},{default:i(()=>[s(c,{size:"h1"},{default:i(()=>[M,n("Reputation Statistics")]),_:1})]),_:1})])}const U=D(q,[["render",O]]),W={},Z={class:"bg-[url('~/assets/img/backgrounds/bg-check.webp')] bg-no-repeat bg-cover bg-bottom mt-[-5rem] pt-[5rem] pb-16 text-white"},J=e("p",{class:"font-medium text-lg text-white"}," This is an overview of the type of abuse countries, networks, country code top-level domains (ccTLDs), generic top-level domains (gTLDs), and registrars are experiencing. ",-1),K=e("p",{class:"font-medium text-lg text-white mt-4"}," Spamhaus analyzes billions of signals daily from a global network of sensors and data shared by third parties to establish what IPs and domains facilitate malicious activities. ",-1),Q=e("p",{class:"font-medium text-sm text-white mt-4 italic"}," These statistics are not a complete picture of what is happening on the internet but a snapshot of the traffic that Spamhaus has observed over the last 30 days. ",-1);function X(w,m){const c=h("ShGrid");return o(),d("section",Z,[s(c,{ySpace:"",narrow:"",class:"text-center"},{default:i(()=>[J,K,Q]),_:1})])}const Y=D(W,[["render",X]]),tt={},et={width:"66",height:"2",viewBox:"0 0 66 2",fill:"none",xmlns:"http://www.w3.org/2000/svg"},at=e("path",{d:"M0 1L66 1.00001",stroke:"white","stroke-width":"1.42979"},null,-1),st=[at];function it(w,m){return o(),d("svg",et,st)}const ot=D(tt,[["render",it]]),nt={class:"large:inline-block mobile:hidden w-[618px]"},rt={class:"h-[60px] px-3 bg-brand-blue flex items-center justify-between text-center"},dt={class:"w-[300px]"},ct={key:0},lt=["href"],pt=e("span",{class:"sr-only"}," in Spamhaus data",-1),ut={class:"h-[296px] flex"},ht={class:"font-semibold text-2xl truncate"},gt={class:"font-light text-key-data-2"},mt={class:"text-sm font-bold"},bt={key:1},ft={class:"text-xl font-semibold truncate"},_t={class:"font-light text-key-data-3"},vt={class:"text-sm font-bold"},wt={key:1},yt={class:"text-xl font-semibold truncate"},kt={class:"font-light text-key-data-3"},St={class:"text-sm font-bold"},Tt={key:1},Lt={class:"mobile:inline-block large:hidden w-full"},Ct={class:"px-5 py-2 gap-4 bg-brand-blue flex flex-col items-center justify-between text-center"},Dt={class:"text-white text-xl font-semibold"},$t={class:"text-xl font-semibold"},It={class:"font-light text-key-data-2"},Rt={class:"text-sm font-bold"},xt={key:1},Bt={class:"text-lg font-semibold"},zt={class:"font-light text-key-data-3"},Pt={class:"text-sm font-bold"},Vt={key:1},Ht={class:"text-lg font-semibold"},Gt={class:"font-light text-key-data-3"},Nt={class:"text-sm font-bold"},Ft={key:1},jt={class:"px-5 py-2 gap-4 bg-brand-blue flex flex-col items-center justify-between text-center"},At=C({__name:"card",props:{card:{},index:{}},setup(w){const{uniqueId:m}=j;m();const c=L(()=>"bad");return L(()=>"Worst"),(t,f)=>{var S,T,I,R,x,B;const l=h("ShIcon"),$=h("VMenu"),y=h("ShHeading"),k=h("ShButton"),p=h("ShBadge"),g=ot,u=h("ShPill");return o(),d(z,null,[e("div",nt,[e("div",rt,[s($,{triggers:["hover","focus","click"],placement:"bottom",popperClass:"test",class:"inline-block"},{popper:i(()=>[e("div",dt,[n(a(t.card.tooltip)+" ",1),t.card.reputationScore?(o(),d("span",ct,[n(" - "),e("a",{class:"text-blue-lagoon font-medium",href:`/faqs/reputation-statistics/#how-is-the-bad-reputation-score-determined-for-${t.card.individual==="Registrar"?"registrars":"a-tld"}`},"learn more",8,lt),n(".")])):P("",!0)])]),default:i(()=>[s(l,{icon:"info",class:"text-white"})]),_:1}),s(y,{class:"w-fit text-xl font-semibold",variant:"light",size:"h2"},{default:i(()=>[n(a(t.card.title),1),pt]),_:1}),s(k,{variant:"tertiary",endIcon:"arrowRight",onClick:f[0]||(f[0]=Ot=>("navigateTo"in t?t.navigateTo:r(G))(t.card.link)),"aria-label":t.card.buttonText},{default:i(()=>[n("View all")]),_:1},8,["aria-label"])]),e("div",ut,[e("div",{class:_(["w-[40%] h-full p-5 flex flex-col gap-2 text-white",r(c)==="bad"?"bg-[url(~/assets/img/backgrounds/bg-worst-1.webp)]":"bg-[url(~/assets/img/backgrounds/bg-best-1.webp)]"])},[s(p,{color:"yellow"},{default:i(()=>[n("#1 "+a(t.card.individual),1)]),_:1}),e("span",ht,a(t.card.individual==="Country"?(S=r(v)(t.card.data[0].key))==null?void 0:S.country:["gTLD","ccTLD"].includes(t.card.individual)?`.${t.card.data[0].key}`:t.card.data[0].key),1),e("span",gt,a(t.card.reputationScore?parseFloat(t.card.data[0].hits.reputation_score).toLocaleStr
1ing():t.card.data[0].hits.total_today.toLocaleString()),1),s(g),e("span",mt,a(t.card.metric),1),t.card.reputationScore?(o(),d("span",bt,a(t.card.data[0].hits.total_today.toLocaleString())+" domains",1)):(o(),b(u,{key:0,direction:t.card.data[0].hits.percentage_change.sign==="positive"?"up":"down",variant:t.card.data[0].hits.percentage_change.sign==="positive"?"negative":"positive",size:"small"},{default:i(()=>[n(a(t.card.data[0].hits.percentage_change.value)+"%",1)]),_:1},8,["direction","variant"]))],2),e("div",{class:_(["w-[30%] h-full p-5 flex flex-col gap-2 text-white",r(c)==="bad"?"bg-[url(~/assets/img/backgrounds/bg-worst-2.webp)]":"bg-[url(~/assets/img/backgrounds/bg-best-2.webp)]"])},[s(p,{color:"blue",class:"mb-4"},{default:i(()=>[n("#2 "+a(t.card.individual),1)]),_:1}),e("span",ft,a(t.card.individual==="Country"?(T=r(v)(t.card.data[1].key))==null?void 0:T.country:["gTLD","ccTLD"].includes(t.card.individual)?`.${t.card.data[1].key}`:t.card.data[1].key),1),e("span",_t,a(t.card.reputationScore?parseFloat(t.card.data[1].hits.reputation_score).toLocaleString():t.card.data[1].hits.total_today.toLocaleString()),1),s(g),e("span",vt,a(t.card.metric),1),t.card.reputationScore?(o(),d("span",wt,a(t.card.data[1].hits.total_today.toLocaleString())+" domains",1)):(o(),b(u,{key:0,direction:t.card.data[1].hits.percentage_change.sign==="positive"?"up":"down",variant:t.card.data[1].hits.percentage_change.sign==="positive"?"negative":"positive",size:"small"},{default:i(()=>[n(a(t.card.data[1].hits.percentage_change.value)+"%",1)]),_:1},8,["direction","variant"]))],2),e("div",{class:_(["w-[30%] h-full p-5 flex flex-col gap-2 text-white",r(c)==="bad"?"bg-[url(~/assets/img/backgrounds/bg-worst-3.webp)]":"bg-[url(~/assets/img/backgrounds/bg-best-3.webp)]"])},[s(p,{color:"blue",class:"mb-4"},{default:i(()=>[n("#3 "+a(t.card.individual),1)]),_:1}),e("span",yt,a(t.card.individual==="Country"?(I=r(v)(t.card.data[2].key))==null?void 0:I.country:["gTLD","ccTLD"].includes(t.card.individual)?`.${t.card.data[2].key}`:t.card.data[2].key),1),e("span",kt,a(t.card.reputationScore?parseFloat(t.card.data[2].hits.reputation_score).toLocaleString():t.card.data[2].hits.total_today.toLocaleString()),1),s(g),e("span",St,a(t.card.metric),1),t.card.reputationScore?(o(),d("span",Tt,a(t.card.data[2].hits.total_today.toLocaleString())+" domains",1)):(o(),b(u,{key:0,direction:t.card.data[2].hits.percentage_change.sign==="positive"?"up":"down",variant:t.card.data[2].hits.percentage_change.sign==="positive"?"negative":"positive",size:"small"},{default:i(()=>[n(a(t.card.data[2].hits.percentage_change.value)+"%",1)]),_:1},8,["direction","variant"]))],2)])]),e("div",Lt,[e("div",Ct,[e("span",Dt,a(t.card.title),1)]),e("div",null,[e("div",{class:_(["w-full h-full p-5 flex flex-col gap-2 text-white",r(c)==="bad"?"bg-[url(~/assets/img/backgrounds/bg-worst-1.webp)]":"bg-[url(~/assets/img/backgrounds/bg-best-1.webp)]"])},[s(p,{color:"yellow"},{default:i(()=>[n("#1 "+a(t.card.individual),1)]),_:1}),e("span",$t,a(t.card.individual==="Country"?(R=r(v)(t.card.data[0].key))==null?void 0:R.country:t.card.data[0].key),1),e("span",It,a(t.card.reputationScore?t.card.data[0].hits.reputation_score.toLocaleString():t.card.data[0].hits.total_today.toLocaleString()),1),s(g),e("span",Rt,a(t.card.metric),1),t.card.reputationScore?(o(),d("span",xt,a(t.card.data[0].hits.total_today.toLocaleString())+" domains",1)):(o(),b(u,{key:0,direction:t.card.data[0].hits.percentage_change.sign==="positive"?"up":"down",variant:t.card.data[0].hits.percentage_change.sign==="positive"?"negative":"positive",size:"small"},{default:i(()=>[n(a(t.card.data[0].hits.percentage_change.value)+"%",1)]),_:1},8,["direction","variant"]))],2)]),e("div",{class:_(["w-full p-5 flex flex-col gap-2 text-white",r(c)==="bad"?"bg-[url(~/assets/img/backgrounds/bg-worst-2.webp)]":"bg-[url(~/assets/img/backgrounds/bg-best-2.webp)]"])},[s(p,{color:"blue",class:"mb-4"},{default:i(()=>[n("#2 "+a(t.card.individual),1)]),_:1}),e("span",Bt,a(t.card.individual==="Country"?(x=r(v)(t.card.data[1].key))==null?void 0:x.country:t.card.data[1].key),1),e("span",zt,a(t.card.reputationScore?t.card.data[1].hits.reputation_score.toLocaleStr
1ing():t.card.data[1].hits.total_today.toLocaleString()),1),s(g),e("span",Pt,a(t.card.metric),1),t.card.reputationScore?(o(),d("span",Vt,a(t.card.data[1].hits.total_today.toLocaleString())+" domains",1)):(o(),b(u,{key:0,direction:t.card.data[1].hits.percentage_change.sign==="positive"?"up":"down",variant:t.card.data[1].hits.percentage_change.sign==="positive"?"negative":"positive",size:"small"},{default:i(()=>[n(a(t.card.data[1].hits.percentage_change.value)+"%",1)]),_:1},8,["direction","variant"]))],2),e("div",{class:_(["w-full p-5 flex flex-col gap-2 text-white",r(c)==="bad"?"bg-[url(~/assets/img/backgrounds/bg-worst-3.webp)]":"bg-[url(~/assets/img/backgrounds/bg-best-3.webp)]"])},[s(p,{color:"blue",class:"mb-4"},{default:i(()=>[n("#3 "+a(t.card.individual),1)]),_:1}),e("span",Ht,a(t.card.individual==="Country"?(B=r(v)(t.card.data[2].key))==null?void 0:B.country:t.card.data[2].key),1),e("span",Gt,a(t.card.reputationScore?t.card.data[2].hits.reputation_score.toLocaleString():t.card.data[2].hits.total_today.toLocaleString()),1),s(g),e("span",Nt,a(t.card.metric),1),t.card.reputationScore?(o(),d("span",Ft,a(t.card.data[2].hits.total_today.toLocaleString())+" domains",1)):(o(),b(u,{key:0,direction:t.card.data[2].hits.percentage_change.sign==="positive"?"up":"down",variant:t.card.data[2].hits.percentage_change.sign==="positive"?"negative":"positive",size:"small"},{default:i(()=>[n(a(t.card.data[2].hits.percentage_change.value)+"%",1)]),_:1},8,["direction","variant"]))],2),e("div",jt,[s(k,{variant:"tertiary",endIcon:"arrowRight",href:t.card.link,"aria-label":t.card.buttonText},{default:i(()=>[n("View all")]),_:1},8,["href","aria-label"])])])],64)}}}),qt={class:"bg-[url('@/assets/img/backgrounds/bg-faq.webp')] bg-top -mt-[5rem] pt-[6rem]"},Et={class:"flex flex-wrap gap-2 gap-y-[40px] justify-center"},Mt=C({__name:"index",props:{highlights:{}},setup(w){return(m,c)=>{const t=At,f=h("ShGrid");return o(),d("section",qt,[s(f,{ySpace:""},{default:i(()=>[e("div",Et,[(o(!0),d(z,null,V(m.highlights,l=>(o(),b(t,{key:l.title,card:l},null,8,["card"]))),128))])]),_:1})])}}}),Qt=C({__name:"index",setup(w){const m=F(),{setBreadcrumbs:c,setPageTitle:t,setPageDescription:f}=N();c([{text:"Reputation Data"},{text:"Reputation Statistics",href:"/reputation-statistics/"}]),t("Networks, Countries, Registrars & TLD charts | Statistics"),f("Spamhaus' analysis of malicious IPs and domains, showing the types of abuse countries, networks, ccTLDs, gTLDs and registrars are experiencing.");const l=H(null);(async()=>{await A("overview",()=>$fetch(`${m.public.STATISTICS_API_URL}/api/v1/stats/overview`)).then(p=>{l.value=p.data.value})})();const y=p=>p.sort((g,u)=>u.hits.reputation_score-g.hits.reputation_score),k=L(()=>l.value?{countries:{title:"Top countries for botnet C&Cs",individual:"Country",data:l.value.data.top_botnets_by_country.rankings,metric:"Botnet command and controllers",link:"/reputation-statistics/countries/botnet/",buttonText:"View all exploits, botnet C&C, spam & malware distribution sites by country",tooltip:"The total number of IPs hosting botnet command and controllers (C&Cs) in our datasets today, with 30-day % difference."},isps:{title:"Top networks for exploited IPs",individual:"Network",data:l.value.data.top_networks_by_exploited_ips.rankings,metric:"Exploited IPs",link:"/reputation-statistics/networks/exploit/",buttonText:"View all exploits, botnet C&C, spam & malware distribution sites by network",tooltip:"The total number of IPs associated with exploited IPs, in our datasets today, with 30-day % difference"},gtlds:{title:"Top gTLDs associated with malware",individual:"gTLD",reputationScore:!0,data:y(l.value.data.top_malware_generic_tlds.rankings),metric:"Bad reputation score for malware",link:"/reputation-statistics/gtlds/malware/",buttonText:"View all botnet C&Cs, malware, phishing and spam domains by gTLD",tooltip:'The bad reputation score reflects the number of malware domains sponsored by the TLD divided by the total number of observed domains from the past four weeks, multiplied by a factor to give a higher weighting to entities with a greater number of malicious domains. "Domains" is the number of malware domains sponsored by the TLD in our dataset today'},cctlds:{title:"Top ccTLDs associated with phishing",individual:"ccTLD",reputationScore:!0,data:y(l.value.data.top_phishing_country_tlds.rankings),metric:"Bad reputation score for phishing",link:"/reputation-statistics/cctlds/phishing/",buttonText:"View all botnet C&Cs, malware, phishing and spam domains by ccTLD",tooltip:'The bad reputation score reflects the number of phishing domains sponsored by the TLD divided by the total number of observed domains from the past four weeks, multiplied by a factor to give a higher weighting to entities with a greater number of malicious domains. "Domains" is the number of phishing domains sponsored by the TLD in our dataset today'},registrars:{title:"Top registrars sponsoring bad domains",individual:"Registrar",reputationScore:!0,data:y(l.value.data.top_registrars.rankings),metric:"Bad reputation score for total malicious domains",link:"/reputation-statistics/registrars/domains/",tooltip:'The bad reputation score reflects the number of malicious domains divided by the total number of observed domains from the past four weeks, multiplied by a factor to give a higher weighting to entities with a greater number of malicious domains. "Domains" is the number of malicious domains sponsored by the registrar in our dataset today'}}:{});return(p,g)=>{const u=U,S=Y,T=Mt;return o(),d("main",null,[s(u,{class:"z-50 relative"}),s(S,{class:"z-40 relative"}),s(T,{highlights:r(k),class:"z-30 relative"},null,8,["highlights"])])}}});
1export{Qt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.