PageSourceSearch

https://ironshield.one/_nuxt/faWFzHP6.js

js ironshield.one collected 2026-10-02 15:15:35 UTC 12,973 bytes, 1 lines download raw bytes

1import{_ as P}from"./BzJmV7KJ.js";import{_ as q}from"./vJyDiMpT.js";import{s as G,ar as R,al as U,aj as O,W as n,k as i,h as e,p as k,ac as l,ag as s,q as W,aC as D,M as y,N as p,F as v,a4 as g,aD as J,ax as K,E as Q,a3 as w,g as a,j as X,o as Y,i as Z}from"./CeY39BVA.js";import{u as ee}from"./D2o6Ozew.js";import"./6rsRyu9h.js";import"./Bbr1aimf.js";const te={class:"page space-y-5"},se={class:"flex items-start justify-between gap-4"},oe={class:"text-xl font-semibold text-white flex items-center gap-2"},re={class:"w-5 h-5",style:{color:"var(--brand-light)"},fill:"none",stroke:"currentColor","stroke-width":"1.75",viewBox:"0 0 24 24"},le={class:"text-sm mt-0.5",style:{color:"var(--text-4)"}},ne={class:"flex items-center gap-2 flex-shrink-0"},ie={class:"text-sm font-semibold text-white"},ae={class:"text-sm mt-1 leading-relaxed",style:{color:"var(--text-3)"}},de=["disabled"],ce={class:"grid grid-cols-3 gap-3"},ue={class:"rounded-xl px-4 py-3.5 flex items-center gap-3",style:{background:"var(--bg-card)",border:"1px solid var(--border)"}},pe={class:"w-8 h-8 rounded-lg flex items-center justify-center flex-shrink-0",style:{background:"rgb(var(--brand-light-rgb) / 0.1)"}},xe={class:"w-4 h-4",style:{color:"var(--brand-light)"},fill:"none",stroke:"currentColor","stroke-width":"1.75",viewBox:"0 0 24 24"},ve={class:"text-xl font-bold text-white tabular-nums"},ge={class:"text-[11px] text-zinc-500"},be={class:"rounded-xl px-4 py-3.5 flex items-center gap-3",style:{background:"var(--bg-card)",border:"1px solid var(--border)"}},he={class:"text-[11px] text-zinc-500"},fe={class:"rounded-xl px-4 py-3.5 flex items-center gap-3",style:{background:"var(--bg-card)",border:"1px solid var(--border)"}},me={class:"text-[11px] text-zinc-500"},_e={class:"flex items-center gap-2 flex-wrap"},ke={class:"flex items-center gap-1.5"},ye=["onClick"],we={class:"flex items-center gap-1.5"},Ce=["onClick"],ze={class:"relative"},Me={value:""},je=["value"],Be={class:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 w-3 h-3",style:{color:"var(--text-4)"},fill:"none",stroke:"currentColor","stroke-width":"2",viewBox:"0 0 24 24"},$e={class:"rounded-xl overflow-hidden",style:{background:"var(--bg-card)",border:"1px solid var(--border)"}},Se={key:1,class:"py-20 flex flex-col items-center gap-3"},De={class:"text-sm font-medium text-zinc-400"},Te={class:"text-xs text-zinc-600"},Ae={class:"flex-1 min-w-0 space-y-1"},Le={class:"flex items-center gap-2 flex-wrap"},Ne={class:"text-sm font-medium text-white truncate"},Ee={class:"flex items-center gap-2 flex-wrap"},Ve={class:"text-[11px] font-mono px-1.5 py-0.5 rounded",style:{color:"#a78bfa",background:"rgba(167,139,250,0.1)"}},Fe={class:"text-[11px]",style:{color:"var(--text-4)"}},He={class:"text-[11px]",style:{color:"var(--text-4)"}},Ie={class:"text-xs leading-relaxed line-clamp-1",style:{color:"var(--text-4)"}},Pe={class:"flex flex-col items-end gap-1.5 shrink-0"},qe={class:"text-[11px]",style:{color:"var(--text-4)"}},Ge={class:"w-4 h-4 shrink-0 mt-1 opacity-0 group-hover:opacity-100 transition-opacity",style:{color:"var(--text-4)"},fill:"none",stroke:"currentColor","stroke-width":"2",viewBox:"0 0 24 24"},Xe=G({__name:"index",setup(Re){R({title:"Threats",robots:"noindex, nofollow"});const{t:r}=U(),C=O(),b=w(""),d=w(""),h=w(""),T=["critical","high","medium","low"],A=["open","in_progress","resolved"],L=["Credential Access","Persistence","Execution","Privilege Escalation","Defense Evasion","Initial Access","Lateral Movement","Collection","Exfiltration"],{data:z,pending:m,refresh:N}=ee("/api/threats",{server:!1,headers:a(()=>C.token?{Authorization:`Bearer ${C.token}`}:{}),query:a(()=>({status:b.value||void 0,severity:d.value||void 0,mitre_tactic:h.value||void 0,limit:100})),watch:[b,d,h]},"$ytf3FUGmGo"),u=a(()=>z.value?.threats??[]),E=a(()=>z.value?.total??0),M=a(()=>u.value.filter(c=>c.status==="open").length),j=a(()=>u.value.filter(c=>c.severity==="critical").length),V=a(()=>u.value.filter(c=>c.severity==="high").length),B={critical:"color:#fca5a5;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.2)",high:"color:#fdba74;background:rgba(249,115,22,0.12);border:1px solid rgba(249,115,22,0.2)",medium:"color:#fde68a;background:rgba(234,179,8,0.12);border:1px solid rgba(234,179,8,0.2)",low:"color:#93c5fd;background:rgba(59,130,246,0.12);border:1px solid rgba(59,130,246,0.2)"},F={critical:"#ef4444",high:"#fb923c",medium:"#eab308",low:"#3b82f6"},$={open:"color:#ef4444;background:rgba(239,68,68,0.08);border:1px solid rgba(239,68,68,0.18)",in_progress:"color:#f59e0b;background:rgba(245,158,11,0.08);border:1px solid rgba(245,158,11,0.18)",resolved:"color:#34d399;background:rgba(52,211,153,0.08);border:1px solid rgba(52,211,153,0.18)"},S=a(()=>({open:r("threats.statusOpen"),in_progress:r("threats.statusInProgress"),resolved:r("threats.statusResolved")})),H=a(()=>[{label:r("threats.guide_scan_title"),desc:r("threats.guide_scan_desc")},{label:r("threats.guide_realtime_title"),desc:r("threats.guide_realtime_desc")},{label:r("threats.guide_triage_title"),desc:r("threats.guide_triage_desc")},{label:r("threats.guide_notify_title"),desc:r("threats.guide_notify_desc")},{label:r("threats.guide_dedup_title"),desc:r("threats.guide_dedup_desc")}]);function I(c){const o=Date.now()-new Date(c).getTime(),x=Math.floor(o/6e4);if(x<1)return"just now";if(x<60)return`${x}m ago`;const f=Math.floor(x/60);return f<24?`${f}h ago`:`${Math.floor(f/24)}d ago`}return(c,o)=>{const x=P,f=q;return n(),i("div",te,[e("div",se,[e("div",null,[e("h1",oe,[(n(),i("svg",re,[...o[3]||(o[3]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3.75m0-10.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.75c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.57-.598-3.75h-.152c-3.196 0-6.1-1.249-8.25-3.286zm0 13.036h.008v.008H12v-.008z"},null,-1)])])),k(" "+l(s(r)("threats.title")),1)]),e("p",le,l(s(r)("threats.subtitle")),1)]),e("div",ne,[W(
1x,{title:s(r)("threats.guideTitle"),description:s(r)("threats.guideDesc"),"guide-link":"/guide/threats"},{default:D(()=>[(n(!0),i(v,null,g(s(H),t=>(n(),i("div",{key:t.label,class:"flex gap-4 rounded-2xl px-5 py-4",style:{background:"var(--bg)",border:"1px solid var(--border)"}},[o[4]||(o[4]=e("div",{class:"w-1.5 h-1.5 rounded-full mt-2.5 flex-shrink-0",style:{background:"var(--brand-light)","min-width":"6px","min-height":"6px"}},null,-1)),e("div",null,[e("p",ie,l(t.label),1),e("p",ae,l(t.desc),1)])]))),128))]),_:1},8,["title","description"]),e("button",{class:"inline-flex items-center gap-1.5 text-xs font-medium px-3.5 py-2 rounded-lg transition-colors disabled:opacity-40",style:{background:"var(--bg-2)",border:"1px solid var(--border)",color:"var(--text-2)"},disabled:s(m),onClick:o[0]||(o[0]=t=>s(N)())},[(n(),i("svg",{class:y(["w-3.5 h-3.5",s(m)?"animate-spin":""]),fill:"none",stroke:"currentColor","stroke-width":"2",viewBox:"0 0 24 24"},[...o[5]||(o[5]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"},null,-1)])],2)),k(" "+l(s(r)("tickets.refresh")),1)],8,de)])]),e("div",ce,[e("div",ue,[e("div",pe,[(n(),i("svg",xe,[...o[6]||(o[6]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3.75m0-10.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.75c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.57-.598-3.75h-.152c-3.196 0-6.1-1.249-8.25-3.286zm0 13.036h.008v.008H12v-.008z"},null,-1)])]))]),e("div",null,[e("p",ve,l(s(E)),1),e("p",ge,l(s(r)("threats.total")),1)])]),e("div",be,[o[7]||(o[7]=e("div",{class:"w-8 h-8 rounded-lg flex items-center justify-center flex-shrink-0",style:{background:"rgba(239,68,68,0.1)"}},[e("svg",{class:"w-4 h-4 text-red-400",fill:"none",stroke:"currentColor","stroke-width":"1.75",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"})])],-1)),e("div",null,[e("p",{class:y(["text-xl font-bold tabular-nums",s(M)>0?"text-red-400":"text-white"])},l(s(M)),3),e("p",he,l(s(r)("threats.open")),1)])]),e("div",fe,[o[8]||(o[8]=e("div",{class:"w-8 h-8 rounded-lg flex items-center justify-center flex-shrink-0",style:{background:"rgba(251,113,133,0.1)"}},[e("svg",{class:"w-4 h-4 text-rose-400",fill:"none",stroke:"currentColor","stroke-width":"1.75",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.362 5.214A8.252 8.252 0 0112 21 8.25 8.25 0 016.038 7.048 8.287 8.287 0 009 9.6a8.983 8.983 0 013.361-6.867 8.21 8.21 0 003 2.48z"})])],-1)),e("div",null,[e("p",{class:y(["text-xl font-bold tabular-nums",s(j)>0?"text-rose-400":"text-white"])},l(s(j)+s(V)),3),e("p",me,l(s(r)("threats.criticalHigh")),1)])])]),e("div",_e,[e("div",ke,[e("button",{class:"text-[11px] font-medium px-2.5 py-1 rounded-full transition-all",style:p(s(d)?"background:var(--bg-2);color:var(--text-3);border:1px solid var(--border)":"background:var(--brand);color:#fff;border:1px solid var(--brand)"),onClick:o[1]||(o[1]=t=>d.value="")},l(s(r)("tickets.allSeverities").split(" ")[0]),5),(n(),i(v,null,g(T,t=>e("button",{key:t,class:"text-[11px] font-medium px-2.5 py-1 rounded-full transition-all capitalize",style:p(s(d)===t?B[t]:"background:var(--bg-2);color:var(--text-3);border:1px solid var(--border)"),onClick:_=>d.value=s(d)===t?"":t},[s(d)===t?(n(),i("span",{key:0,class:"inline-block w-1.5 h-1.5 rounded-full mr-1",style:p(`background:${F[t]}`)},null,4)):X("",!0),k(" "+l(t),1)],12,ye)),64))]),o[10]||(o[10]=e("div",{class:"w-px h-4",style:{background:"var(--border)"}},null,-1)),e("div",we,[(n(),i(v,null,g(A,t=>e("button",{key:t,class:"text-[11px] font-medium px-2.5 py-1 rounded-full transition-all",style:p(s(b)===t?$[t]:"background:var(--bg-2);color:var(--text-3);border:1px solid var(--border)"),onClick:_=>b.value=s(b)===t?"":t},l(s(S)[t]),13,Ce)),64))]),o[11]||(o[11]=e("div",{class:"flex-1"},null,-1)),e("div",ze,[J(e("select",{"onUpdate:modelValue":o[2]||(o[2]=t=>Q(h)?h.value=t:null),class:"text-xs pr-7 pl-3 py-1.5 rounded-lg appearance-none focus:outline-none transition-colors",style:{background:"var(--bg-2)",border:"1px solid var(--border)",color:"var(--text-2)","min-width":"10rem"}},[e("option",Me,l(s(r)("threats.allMitre")),1),(n(),i(v,null,g(L,t=>e("option",{key:t,value:t},l(t),9,je)),64))],512),[[K,s(h)]]),(n(),i("svg",Be,[...o[9]||(o[9]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 9l-7 7-7-7"},null,-1)])]))])]),e("div",$e,[s(m)&&!s(u).length?(n(),i(v,{key:0},g(5,t=>e("div",{key:t,class:"px-4 py-4 animate-pulse flex items-center gap-4",style:{"border-bottom":"1px solid var(--border)"}},[...o[12]||(o[12]=[Y('<div class="w-16 h-5 rounded-full" style="background:var(--border);"></div><div class="flex-1 space-y-1.5"><div class="w-48 h-4 rounded" style="background:var(--border);"></div><div class="w-72 h-3 rounded" style="background:var(--border);"></div></div><div class="w-12 h-4 rounded" style="background:var(--border);"></div>',3)])])),64)):s(u).length?(n(!0),i(v,{key:2},g(s(u),(t,_)=>(n(),Z(f,{key:t.id,to:`/threats/${t.id}`,class:"flex items-start gap-4 px-5 py-4 hover:bg-white/[0.02] transition-colors group",style:p(_<s(u).length-1?"border-bottom:1px solid var(--border)":"")},{default:D(()=>[e("span",{class:"text-xs font-semibold px-2.5 py-0.5 rounded-full shrink-0 mt-0.5 capitalize",style:p(B[t.severity])}
1,l(t.severity),5),e("div",Ae,[e("div",Le,[e("p",Ne,l(t.title),1)]),e("div",Ee,[e("span",Ve,l(t.mitre_technique),1),e("span",Fe,l(t.mitre_tactic),1),o[14]||(o[14]=e("span",{class:"text-[11px]",style:{color:"var(--text-4)"}},"·",-1)),e("span",He,l(s(r)("threats.findings",{n:t.finding_count})),1)]),e("p",Ie,l(t.description),1)]),e("div",Pe,[e("span",{class:"text-[11px] font-medium px-2 py-0.5 rounded-full",style:p($[t.status])},l(s(S)[t.status]),5),e("span",qe,l(I(t.created_at)),1)]),(n(),i("svg",Ge,[...o[15]||(o[15]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 5l7 7-7 7"},null,-1)])]))]),_:2},1032,["to","style"]))),128)):(n(),i("div",Se,[o[13]||(o[13]=e("div",{class:"w-12 h-12 rounded-full flex items-center justify-center",style:{background:"var(--border)",border:"1px solid var(--border)"}},[e("svg",{class:"w-5 h-5 text-zinc-600",fill:"none",stroke:"currentColor","stroke-width":"1.5",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"})])],-1)),e("p",De,l(s(r)("threats.noThreats")),1),e("p",Te,l(s(r)("threats.noThreatsDesc")),1
1)]))])])}}});export{Xe 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.