PageSourceSearch

https://dashboard.spotlightsecurity.ai/static/js/94.8f738a27.chunk.js

js spotlightsecurity.ai collected 2026-10-05 12:42:09 UTC 5,713 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunknetwork_security_dashboard_optimized=globalThis.webpackChunknetwork_security_dashboard_optimized||[]).push([[94],{6094(t,e,o){o.d(e,{createReportPdf:()=>b});var i=o(1797),n=o(6779),s=o(4153);const r="#111532",a="#ff7130",l="#ffffff",d="#53586f",h="#dfe1e8",c="#f4f5f8",f="Montserrat",p=16,g=40,u=274,y=178;async function x(t,e,o){try{const e=await fetch(`/${t}`,{signal:o});if(!e.ok)throw new Error("Asset unavailable");return new Uint8Array(await e.arrayBuffer())}catch(i){if(null!==o&&void 0!==o&&o.aborted||i instanceof Error&&"AbortError"===i.name)throw i;throw new s.H(`The PDF ${e} could not be loaded. Please try again.`)}}function F(t,e){t.setFillColor(r),t.rect(0,0,210,28,"F"),t.addImage(e,"PNG",16,6,14,1974/128,"spotlight-logo"),t.setFont(f,"bold"),t.setFontSize(13),t.setTextColor(l),t.text("Spotlight Security",38,13),t.setFont(f,"normal"),t.setFontSize(8),t.text("Agent-first security",38,19),t.setTextColor(a),t.setFontSize(9),t.text("Security report",194,16,{align:"right"})}class S{constructor(t,e){this.pdf=t,this.logo=e,this.y=g,F(t,e)}space(t){this.y+=t}ensure(t){this.y+t<=u||(this.pdf.addPage(),F(this.pdf,this.logo),this.y=g)}font(t,e){var o,i;this.pdf.setFont(f,e.bold?"bold":"normal"),this.pdf.setFontSize(null!==(o=e.size)&&void 0!==o?o:9.5),this.pdf.setTextColor(null!==(i=e.color)&&void 0!==i?i:r);const n=()=>{const e=this.pdf.getFont().metadata;return Array.from(t).every(t=>/[\n\r\t]/.test(t)||0!==e.characterToGlyph(t.codePointAt(0)))};if(n()||this.pdf.setFont("NotoSans","normal"),!n())throw new s.H("This report contains characters the PDF font cannot display. Export as CSV or Excel to keep the full text.");return this.pdf.getFont().fontName}text(t){var e,o;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.font(t,i),s=null!==(e=i.inset)&&void 0!==e?e:0,a=.3528*(null!==(o=i.size)&&void 0!==o?o:9.5)*1.6,l=this.pdf.splitTextToSize(t.replace(/\r\n?/g,"\n").replace(/\t/g,"    "),y-2*s);for(const x of l){var h,g;const t=this.y+a>u;this.ensure(a),t&&i.continuation&&(this.text(`${i.continuation} (continued)`,{size:8,bold:!0,color:d}),this.space(2)),this.pdf.setFont(n,n===f&&i.bold?"bold":"normal"),this.pdf.setFontSize(null!==(h=i.size)&&void 0!==h?h:9.5),this.pdf.setTextColor(null!==(g=i.color)&&void 0!==g?g:r),i.panel&&(this.pdf.setFillColor(c),this.pdf.rect(p,this.y-3.5,y,a,"F")),this.pdf.text(x,p+s,this.y),this.y+=a}}section(t,e){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e&&(this.ensure(19),this.space(3),this.text(t,{size:8,bold:!0,color:d}),this.space(2),this.text(e,{panel:o,inset:o?3:0,continuation:t}),this.space(2))}heading(t){this.ensure(24),this.space(4),this.pdf.setDrawColor(a),this.pdf.setLineWidth(.7),this.pdf.line(16,this.y-5,28,this.y-5),this.text(t,{size:15,bold:!0}),this.space(3)}severitySummary(t){const e=n.jG;this.ensure(29);const o=y/e.length;this.pdf.setFillColor(r),this.pdf.rect(16,this.y-3,y,24,"F"),e.forEach((e,i)=>{const n=p+i*o+5,s=t.filter(t=>t.severity.toLowerCase()===e).length;this.pdf.setFont(f,"bold"),this.pdf.setFontSize(17),this.pdf.setTextColor(a),this.pdf.text(String(s),n,this.y+6),this.pdf.setFontSize(7),this.pdf.setTextColor(l),this.pdf.text(e.toUpperCase(),n,this.y+14)}),this.y+=29}}async function b(t,e){if(null!==e&&void 0!==e&&e.aborted)throw new DOMException("Export cancelled.","AbortError");const o=new i.uE({format:"a4",unit:"mm",putOnlyUsedFonts:!0}),s=await async function(t,e){const[o,i,n,s]=await Promise.all([x("fonts/Montserrat-Regular.ttf","font",e),x("fonts/Montserrat-Bold.ttf","font",e),x("fonts/NotoSans-Regular.ttf","font",e),x("Spotlight%20Logo.png","branding",e)]);for(const[r,a]of[["normal",o],["bold",i]]){const e=`Montserrat-${r}.ttf`;t.addFileToVFS(e,btoa(Array.from(a,t=>String.fromCharCode(t)).join(""))),t.addFont(e,f,r)}return t.addFileToVFS("NotoSans-Regular.ttf",btoa(Array.from(n,t=>String.fromCharCode(t)).join(""))),t.addFont("NotoSans-Regular.ttf","NotoSans","normal"),t.setFont(f,"normal"),s}(o,e);if(null!==e&&void 0!==e&&e.aborted)throw new DOMException("Export cancelled.","AbortError");o.setProperties({title:t.title,author:"Spotlight Security",subject:"Security report"});const r=new S(o,s);r.text(t.title,{size:22}),r.space(5),(0,n.QW)(t).slice(1,5).filter(t=>{let[,e]=t;return""!==e}
1).forEach(t=>{let[e,o]=t;r.section(String(e),String(o))}),r.heading("Report overview"),r.text(`${t.findings.length} ${1===t.findings.length?"finding":"findings"} in this report`,{bold:!0}),r.space(6),r.severitySummary(t.findings),r.text("Scope: All report findings, including acknowledged findings when available.",{size:8});const a=t.findings.filter(t=>!n.jG.some(e=>e===t.severity.toLowerCase())).length;return a&&r.text(`Other severities: ${a}`,{size:8}),r.space(10),0===t.findings.length&&r.text("No findings in this report."),t.findings.forEach((e,o)=>{r.heading(`Finding ${o+1} / ${t.findings.length}`),r.text(`${e.severity.toUpperCase()} | ${e.type}`,{size:12,bold:!0,continuation:`Finding ${o+1}`}),function(t){return[["Description",t.description],["Recommended actions",t.actions],["Evidence",t.evidence],["Explanation",t.explanation],["Device ID",t.deviceId],["Resource ID",t.resourceId],["Acknowledged",t.acknowledged],["MITRE ATT&CK",t.mitre],["Additional details",t.details]]}(e).forEach(t=>{let[e,o]=t;return r.section(e,o,"Evidence"===e)}),r.space(8)}),function(t){const e=t.getNumberOfPages();for(let o=1;o<=e;o+=1)t.setPage(o),t.setDrawColor(h),t.setLineWidth(.25),t.line(16,281,194,281),t.setFont(f,"normal"),t.setFontSize(7.5),t.setTextColor(d),t.text("Spotlight Security  |  spotlightsecurity.ai",16,287),t.text(`Page ${o} / ${e}`,194,287,{align:"right"})}(o),o.output("arraybuffer")}}}]);

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.